Структура программы на Турбо Прологе
Программа на Турбо Прологе состоит из следующих семи разделов:
- директивы компилятора;
- CONSTANTS - раздел описания констант;
- DOMAINS - раздел описания доменов;
- DATABASE - раздел описания предикатов внутренней базы данных;
- PREDICATES - раздел описания предикатов;
- CLAUSES - раздел описания предложений;
- GOAL - раздел описания внутренней цели.
В программе не обязательно должны быть все эти разделы. Так, например, она может состоять из одного описания цели:
GOAL write("hello"),readchar(_).
Эта программа, вполне в императивном духе, выведет сообщение (с помощью стандартного предиката write) и будет ожидать нажатия пользователем любой клавиши (стандартный предикат readchar читает символ).
Однако, как правило, программа содержит, по меньшей мере, разделы PREDICATES и CLAUSES.
Если программа запускается в среде разработки Турбо Пролога, то раздел GOAL необязателен. При написании же программы, не зависящей от среды разработки, в ней необходимо указать внутреннюю цель.
В программе может быть несколько разделов описаний DOMAINS, PREDICATES, DATABASE и CLAUSES. Однако разделов GOAL не может быть в программе более одного.
Порядок разделов может быть произвольным, но при этом константы, домены и предикаты должны быть определены до их использования. Однако в разделе DOMAINS можно ссылаться на домены, которые будут объявлены позже.
Рассмотрим разделы немного подробнее.