Пятница, 03.05.2024, 14:20
Приветствую Вас Гость | RSS

Язык программирования ПРОЛОГ

Трассировка программы

Трассировка программы

Трассировка предполагает пошаговую выдачу информации о выполнении предикатов и значениях передаваемых переменных. Для включения трассировки вначале программы записывается директива компилятора trace или shorttrace. Включение директивы trace приостанавливает выполнение программы после каждой попытки удовлетворить подцель. В этот момент в окне трассировки выводится значение переменных и другая информация, назначение которой определяется следующими словами.

CALL – каждый раз при выводе предиката в окне трассировки отображается имя предиката и входные значения его параметров.

RETURN – предложение завершено успешно и управление передается вызывающему предикату (обратный ход). Если имеются другие предложения из раздела clauses, удовлетворяющие входным параметрам, то выводится *, обозначающая , что это предложение является точкой возврата.

FAIL – выводится, если предикат несогласовывется, за этим словом выводится имя невыполнимого предиката.

REDO – имеется возврат к предудущему состоянию (переход без изменения параметров к другому предложению для данного предикаат. Имя предиката, который повторно выполняется, вместе со значением его параметров отображается в окне трассировки.

Для продолжения выполнения программы необходимо нажать F10. Прервать выполнение программы можно клавишей ESC. Комбинация Ctrl-T во время пошагового выполнения программы позволяет включать и выключать трассировку по желанию. Если требуется производить трассировку только нескольких предикатов, то перечень этих предикатов разделяется запятыми и записывается после слова trace.

Директива shorttrace является аналогм trace, с той разницей, что в окно трассировки выводится более краткая информация. В некоторых случаях возникает необходимость получить трассировку лишь отдельного фрагмента программы. Для этйо цели в начале и конце этого фрагмента записывается стандартный предикат trace c соответствующим параметром статуса on или off. Формат стандартного предиката trace (Статус) (symbol) : (i) (o).

Директива компидятора diagnostics

Если эта директива имеется в начале программы, то выдается диагностическая таблица, в которй содержится список предикатов и их важнейшие свойства.

Type – указывает, является ли предикат локальным, глобальным или внешне определенным.

Determ – помещается информация, является ли предикат однозначным.

Size – даетс яразмер кода предиката, кроме того выводится поточный шаблон предиката и типы его параметров .

Диагностическая таблица будет выдана только при наличии в программе раздела goal.
Меню сайта
Форма входа
Поиск
Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright Long Time Ago © 2024
Сделать бесплатный сайт с uCoz