- •Алфавит языка
- •Лексика
- •Лексемы
- •Переменные
- •Символы и ключевые слова
- •Числовые литералы
- •Сегменты строк
- •Ограничители
- •Комментарии
- •Определение данных
- •Простые термы
- •Составные термы
- •Структуры
- •Списки
- •Недоопределённые множества
- •Унификация термов
- •Структура программы
- •Классы
- •Атрибуты классов
- •Инициализаторы слотов
- •Конструкторы
- •Проект
- •Пакеты
- •Трансляция исходных файлов
- •Структура пространства поиска
- •Экземпляры классов
- •Процессы
- •Состояния процесса
- •Порты процессов
- •Резиденты
- •Построение пространства поиска
- •Исполнение конструкторов
- •Построение слотов
- •Предложения классов
- •Атомарные формулы
- •Простые атомы
- •Бинарные отношения
- •Объявления функций
- •Подцели предложений
- •Вызовы функций
- •Выражения
- •Стратегия управления
- •Исполнение вызова предиката
- •Исполнение предложения
- •Механизм задержки исполнения
- •Откат программы
- •Акторы и повторные доказательства
- •Акторы
- •Общие переменные
- •Построение общих переменных
- •Согласование акторов процесса
- •Сопоставление локальных значений
- •Исполнение повторных доказательств
- •Согласование процессов
- •Классификация сообщений
- •Прямые сообщения
- •Потоковые сообщения
- •Исключительные ситуации
- •Встроенные предикаты и операторы
- •Корректное разрушающее присваивание
- •Актуализация производных значений
- •Сводка синтаксиса
- •Свойства, зависящие от реализации
- •Термины и определения
- •Список понятий языка
Глава 4
Структура программы
Программа состоит из множества классов и целевого утверждения («проекта»):
программа = { определение класса | определение проекта }
Будем говорить, что некоторый класс C (или проект) «использует» класс E, если E является предком C в иерархии наследования классов, а также если C (проект) или кто-либо из его предков содержит конструктор экземпляра класса E (или конструктор экземпляра класса F, такого что класс F использует класс E), не считая тех конструкторов, которые входят в состав инициализаторов, перекрываемых во время построения соответствующих миров.
В программе должны быть определены все классы, используемые проектом.
Исполнением программы называется построение и дальнейшее согласование некоторых процессов. Исполнение программы начинается с доказательства конструктора процесса, заданного в определении проекта, а также формирования процесса, построенного в результате доказательства этого конструктора.
Ссылки: иерархия наследования 4.1, инициализатор 4.1.2, класс 4.1, конструктор 4.1.3, конструктор процесса 4.1.3, мир 5.1, перекрытие инициализаторов 5.4.2, построение миров 5.4.1, построение процесса 5.4.1, проект 4.2, процесс 5.2, согласование процессов 7.4, формирование процесса 5.4.1.
27