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

Управление режимом break

В Турбо Прологе есть мощные средства для управления режимом BREAK.

Предикат trap позволяет обрабатывать BREAK. Если BREAK появляется в части

программы, охваченной предикатом trap, то коду ошибки будет присвоено

значение 0. Если trap не применяется, то выполнение программы прерывается

и выполняется возврат в DOS.

Важно уяснить как работает механизм BREAK. BREAK не прерывает мгно-

венно выполнение программы. Во-первых, система Турбо Пролога должна обна-

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

познает BREAK:

- Если не применяется директива nobreak, то генерируются

коды, осуществляющие проверку нажатия клавиши Break перед

входом в каждый предикат.

- Большинство стандартных подпрограмм выполняют проверку

нажатия клавиши BREAK.

Когда система обнаруживает BREAK, то ее реакция зависит от режима,

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

к стандартному предикату trap, либо, если режим BREAK отключен, внутрен-

няя переменная получит такое значение, при котором предикат breakpressed

выполняется успешно.