Объекты данных

Рис.3.1. Классификация объектов данных

Атомы, переменные и числа в Прологе относятся к простым объектам.

Для представления объектов, имеющих несколько компонент (арность которых >0) используются структурированные объекты, которые представляются в виде деревьев.

Тип объекта распознается по его синтаксической форме.

АТОМ может быть символом (symbol) или строкой(string).

Символы:

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

(например,nil | x23 | x_y | ann)

2) специальные символы, кроме тех специальных символов, которые имеют в Прологе заранее определенный смысл(например,:-если - то)

::=, <--->,... и т.д.

3) цепочки символов, заключенные в одинарные кавычки

‘Tom’ ‘Ann’ ‘X’.

Строка:

Выделяется двойными кавычками и может содержать любую комбинацию литер:

“New York”, ”We study Prolog”.

Так как symbol/string взаимозаменяемы, то их отличия несущественны.

ЧИСЛО - как обычно

ПЕРЕМЕННАЯ- цепочка, состоящая из букв, цифр, символов подчеркивания. Начинается с прописной буквы или символа подчеркивания

X Result List_student _x23

Лексической областью определения переменных является одно предложение, поэтому под переменными с одним и тем же именем в двух предложениях подразумеваются две различные переменные.

Если переменная используется в предложении только один раз, то для нее не обязательно использовать имя. В этом случае используют так называемую анонимную переменную, которая записывается как один символ подчеркивания. Каждый символ подчеркивания представляет новую анонимную переменную.

Если анонимная переменная появляется в цели, то ее значение не выводится при выдаче результата.

СТРУКТУРА -это объект, который состоит из несколькиx компонентов. Эти компоненты тоже могут быть структурами. Все структурированные объекты могут быть изображены в виде деревьев. Корнем дерева является функтор.

student(fio(“orlov”,”dmitriy”),address(“pskov”,”mira”,53))

Составной объект student имеет две части: объект fio(“orlov”,”dvitriy”) и объект address(“pskov”,”mira”,53). Функторы у этих объектов – fio и address.

С точки зрения синтаксиса все объекты данных представляют собой термы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: