Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LECT_P1.DOC
Скачиваний:
22
Добавлен:
17.04.2015
Размер:
913.41 Кб
Скачать

Синтаксис термы

Объекты данных в Прологе называются термами.Терм может бытьконстантой, переменнойилисоставнымтермом (структурой). Константами являются целые и действительные числа, например:

0, -l, 123.4, 0.23E-5,

(некоторые реализации Пролога не поддерживают действительные числа).

К константам относятся также атомы, такие, как:

голди, а, атом, +, :, 'Фред Блогс', [].

Атом есть любая последовательность символов, заключенная в одинарные кавычки. Кавычки опускаются, если и без них атом мож­но отличить от символов, используемых для обозначения перемен­ных. Приведем еще несколько примеров атомов:

abcd, фред, ':', Джо.

Полный синтаксис атомов описан ниже.

Как и в других языках программирования, константы обознача­ют конкретные элементарные объекты, а все другие типы данных в Прологе составлены из сочетаний констант и переменных.

Имена переменных начинаются с заглавных букв или с символа подчеркивания "_". Примеры переменных:

X, Переменная, _3, _переменная.

Если переменная используется только один раз, необязательно называть ее. Она может быть записана как анонимнаяпеременная, состоящая из одного символа подчеркивания"_". Переменные, подо­бно атомам, являются элементарными объектами языка Пролог.

Завершает список синтаксических единиц сложный терм, или структура. Все, что не может быть отнесено к переменной или кон­станте, называется сложным термом. Следовательно, сложный терм состоит из констант и переменных.

Теперь перейдем к более детальному описанию термов.

Константы

Константы известны всем программистам. В Прологе константа может быть атомом или числом.

ATOM

Атом представляет собой произвольную последовательность сим­волов, заключенную в одинарные кавычки. Одинарный символ ка­вычки, встречающийся внутри атома, записывается дважды. Когда атом выводится на печать, внешние символы кавычек обычно не пе­чатаются. Существует несколько исключений, когда атомы необяза­тельно записывать в кавычках. Вот эти исключения:

1) атом, состоящий только из чисел, букв и символа подчеркива­ния и начинающийся со строчной буквы;

2) атом, состоящий целиком из специальных символов. К специ­альным символам относятся:

+ - * / ^ = : ; ? @ $ &

Заметим, что атом, начинающийся с /*, будет воспринят как на­чало комментария, если он не заключен в одинарные кавычки.

Как правило, в программах на Прологе используются атомы без кавычек.

Атом, который необязательно заключать в кавычки, может быть записан и в кавычках. Запись с внешними кавычками и без них опре­деляет один и тот же атом.

Внимание: допустимы случаи, когда атом не содержит ни одного символа (так называемый 'нулевой атом')или содержит непечатае­мые символы. (В Прологе имеются предикаты для построения ато­мов, содержащих непечатаемые или управляющие символы.) При выводе таких атомов на печать могут возникнуть ошибки.

ЧИСЛА

Большинство реализации Пролога поддерживают целые и дейст­вительные числа. Для того чтобы выяснить, каковы диапазоны и точ­ность, чисел следует обратиться к руководству по конкретной реали­зации.

Переменные

Понятие переменной в Прологе отличается от принятого во мно­гих языках программирования. Переменная не рассматривается как выделенный участок памяти. Она служит для обозначения объекта, на который нельзя сослаться по имени. Переменную можно считать локальным именем для некоторого объекта.

Синтаксис переменной довольно прост. Она должна начинаться с прописной буквы или символа подчеркивания и содержать только символы букв, цифр и подчеркивания.

Переменная, состоящая только из символа подчеркивания, назы­вается анонимной и используется в том случае, если имя переменной несущественно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]