3. Структура пролог-программы
Программа на Турбо Прологе состоит из следующих семи разделов:
директивы компилятора;
CONSTANTS - раздел описания констант;
DOMAINS - раздел описания доменов;
DATABASE - раздел описания предикатов внутренней базы данных;
PREDICATES - раздел описания предикатов;
CLAUSES - раздел описания предложений;
GOAL - раздел описания внутренней цели.
В программе может быть несколько разделов описаний DOMAINS, PREDICATES, DATABASE и CLAUSES.
Порядок разделов может быть произвольным, но при этом константы, домены и предикаты должны быть определены до их использования. Однако в разделе DOMAINS можно ссылаться на домены, которые будут объявлены позже.
Рассмотрим разделы немного подробнее.
ДИРЕКТИВЫ КОМПИЛЯТОРА (Options -Compiler Directives).
TRACE применяется при отладке программы для трассирования. Если после слова trace указаны имена предикатов через запятую, то трассировка идет только по этим предикатам.
NOWARNINGS используется для подавления предупреждения системы о том, что какая-то переменная встречается в предложении только один раз.
INCLUDE при компиляции в исходный текст можно вставить содержимое некоторого файла.
РАЗДЕЛ ОПИСАНИЯ КОНСТАНТ (<имя константы>=<значение>).
Каждое определение константы должно размещаться в отдельной строке.
Имя константы должно быть идентификатором (состоять из английских букв, цифр и знака подчеркивания, причем не может начинаться с цифры).
Можно использовать в качестве первого символа прописные символы. Однако при использовании констант нужно задействовать в качестве первого символа только строчные символы, чтобы Пролог-система не восприняла константу как переменную.
- 2. Алгоритмы унификации
- 3. Структура пролог-программы
- Раздел описания доменов (типов).
- Раздел описания предикатов внутренней базы данных
- Раздел описания предикатов
- Раздел описания предложений
- Раздел описания внутренней цели
- 4. Организация повторов
- 8. Сортировка списков
- 9. Выборка элементов из списков
- 10. Слияние списков
- 11. Множества в прологе
- 12. Реализация деревьев в прологе
- 13. Функциональный подход программирования.
- 14. Методы обработки списков (лисп).
- 15. Определение универсальной функции.
- 16. Предикаты и истинность в лиспе.
- 17. Отображения и функционалы
- Отображения структур данных и функционалы
- 18. Имена, определения и контексты в лисп
- 19. Prog выражения и циклы в лисп Свойства атомов и категории функций
- Prog-выражения и циклы
- 20. Списки свойств атомов и структура списков
- Представление структуры списка
- 21. Числа и мультиоперации
- 22. Функционалы - общее понятие.
- 23. Безымянные функции
- 24. Экспертные системы. Реализация в пролог и лисп