Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Prolog.doc
Скачиваний:
31
Добавлен:
12.03.2015
Размер:
929.28 Кб
Скачать

Включение и выключение механизма трассировки

При загрузке системы Пролог трассировка обычно выключена. Механизм включения трассировки зависит от реализации системы Пролог. Ниже описаны два типичных метода включения механизма трассировки.

1. Использование механизма прерывания с клавиатуры, напри­мер одновременное нажатие клавиш CTRL и Т. Повторное нажатие клавиш CTRL и Т приводит к отключению трассировки. Программист может использовать данный метод при разработке программы за терминалом.

2. Использование предиката trace для включения режима трасси­ровки и предиката notrace для выключения. К данному методу про­граммист обращается при проверке отдельных частей программы. Предикат trace нужно вставить в программу непосредственно перед проверяемым участком, а предикат notrace - сразу после него. В ре­зультате пользователю выдается информация о трассировке для по­следовательности целевых утверждений, находящихся между этими двумя предикатами.

Если происходит повторный запуск системы Пролог после воз­никновения ошибки или срабатывания средства прерывания в конт­рольной точке, режим трассировки обычно выключается.

Предикаты, содержащие точки трассировки, запоминаются сис­темой и вызываются вновь при включении соответствующего режи­ма трассировки.

Необязательные параметры трассировки

Помимо уже описанных общих параметров трассировки, некото­рые реализации Пролога поддерживают дополнительные параметры. Благодаря им пользователь имеет возможность подключать точки трассировки к любому предикату в своей программе. После присое­динения точек трассировки пользователь может включать режим трассировки. В результате информация о трассировке будет выво­диться на терминал (или устройство печати) только в том случае, когда при выполнении программы на Прологе предикаты с точками трассировки становятся целевыми утверждениями. Количество ин­формации, появляющейся на дисплее, существенно сокращается: отображаются только предикаты, представляющие интерес для поль­зователя.

Предикаты трассировки

Встроенными обычно бывают следующие предикаты трассировки:

trace (F) Подключает точки трассировки ко всем процедурам с главным функтором F.

trace (F/A) Подключает точки трассировки ко всем процедурам с главным функтором F и арностью А.

trace ([F/A,F1/A1,…]) Подключает точки трассировки к списку процедур с функторами F, F1 и арностью А, А1 соответственно.

notrace Удаляет точки трассировки из процедур с главным функтором F.

notrace (F/A) Удаляет точки трассировки из всех процедур с главным функтором F и арностью А.

notrace ([F/A,F1/A1),...]) Удаляет точки трассировки из всех процедур с функторами F, F1 и арностью А, А1 соответ­ственно.

notraceall Этот предикат удаляет все точки трассировки, существующие в базе данных Пролога.

Режимы трассировки

Некоторые реализации Пролога позволяют пользователю выби­рать тот режим трассировки, при котором в процессе выполнения це­левого утверждения Пролога информация выдается в одной или не­скольких точках CALL , FAIL, REDO и EXIT.

Наличие таких средств также позволяет пользователю более гиб­ко управлять количеством информации, выдаваемой на терминал.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]