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

Директива diagnostics

Директива diagnostics создает список всех предикатов и определяет

являются ли они локальными, глобальными (из внешнего модуля), или принад-

лежат к базе данных. Этот список также говорит о том, является ли преди-

кат определенным, и дает размер кода, домены аргументов и текущие образ-

цы. Здесь также дается общий размер программы и список ссылочных доменов

в модуле. (см. Главу 19.)

────────────────────────────────────────────────────────────────

Files Edit Run Compile Option Setup

┌────────────────── Editor ──────────────┐┌────── Dialog ──────┐

│Line 9 Col 12 C:EXAMPLES\CH10EX02.PRO ││ │

┌─────────────────────────── Diagnostics ──────────────────────┐

│ │

│DIAGNOSTICS FOR MODULE: C:EXAMPLES\CH10EX02.PRO │

│ │

│Predicate Name Type Determ Size Doml -- flowpattern │

│-------------- ------ ------ ----- --------------------- │

│goal local YES 26 -- │

│member local NO 66 element,list -- o,i │

│go local YES 123 list -- i │

│-------------- ------ ------ ----- --------------------- │

│Total size 215 │

│ │

│Press the SPACE bar │

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

F2-Save F3-Load F6-Switch F9-Compile Alt-X-Exit

────────────────────────────────────────────────────────────────

Рисунок 10.3 Пример вывода диагностики

Это средство полезно для поддержки и документирования больших прог-

рамм. Директива diagnostics также помогает определить "лишние" предикаты

и "ненужные" потоки параметров. Для вывода результатов диагностики на пе-

чать или в файл PROLOG.LOG вы можете воспользоваться меню Printer-Log

(Alt-P). (Более подробная информация по меню Printer-Log дается в "Спра-

вочном руководстве Турбо Пролога".)

────────────────────────────────────────────────────────────────

Files Edit Run Compile Option Setup

┌────┌────────────┐ Editor ──────────────┐┌────── Dialog ──────┐

│Line│Printer Off│WORK.PRO Ident Insert ││ │

│ │LOG file Off│ ││ │

│ └────────────┘ ││ │

│ ││ │

│ ││ │

│ ││ │

│ ││ │

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

┌─────────── Massage ──────────┐┌──────────── Trace ───────────┐

│ ││ │

│Load WORK.PRO ││ │

│ ││ │

│ ││ │

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

F2-Save F3-Load F9-Compile F10-End Alt-X-Exit

────────────────────────────────────────────────────────────────

Рисунок 10.4 Меню Priter-Log