- •Приложение 4-5
- •IV. Версии языка пролог СиПролог Поставщик
- •Синтаксис и встроенные предикаты
- •Директивы
- •Среда для разработки программ
- •Отладчик
- •Отладочные команды
- •Компилятор
- •Запомненные состояния
- •Интерфейс с иными языками программирования
- •Расширения языка
- •Квинтус Пролог Поставщик
- •Синтаксис и встроенные предикаты
- •Директивы
- •Среда разработки программ
- •Отладчик
- •Компилятор
- •Запомненные состояния
- •Система программирования на Прологе фирмы Сайлоджик Поставщик
- •Синтаксис и встроенные предикаты
- •Директивы
- •Среда разработки программ
- •Отладчик
- •Компилятор
- •Запомненные состояния
- •Интерфейс с иными языками программирования
- •Расширения
- •Пролог-2 Поставщик
- •Синтаксис и встроенные предикаты
- •Директивы
- •Среда разработки программ
- •Отладчик
- •Компилятор
- •Запомненные состояния
- •Интерфейс с иными языками программирования
- •Расширения
- •Эрити Пролог Поставщик
- •Синтаксис и встроенные предикаты
- •Среда разработки программ
- •Отладчик
- •Компилятор
- •Запомненные состояния
- •Расширения
- •Унсв Пролог Поставщик
- •Синтаксис и встроенные предикаты
- •Директивы
- •Среда разработки программ
- •Отладчик
- •Компилятор
- •Запомненные состояния
- •Интерфейс с иными языками программирования
- •Турбо Пролог Поставщик
- •Синтаксис и встроенные предикаты
- •Среда разработки программ
- •Отладчик
- •Запомненные состояния
- •Интерфейс с иными языками программирования
- •Расширения
- •V. Ответы к упражнениям Ответы к упражнениям
- •Глава 2
- •Глава 3
- •Глава 5
- •Глава 6
- •Глава 7
Среда разработки программ
После запуска Турбо Пролога на экране дисплея образуются четыре окна, размеры которых можно изменять: окно редактора; окно диалога, через которое осуществляется обмен данными с выполняющейся программой; окно сообщений, в котором выдаются предупреждающие сообщения компилятора и т.д., и окно трассировки, в котором отображается выходная информация отладчика. Командная строка, располагающаяся в верхней части экрана, действует подобно меню высокого уровня. С помощью этой строки легко переходить от написания программы к ее компиляции и выполнению.
Компилятор Турбо Пролога может создавать объектные файлы, которые поддаются редактированию при помощи редактора связей операционной системы MS-DOS. Так, можно написать большую программу в виде множества модулей, а затем связать их в одну выполняемую программу. Можно управлять интерфейсом между модулями при помощи объявления глобальных областей значений и глобальных предикатов (т.е. предикатов, к которым можно обращаться за пределами модуля, в котором они определяются). Программа, состоящая более чем из одного модуля, называется проектом. Проект определяется в файле библиотекаря. Каждый исходный файл, являющийся частью проекта, должен иметь в своем составе директиву компилятора "project" (см. выше первый пример исходного файла).
Отладчик
Отладчик Турбо Пролога включается директивой компилятора "trace", располагающейся в исходном файле. Если эти директива задана, то при выполнении программы будет осуществляться трассировка всех предикатов, содержащихся в файле. Трассировку можно включать и отключать при помощи запроса к встроенному предикату "trace/I". В окне трассировки будут отображаться сообщения отладчика, которые аналогичны сообщениям, выдаваемым отладчиком СиПролога. Параллельно с выдачей сообщений отладчик позиционирует курсор в окне редактирования на фразу, которая в данный момент выполняется. Это очень удобно, так как непосредственно видно, какое место программы сейчас выполняется.
Запомненные состояния
В Турбо Прологе нет ничего похожего на двоичные запомненные состояния СиПролога. Аргументом встроенного предиката "save/1 "является имя файла. Этот предикат переписывает в файл в форме, воспринимаемой человеком, все факты текущей программы, относящиеся к предикатам базы данных. (Предикат объявляется как предикат базы данных посредством директивы компилятора "database"; см. выше первый пример исходного файла.) Обратите внимание на то, что файл, создаваемый встроенным предикатом "save/1", не является исходным файлом Пролога и его нельзя компилировать, факты из этого файла можно считать назад в текущую программу, если обратиться к предикату "consult/1".
Интерфейс с иными языками программирования
Турбо Пролог позволяет подсоединять к Пролог-программе процедуры, написанные на языках Паскаль, Си, Фортран или ассемблер. Процедуры, написанные на этих языках, следует объявлять в Пролог-программе как глобальные предикаты. После того как Пролог-программа и процедуры, написанные на других языках программирования, будут оттранслированы в объектные модули, можно воспользоваться редактором связей операционной системы MS-DOS для того, чтобы связать их в выполняемую программу. Существуют средства для отображения структуры данных перечисленных языков на структуры данных Пролога и обратно, что позволяет реализовать передачу аргументов.