Хелпикс

Главная

Контакты

Случайная статья





Основы синтаксиса и семантики Пролога



5. Основы синтаксиса и семантики Пролога

Мы уже написали некое количество программ на Прологе. Но чтобы иметь возможность обобщить используемые в программах элементы ещё раз  осознаем основные понятия языка.

5.1 Синтаксис

Объекты данных в Прологе называются термами.

Терм может быть константой, переменной, или составным термом.

 

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

 

Обычно имеется два типа чисел: целые и вещественные.

 

Атомы (или символы) в основном представляют собой

· последовательности произвольных знаков, заключенных в кавычки, или

· последовательности букв, цифр и знаков подчёркивания, начинающейся со строчной буквы

 

Переменные- последовательности букв, цифр и знаков подчёркивания начинающиеся с прописной буквы или знака подчёркивания.

 

Переменная, состоящая из единственного символа подчеркивания '_', называется анонимной переменной.

 

Составной терм. структура – это запись вида атом(терм1,терм2,...термn).

 

Атом, стоящий перед скобками, называется функтором, а термы в скобках аргументами или компонентами. Число компонент называют арностью структуры.

 

 


5.2 Семантика Пролога

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

 

 

5.2.1 Декларативная семантика

 

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

 

Это -  декларативнаясемантикарешения задачи, не обязательно предполагающая её выполнение.  Декларативный смысл программы состоит только в том, чтобы ответить на вопрос, является ли заданная цель истинной, и при каких значениях переменных она превращается в истинное высказывание.

 

Если нас интересует только принципиальное решение задачи, т.е.,  декларативный смысл программы, зачем вникать в подробности ее выполнения? Иногда в этом, действительно, нет необходимости. Но если надо решить именно задачу, и, желательно побыстрее,  тогда обойтись только декларативной семантикой невозможно.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.