logo
TurboProlog / Документация / TOM_2

Контроль во время исполнения (Run-time check)

Элементы данного меню определяют необходимость генерации компилято-

ром специального кода, выполняющего различные проверки в процессе работы

программы.

Контроль Break (Break check)

Если эта опция включена (On), то компилятор в точке входа каждого

предиката будет генерировать код, контролирующий нажатие клавиши Break.

Отключать (Off) данную опцию можно только в хорошо проверенных прог-

раммах, т.к. в противном случае бесконечный цикл приведет к необходимости

перезагрузки вашего компьютера.

Контроль стека (Stack check)

Если данная опция включена (On), то на входе каждого предиката ком-

пилятор будет генерировать код, проверяющий возникновение переполнение

стека.

Отключать (Off) эту опцию можно только в хорошо отлаженных програм-

мах, т.к. в противном случае переполнение стека приведет к общему сбою

машины.

Контроль переполнения целых (Integer overflow check)

Если эта опция включена (On), то для каждой операции над целыми ком-

пилятор сгенерирует код, контролирующий на переполнение результат этой

операции.

Уровень ошибок (Error level)

С помощью меню Error level вы можете установить тип сообщений об

ошибках во время работы программы. Всего имеется три типа сообщений. Ус-

тановка Error level в максимум (2) приведет к максимальному размеру

.EXE-файла, тогда как установка его в минимум (0) сгенерирует минимальный

файл. Данная опция соответствует директиве компилятора errorlevel.

Предупреждение о недетерминизме (Non-determ Warning)

Если эта опция включена (On), то компилятор будет выдавать сообщения

о всех недетерминированных предложениях. Данная опция соответствует ди-

рективе компилятора chec-determ.

Предупреждение о переменных (Used once Warning)

Если включить (On) эту опцию, то компилятор будет предупреждать о

всех переменных, используемых в предложении один раз. Отключать (Off) эту

опцию, соответствующую директиве компилятора nowarnings, следует только в

хорошо проверенных программах. Если же какая-то переменная действительно

должна использоваться только один раз, то вам следует заменить ее на ано-

нимную переменную.

Меню принтера вEXE-файле (PrintmenuinEXE-file)

Если эта опция включена (On), то пользователь исполняемого файла бу-

дет иметь возможность (нажав Alt-P) получить меню принтера и журнала ре-

гистрации. Это позволит пользователю выполнять эхо-печать вывода своей

программы на принтер или в файл .LOG.

Трассирование (Trace)

С помощью этого предиката вы можете указать компилятору на необходи-

мость генерации кода, осуществляющего трассирование предикатов. Имеется

два способа трассирования: Trace выводит максимальное количество информа-

ции о трассировке, тогда как ShortTrace трассирует предикаты с применени-

ем оптимизации по рекурсии.

Данные опции соответствуют директиве компилятора trace и shorttrace.

Диагностика (Diagnostics)

Подключение диагностики сообщает компилятору о необходимости выдачи

диагностических справок о компилируемой программе. С помощью Alt-P вы мо-

жете переназначить выдачу этих сообщений на принтер или в файл.

Данная опция соответствует директиве компилятора diagnostics.

Меню установки (Setup)

Меню установки вы выбираете тогда, когда хотите проверить, временно

изменить или установить постоянными любые из параметров системы Турбо

Пролога, хранящихся в файле .SYS. На рис. 1.10 показано семейство меню

Setup.

┌─────────────────────────────────────────────────────────────┐

│ Files Edit Run Compile Options Setup │

└───────────────────────────────────────────────────────┬─────┘

┌───────────────┐ ┌────────────────┐ ┌───────┴─────┐

│Color Selection├───┼Edit window├<─────────┼Colors │

│x x x x x x x x├───┼Dialog window│┌─────────┼Window size │

│x┌─┐x x x x x x├───┼Message window││┌────────┼Directories │

│x│x│x x x x x x├───┼Trace window│││ ┌──────┼Miscellaneous│

│x└─┘x x x x x x├───┼Aux edit window│││ │ ┌─┼Load SYS file│

│x x x x x x x x├───┼Line(main)menu │││ │ ├─┼Save SYS file│

│x x x x x x x x├───┼Pop-up menu │││ │ │ └─────────────┘

│x x x x x x x x├───┼Help menu │││ │ │

└───────────────┘ └────────────────┘││ │ ┌┴─--File name--──┐

┌────────────────┐ ┌─────┘│ │ │ │

│Edit window├<─────────────┘┌─────┘ │ └─────────────────┘

│Dialog window│ ┌────────┘ ┌┴─────────────────────┐

│Message window│ │ │IBM-CGA Adapter Off│

│Trace window│ │ │Auto load message Off│

│Aux edit window│ │ ┌──────────┼Screen mode 25*80│

└────────────────┘ │ │ ┌───────┼Keyboard configuration│

┌─────────────────┐ │ │ │ ┌───┼Help lines │

│Current directory│ │ │ │ │ └──────────────────────┘

│OBJ directory├<────┘ │ │ │ ┌─────────────────┐

│EXE directory│ │ │ │ │Main menu │

│Turbo directory│ │ │ └──────>┤Edit window │

└─────────────────┘ │ │ │Xedit window │

┌────────────────────┐ │ │ │Display windows │

│RowsColumnsRequires ├<──────┘ │ │Resize windows │

│ 25 80 │ │ │View windows │

│ 25 90 MultiScan│ ┌────────┴────────┐ │Printer log │

│ 25 120 EGA+ │ │ Cursor movement │ │Select file name │

│ 25 132 MultiScan│ │ Insert & delete │ │Browse directory │

│ 43 80 EGA │ │ Block functions │ │Goal (run time) │

│ 43 90 MultiScan│ │ WordStar-like │ │Trace menu │

│ 43 120 EGA+ │ │ Miscellaneous │ │Alter trace │

│ 43 132 MultiScan│ │ Global functions│ │Color celection │

│ 50 80 VGA │ │ Hot keys │ │Help for errors │

└────────────────────┘ └─────────────────┘ └─────────────────┘

Рис. 1.10: Меню установки.