- •IV. Версии языка пролог СиПролог Поставщик
- •Синтаксис и встроенные предикаты
- •Директивы
- •Среда для разработки программ
- •Отладчик
- •Отладочные команды
- •Компилятор
- •Запомненные состояния
- •Интерфейс с иными языками программирования
- •Расширения языка
- •Квинтус Пролог Поставщик
- •Синтаксис и встроенные предикаты
- •Директивы
- •Среда разработки программ
- •Отладчик
- •Компилятор
- •Запомненные состояния
- •Система программирования на Прологе фирмы Сайлоджик Поставщик
- •Синтаксис и встроенные предикаты
- •Директивы
- •Среда разработки программ
- •Отладчик
- •Компилятор
- •Запомненные состояния
- •Интерфейс с иными языками программирования
- •Расширения
- •Пролог-2 Поставщик
- •Синтаксис и встроенные предикаты
- •Директивы
- •Среда разработки программ
- •Отладчик
- •Компилятор
- •Запомненные состояния
- •Интерфейс с иными языками программирования
- •Расширения
- •Эрити Пролог Поставщик
- •Синтаксис и встроенные предикаты
- •Среда разработки программ
- •Отладчик
- •Компилятор
- •Запомненные состояния
- •Расширения
- •Унсв Пролог Поставщик
- •Синтаксис и встроенные предикаты
- •Директивы
- •Среда разработки программ
- •Отладчик
- •Компилятор
- •Запомненные состояния
- •Интерфейс с иными языками программирования
- •Турбо Пролог Поставщик
- •Синтаксис и встроенные предикаты
- •Среда разработки программ
- •Отладчик
- •Запомненные состояния
- •Интерфейс с иными языками программирования
- •Расширения
- •V. Ответы к упражнениям Ответы к упражнениям
- •Глава 2
- •Глава 3
- •Глава 5
- •Глава 6
- •Глава 7
IV. Версии языка пролог СиПролог Поставщик
Исходный текст транслятора СиПролог (CProlog), написанного на языке Си, можно получить по адресу: Отдел архитектуры. Университет Эдинбурга, Чамберс стрит, 20, Эдинбург, Великобритания, ЕН11JZ.
Эта версия легко переносится почти на любой 32-разрядный компьютер с операционной системой UNIX. Она была также перенесена на некоторые другие ЭВМ, в состав математического обеспечения которых входят трансляторы с языка Си. СиПролог, однако, не будет работать на 16-разрядных машинах. Существует обширная библиотека программ, написанных на совместимом с СиПрологом диалекте языка Пролог (the SCORE Prolog library). Эту библиотеку можно получить через Отдел информатики Стэнфордского университета и из других источников.
Синтаксис и встроенные предикаты
Синтаксис СиПролога совпадает с синтаксисом DEC-10 Пролога. Встроенные предикаты СиПролога почти полностью идентичны встроенным предикатам DEC-10 Пролога. Все программы, приведенные в данной книге, будут работать в СиПрологе. При этом как-либо модифицировать эти программы не потребуется.
Типы
Основными типами в СиПрологе являются атомы, целые числа, числа с плавающей точкой и структуры. Если в качестве аргументов арифметического выражения выступают только целые числа, то результатом вычисления этого выражения (к примеру, операции "is") будет также целое число. Если в арифметическом выражении встречаются числа с плавающей точкой, то результатом вычисления этого выражения будет число с плавающей точкой. Для выполнения деления существуют две разные операции. Результатом деления при помощи операции / всегда будет число с плавающей точкой, а результатом деления посредством операции // всегда будет целое число. Числа с плавающей точкой можно записывать в экспоненциальной форме, например: 6.1 Е10.
Символы, располагающиеся между апострофами (т.е. одиночными кавычками), например 'abc', образуют атом. Запись символов в промежутке между двойными (т.е. обычными) кавычками является альтернативной формой представления списка символов, который иногда называется строкой. Так, если интерпретатор встречает обозначение "abc", то он преобразует его в [97,98,99].
Директивы
Директивы — это команды интерпретатору, включенные в файл с текстом исходной Пролог - программы. Эти команды выполняются в момент просмотра файла с исходным текстом. Директива начинается с символов :—, которые записываются, начиная с левого края поля. Если в файл с исходным текстом включить директиву
:—write (' общий привет '), n1.
то при просмотре файла эта директива выведет в стандартный выходной поток текст «общий привет» и символ начала новой строки. Обычно в СиПрологе директивы используются для объявления операций и для обращения к другим исходным файлам. Если в исходном файле с именем "а.рl" имеются следующие директивы:
:- ор (700, xfy, ->).
:- consult ('b.pl').
то при просмотре файла "a.pl" сочетание символов -> будет обозначать инфиксную операцию (см. разд. 3.10), и будет также просмотрен исходный файл "b.pl".