- •Алфавит языка
- •Лексика
- •Лексемы
- •Переменные
- •Символы и ключевые слова
- •Числовые литералы
- •Сегменты строк
- •Ограничители
- •Комментарии
- •Определение данных
- •Простые термы
- •Составные термы
- •Структуры
- •Списки
- •Недоопределённые множества
- •Унификация термов
- •Структура программы
- •Классы
- •Атрибуты классов
- •Инициализаторы слотов
- •Конструкторы
- •Проект
- •Пакеты
- •Трансляция исходных файлов
- •Структура пространства поиска
- •Экземпляры классов
- •Процессы
- •Состояния процесса
- •Порты процессов
- •Резиденты
- •Построение пространства поиска
- •Исполнение конструкторов
- •Построение слотов
- •Предложения классов
- •Атомарные формулы
- •Простые атомы
- •Бинарные отношения
- •Объявления функций
- •Подцели предложений
- •Вызовы функций
- •Выражения
- •Стратегия управления
- •Исполнение вызова предиката
- •Исполнение предложения
- •Механизм задержки исполнения
- •Откат программы
- •Акторы и повторные доказательства
- •Акторы
- •Общие переменные
- •Построение общих переменных
- •Согласование акторов процесса
- •Сопоставление локальных значений
- •Исполнение повторных доказательств
- •Согласование процессов
- •Классификация сообщений
- •Прямые сообщения
- •Потоковые сообщения
- •Исключительные ситуации
- •Встроенные предикаты и операторы
- •Корректное разрушающее присваивание
- •Актуализация производных значений
- •Сводка синтаксиса
- •Свойства, зависящие от реализации
- •Термины и определения
- •Список понятий языка
Глава 3
Определение данных
Вобщем случае, термы языка могут обозначать:
1.элементы данных;
2.экземпляры классов;
3.значения лексем «переменная» (если речь идёт о несвязанных переменных).
терм = простой терм |
составной терм | вызов функции в предложении
Элементы данных создаются в ходе исполнения вызовов предикатов, во время построения слотов миров, а также во время глобальных операций с общими переменными.
Вдальнейшем, когда будет идти речь об унификации и других операциях
стермами, следует иметь в виду обработку значений термов.
Вкачестве функторов составных термов и атомарных формул используются символы и метапеременные (метафункторы):
функтор = символ | метапеременная
Метапеременными, называются переменные, используемые в качестве функторов и символов. Метапеременные, используемые в качестве функторов, называются метафункторами.
17
18 |
Глава 3. ОПРЕДЕЛЕНИЕ ДАННЫХ |
метапеременная = переменная
В качестве функторов метапеременные разрешается использовать только в составе предложений и только при условии, что такой же метафунктор является именем предиката в заголовке рассматриваемого предложения.
Функтор, используемый в составе определения класса и совпадающий с некоторым атрибутом этого класса, должен быть символом в апострофах.
Ссылки: атом 6.1, атрибут 4.1.1, вызов функции в предложении 6.2.1, глобальные операции 7.2, заголовок предложения 6, значение лексемы 2.1, исполнение предиката 6.3.1, класс 4.1, мир 5.1, несвязанная переменная 3.1, переменная 2.1.1, построение слотов 5.4.2, предложение 6, простой терм 3.1, символ 2.1.2, символ в апострофах 2.1.2, составной терм 3.2, унификация 3.3.
3.1Простые термы
Простой терм — это элементарная синтаксическая конструкция, обозначающая данные и миры. Простыми термами являются константы (символ, целое число, вещественное число, строковый литерал, спейсер #, метапеременная, обозначающая терм в метапредложении), а также параметры:
простой терм = константа | параметр константа =
символ в апострофах | [ “−” ] числовой литерал | строковый литерал | “#” | метапеременная
Число обозначается с помощью числового литерала, перед которым может стоять знак минус. В целых и вещественных числах с явно указанным основанием использовать знак минус не разрешается.
Строковый литерал — это последовательность сегментов строки, обозначающая цепочку графических и управляющих символов:
строковый литерал = [ строковый литерал ] сегмент строки
Спейсер # обозначает неизвестный элемент данных или мир.