D3doc - Команды системы (TCL)

D3doc - Команды системы (TCL)

Форматирует исходный код FlashBASIC

Форматирует исходный код FlashBASIC программы и обновляет файл исходных кодов отформатированной записью.

bformat file.name {{item.list}|{*}} {(options}

Действие глагола "bformat" идентично "blist" с той разницей, что выходные данные не выводятся на печать, а записываются в файл, замещая прежний исходный код программы.

"file-name" - любой файл с исходным кодом FlashBASIC.

"item-list" - список имен программ, или звездочка (*), обозначающая все записи. Если имеется активный список выбранных записей, то этот параметр оставляют пустым.

Как и "blist", глагол "bformat" является таблично-управляемым. Управляющая таблица хранится в файле "messages". Идентификатор записи таблицы состоит из символов "BF", за которыми следует четырехзначный шестнадцатеричный номер. Номер таблицы содержится в строке 4 описания глагола. По умолчанию, этот номер равен 0. Следовательно, идентификатором записи таблицы по умолчанию является "BF0000". Структура этой таблицы подобна структуре управляющей таблицы глагола "blist". Единственными опциями, используемыми по умолчанию, являются "R" (перенумерация), "C" (запрет отступа комментариев) и числовые опции для указания начального номера метки оператора и приращения. Цифровые опции можно указать в управляющей таблице, а опцию "R" оставить в качестве опции прогона, т.е. указывать в командной строке. В этом случае, указывать числовые опции во время прогона не нужно.

Опции: r Перенумеровать метки предложений и все ссылки на эти метки (GOTO, GOSUB, RETURN TO).

n1-n2 Используется вместе с опцией R. Здесь n1 задает новый начальный номер метки, n2 задает шаг приращения между номерами меток. По умолчанию n1 и n2 равны 10.

Опцию R используют для перенумерации строк исходной программы, чтобы сделать ее более удобным для чтения. Если используется опция R, то строка, содержащая только восклицательный знак (!) и метку предложения, может использоваться для изменения текущего нового номера метки на номер, указанный в этой строке. Это верно до тех пор, пока номер метки текущего предложения остается больше номера, который был бы следующим (предыдущий номер метки плюс приращение). Это полезно, если конкретные метки облегчают чтение программы - например, в начале подпрограмм и т.д. Примечание: некоторые формы предложений GOTO, GOSUB и RETURN TO не перенумеровываются. Это имеет место, если между ключевым словом и меткой назначения нет пробела. Например, "GOTO20" не перенумеровывается, в отличие от "GOTO 20". Кроме того, в смеси цифровых и алфавитно-цифровых меток, следующих за ON GOTO или ON GOSUB, никакие цифровые метки после первой алфавитно-цифровой метки перенумерованы не будут.