и его коллегам из Эдинбургского
Kowalski) по приложениям логики к программированию. Дэвиду Уоррену (D. Warren) и его коллегам из Эдинбургского университета удалось осуществить достаточно эффективную реализацию Пролога. Имя Уоррена вошло в историю логического программирования. В его честь названа базовая техника реализации Пролога, получившая название
абстрактной машины Уоррена.
Программа на языке Пролог представляет собой набор фактов и (возможно) правил. Если программа содержит только факты, то ее называют
база данных. Если она содержит еще и правила, то часто используют термин
база знаний.
Для запуска Пролога, наберите в командной строке pl и нажмите
Enter. На экране появится приглашение для ввода запросов:
?-
Запрос (вопрос) вводится после приглашения и обязательно заканчивается точкой, например,
?- 5+4<3. No
Пролог анализирует запрос и выдает ответ
Yes (Да) в случае истинности утверждения и
No (Нет) в противном случае или когда ответ не может быть найден.
Хранят программы на языке Пролог в текстовых файлах, чаще всего имеющих расширение pl, например, example1.pl. Для того чтобы Пролог мог оперировать информацией, содержащейся в файле, он должен ознакомится с его содержимым (проконсультироваться с ним). Это можно сделать несколькими способами. При использовании первого варианта в квадратных скобках записывается имя файла (без pl), например,
?- [example1].
В случае удачного завершения этой операции будет выдано сообщение, аналогичное следующему:
% example1 compiled 0.00 sec, 612 bytes Yes
В противном случае будет выдан список ошибок (ERROR) и/или предупреждений (Warning).
Второй способ состоит в вызове встроенного предиката consult, которому в качестве аргумента передается имя файла (также без расширения), например:
?- consult(example1).
Расширение pl часто используется для файлов, содержащих программы на языке программирования Perl, поэтому можно встретить и другие расширения для файлов с программами на Прологе. Для загрузки файлов с расширениями, отличными от pl, все имя файла следует обязательно заключать в апострофы:
?- consult('example2.prolog'). ?- ['example2.prolog'].
Обе эти команды добавляют факты и правила из указанного файла в базу данных Пролога. Можно загружать несколько файлов одновременно. В этом случае они перечисляются через запятую, например,
?- [example1, 'example2.prolog'].
Важно помнить, что все запросы должны заканчиваться точкой. Если вы забудете ее поставить, то Пролог выведет символ '|' и будет ожидать дальнейшего ввода. В этом случае надо ввести точку и нажать клавишу Enter:
?- [example1] | . Yes
Содержание Назад Вперед