- •Алфавит языка
- •Лексика
- •Лексемы
- •Переменные
- •Символы и ключевые слова
- •Числовые литералы
- •Сегменты строк
- •Ограничители
- •Комментарии
- •Определение данных
- •Простые термы
- •Составные термы
- •Структуры
- •Списки
- •Недоопределённые множества
- •Унификация термов
- •Структура программы
- •Классы
- •Атрибуты классов
- •Инициализаторы слотов
- •Конструкторы
- •Проект
- •Пакеты
- •Трансляция исходных файлов
- •Структура пространства поиска
- •Экземпляры классов
- •Процессы
- •Состояния процесса
- •Порты процессов
- •Резиденты
- •Построение пространства поиска
- •Исполнение конструкторов
- •Построение слотов
- •Предложения классов
- •Атомарные формулы
- •Простые атомы
- •Бинарные отношения
- •Объявления функций
- •Подцели предложений
- •Вызовы функций
- •Выражения
- •Стратегия управления
- •Исполнение вызова предиката
- •Исполнение предложения
- •Механизм задержки исполнения
- •Откат программы
- •Акторы и повторные доказательства
- •Акторы
- •Общие переменные
- •Построение общих переменных
- •Согласование акторов процесса
- •Сопоставление локальных значений
- •Исполнение повторных доказательств
- •Согласование процессов
- •Классификация сообщений
- •Прямые сообщения
- •Потоковые сообщения
- •Исключительные ситуации
- •Встроенные предикаты и операторы
- •Корректное разрушающее присваивание
- •Актуализация производных значений
- •Сводка синтаксиса
- •Свойства, зависящие от реализации
- •Термины и определения
- •Список понятий языка
Глава 2
Лексика
Текст программы рассматривается как последовательность лексем и разделителей. Разделителями являются комментарии, а также пробелы и управляющие символы, не входящие в состав лексем и комментариев. Чтобы обеспечить однозначность трансляции текста, приняты следующие соглашения:
1.Сканирование текста всегда осуществляется слева направо.
2.В состав каждой лексемы включается по возможности большее число графических символов.
3.Фрагмент текста «:–» не является лексемой, если он расположен между лексемами «{» и «}», составляющими пару «открывающая скобка
— закрывающая скобка».
4.Фрагмент текста «<−» не является лексемой, если он расположен непосредственно перед числовым литералом или ограничителем «(».
Пример. Последовательность лексем и разделителей.
Текст «P{a:–7}:–P{/ /b:0}.– –1– –» содержит лексемы «P», «{», «a», «:», «−», «7», «}», «:–», «P», «{», «b», «:», «0», «}», «.» и комментарии «/ /», «– –1– –».
Ссылки: графема 1, комментарий 2.2, лексема 2.1, ограничитель 2.1.5, программа 4, управляющий символ 1, числовой литерал 2.1.3.
11