logo
Функционально-логическое программирование Prolog, LISP

3. Структура пролог-программы

Программа на Турбо Прологе состоит из следующих семи разделов:

директивы компилятора;

CONSTANTS - раздел описания констант;

DOMAINS - раздел описания доменов;

DATABASE - раздел описания предикатов внутренней базы данных;

PREDICATES - раздел описания предикатов;

CLAUSES - раздел описания предложений;

GOAL - раздел описания внутренней цели.

В программе может быть несколько разделов описаний DOMAINS, PREDICATES, DATABASE и CLAUSES.

Порядок разделов может быть произвольным, но при этом константы, домены и предикаты должны быть определены до их использования. Однако в разделе DOMAINS можно ссылаться на домены, которые будут объявлены позже.

Рассмотрим разделы немного подробнее.

ДИРЕКТИВЫ КОМПИЛЯТОРА (Options -Compiler Directives).

TRACE применяется при отладке программы для трассирования. Если после слова trace указаны имена предикатов через запятую, то трассировка идет только по этим предикатам.

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

INCLUDE при компиляции в исходный текст можно вставить содержимое некоторого файла.

РАЗДЕЛ ОПИСАНИЯ КОНСТАНТ (<имя константы>=<значение>).

Каждое определение константы должно размещаться в отдельной строке.

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

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