|
|||
Основы синтаксиса и семантики ПрологаСтр 1 из 4Следующая ⇒ 5. Основы синтаксиса и семантики Пролога Мы уже написали некое количество программ на Прологе. Но чтобы иметь возможность обобщить используемые в программах элементы ещё раз осознаем основные понятия языка.
5.1 Синтаксис Объекты данных в Прологе называются термами. Терм может быть константой, переменной, или составным термом.
Константы бывают двух видов: числа и атомы. Они используются для именования конкретных объектов предметной области и отношений между ними.
Обычно имеется два типа чисел: целые и вещественные.
Атомы (или символы) в основном представляют собой · последовательности произвольных знаков, заключенных в кавычки, или · последовательности букв, цифр и знаков подчёркивания, начинающейся со строчной буквы
Переменные- последовательности букв, цифр и знаков подчёркивания начинающиеся с прописной буквы или знака подчёркивания.
Переменная, состоящая из единственного символа подчеркивания '_', называется анонимной переменной.
Составной терм. структура – это запись вида атом(терм1,терм2,...термn).
Атом, стоящий перед скобками, называется функтором, а термы в скобках аргументами или компонентами. Число компонент называют арностью структуры.
5.2 Семантика Пролога Семантику программы на Прологе обычно определяют с двух точек зрения.
5.2.1 Декларативная семантика
Программа на языке логического программирования - это совокупность логических утверждений, полностью описывающую поставленную задачу.
Это - декларативнаясемантикарешения задачи, не обязательно предполагающая её выполнение. Декларативный смысл программы состоит только в том, чтобы ответить на вопрос, является ли заданная цель истинной, и при каких значениях переменных она превращается в истинное высказывание.
Если нас интересует только принципиальное решение задачи, т.е., декларативный смысл программы, зачем вникать в подробности ее выполнения? Иногда в этом, действительно, нет необходимости. Но если надо решить именно задачу, и, желательно побыстрее, тогда обойтись только декларативной семантикой невозможно.
|
|||
|