Введение
ГЛАВА I. Атрибутные грамматики и их использование при описании языков программирования 9
1.1. Методы формального описания языков программирования и их классификация 9
1.2. Описание и реализация языков программирования атрибутными грамматиками 18
1.3. Основные определения и обозначения 26
ГЛАВА II. Проверка цикличности атрибутных грамматик 35
2.1. Формальное описание алгоритма Кнута для проверки цикличности атрибутных грамматик 36
2.2. Исключение лишних графов 40
2.3. Определение оптимального порядка выбора правил грамматики 44
2.4. Экономия памяти при проверке цикличности атрибутных грамматик 52
2.5. Реализация алгоритма проверки цикличности 59
ГЛАВА III. Вычисление семантических атрибутов 62
3.1. Основные алгоритмы вычисления семантических атрибутов 63
3.2. Алгоритм преобразования семантических функций 70
3.3. Вычисление семантических атрибутов методом сортировки. 74
ГЛАВА ІV. Некоторые оптимизационные задачи, применяемые при реализации атрибутных грамматик 82
4.1. Задача оптимизации на множестве перестановок 82
4.2. Генерация оптимального кода для арифметических выражений 92
4.3. Реализация алгоритма генерации объектного кода с помощью атрибутной грамматики 106
Заключение 109
Литература


