... Алфавит языка . ... Списки . ... Классы . ... Атрибуты классов . ... Экземпляры классов . ... Исполнение конструкторов . ... Предложения классов . ... Исполнение вызова предиката . ... Исполнение предложения . ... Механизм задержки исполнения . ... Исполнение повторных доказательств . ... Приложение 1. ... Синтаксические правила языка . ... Список понятий языка . ... В настоящее время работа над определением языка продолжается (см. список исправлений и примечаний к определению языка ). ...
Акторный Пролог - объектно - ориентированный логический язык, предназначенный для программирования информационных систем, функционирующих в динамическом внешнем окружении (интеллектуальных агентов Интернет, систем интерактивного проектирования и др.) ... Доказательство логических акторов (далее - просто " акторов ") осуществляется в объектно - ориентированном пространстве поиска, топология которого соответствует структуре системы. ... Различаются "минимальная", "быстрая" и "максимальная" версии языка. ...
В качестве алфавита языка используется набор символов ASCII, при этом различаются графические символы ( графемы ), имеющие визуальное представление в виде отпечатанного знака или пробела, и управляющие символы : возврат на одну позицию, горизонтальная табуляция, перевод строки, вертикальная табуляция, перевод формата и возврат каретки. Минимальный набор графических символов , достаточный для определения языка, включает буквы , цифры , символ пробела и специальные символы . ...
Текст программы рассматривается как последовательность лексем и разделителей . Разделителями являются комментарии , а также пробелы и управляющие символы , не входящие в состав лексем и комментариев . ... Фрагмент текста " :- " не является лексемой , если он расположен между лексемами "{" и "}", составляющими пару "открывающая скобка - закрывающая скобка". ... Ссылки: графема 1 , комментарий 2.2 , лексема 2.1 , ограничитель 2.1.5 , программа 4 , управляющий символ 1 , числовой литерал 2.1.3 . ...
Переменная - это имя, начинающееся с большой буквы или символа подчеркивания "_". переменная = большая_буква [ [ "_" ] буквы_и_цифры ] | буквы_и_цифры ] . Маленькие буквы в составе переменной заменяются соответствующими большими буквами , при этом все остальные графемы остаются без изменений. Полученная последовательность графем считается значением лексемы . ... Ссылки: большая буква 1 , буквы и цифры 1 , графема 1 , значение лексемы 2.1 , лексема 2.1 , маленькая буква 1 . ... ЛЕКСЕМЫ . ...
Символ - это имя, начинающееся с маленькой буквы или заключенное в апострофы. ... символ_в_апострофах простой_символ = маленькая_буква [ [ "_" ] буквы_и_цифры ] символ_в_апострофах = "'" { графема } "'" . ... Если апострофы не используются, значение символа не должно совпадать с ключевыми словами языка. ... Ссылки: большая буква 1 , буквы и цифры 1 , графема 1 , значение лексемы 2.1 , маленькая буква 1 , простой символ 2.1.2 , символ в апострофах 2.1.2 . ... СПИСОК ПОНЯТИЙ ЯЗЫКА (ИНДЕКС) . ...
Числовой литерал - это лексема , обозначающая числовое значение : числовой_литерал = расширенное_число [ порядок ] | цифры "#" расширенное_число "#" [ порядок ] | ... Для получения значения числового литерала с порядком необходимо умножить значение числового литерала без порядка на основание, возведенное в указанную порядком степень. ... Ссылки: буква 1 , буквы и цифры 1 , графема 1 , значение лексемы 2.1 , лексема 2.1 , управляющий символ 1 , цифра 1 , числовой литерал 2.1.3 . ...
Ограничитель - это последовательность из одного или нескольких специальных символов , используемая в синтаксических конструкциях языка. В языке используются : . простые ограничители . составные ограничители . Значениями ограничителей считаются соответствующие цепочки графем . Ссылки: графема 1 , значение лексемы 2.1 , специальный символ 1 . ... Предыдущий: 2.1.4. ... 2.1. ЛЕКСЕМЫ . ... СПИСОК ПОНЯТИЙ ЯЗЫКА (ИНДЕКС) . ...
Комментарием является последовательность графических и управляющих символов , начинающаяся с открывающей скобки комментария и заканчивающаяся закрывающей скобкой; комментариям разных типов соответствуют разные скобки. Открывающая скобка не является началом комментария , если ее графические символы входят в состав лексемы или другого комментария . ... Однострочный комментарий : открывающая скобка - два соседних дефиса; закрывающая - любой управляющий символ , отличный от горизонтальной табуляции. ...
В общем случае, термы языка могут обозначать : . ... значения лексем "переменная" (если речь идет о несвязанных переменных ). терм = простой_терм | составной_терм | ... В качестве функторов составных термов и атомарных формул используются символы и метапеременные ( метафункторы ) : функтор = символ | ... Метапеременными , называются переменные , используемые в качестве функторов и символов . Метапеременные , используемые в качестве функторов , называются метафункторами . ... Следующий: 3.1. ...
Простой терм - это элементарная синтаксическая конструкция, обозначающая данные и миры . Простыми термами являются константы ( символ , целое число , вещественное число , строковый литерал , спейсер #, метапеременная , обозначающая терм в метапредложении ), а также параметры : простой_терм = константа | ... числовой_литерал | строковый_литерал | метапеременная . ... параметр = переменная | ... Значением связанной переменной считается соответствующий элемент данных , мир или спейсер . ...
Составными термами являются структуры , списки и недоопределенные множества : составной_терм = структура | список | ... Ссылки: значение терма 3 , недоопределенное множество 3.2.3 , составной терм 3.2 , список 3.2.2 , структура 3.2.1 , терм 3 . Следующий: 3.2.1. СТРУКТУРЫ . ... 3.2.1. ... СПИСКИ . ... СПИСОК ПОНЯТИЙ ЯЗЫКА (ИНДЕКС) . ...
Структура - это составной терм , построенный из функтора и последовательности одного или более аргументов , заключенной в круглые скобки : структура = функтор "(" термы_и_выражения ")" термы_и_выражения = [ термы_и_выражения "," ] терм_или_выражение терм_или_выражение = терм | ... An) является кортеж длины n+2, в первой позиции которого стоит специальная константа structure : . structure,f,A1,A2,.. ... Ссылки: выражение 6.2.2 , значение терма 3 , составной терм 3.2 , терм 3 , функтор 3 . ... 3.2. ...
Недоопределенное множество - это составной терм , построенный из набора (возможно, пустого) элементов , заключенного в фигурные скобки. ... Если недоопределенное множество используется в составе определения класса , то имена элементов множества , совпадающие с атрибутами этого класса , должны быть символами в апострофах . ... недоопределенное_множество = [ простой_терм ] "{" элементы_и_хвост_множества "}" элементы_и_хвост_множества = [ элементы_множества ] [ "|" хвост ] . ...
Унификацией называется операция сравнения (отождествления) нескольких формул, связывающая переменные в составе формул сопоставленными с ними подформулами. ... Кроме того, унификация термов может быть вызвана явно с помощью встроенного предиката " унифицировать термы " : . ... Унификация несвязанной переменной с константой , составным термом или миром вызывает " связывание " этой переменной - замену всех вхождений этой переменной соответствующим элементом данных или миром . ...