Основы конструирования компиляторов
Место компилятора в программном обеспеченииСтруктура компилятора
Алфавиты, цепочки и языки
Представление языков
Формальное определение грамматики
Типы грамматик и их свойства
Лексический анализ
Регулярные множества и выражения
Конечные автоматы
Построение недетерминированного конечного автомата по регулярному выражению
Построение детерминированного конечного автомата по недетерминированному
Регулярные множества и их представления
Программирование лексического анализа
Конструктор лексических анализаторов LEX
КС-грамматики и МП-автоматы
Преобразования КС-грамматик
Алгоритм разбора сверху-вниз
Функции FIRST и FOLLOW
Конструирование таблицы предсказывающего анализатора
LL(1)-грамматики
Удаление левой рекурсии
Левая факторизация
Рекурсивный спуск
Восстановление после синтаксических ошибок
Основа
LR(1)-анализаторы
Конструирование LR(1)-таблицы
LR(1)-грамматики
Восстановление после синтаксических ошибок
Варианты LR-анализаторов
Элементы теории перевода
Преобразователи с магазинной памятью
Синтаксически управляемый перевод
Обобщенные схемы синтаксически управляемого перевода
Атрибутные грамматики
Определение атрибутных грамматик
Классы атрибутных грамматик и их реализация
Описание областей видимости и блочной структуры
Занесение в среду и поиск объектов
Организация таблиц символов
Таблицы идентификаторов
Таблицы расстановки
Таблицы расстановки со списками
Функции расстановки
Таблицы на деревьях
Реализация блочной структуры
Сравнение методов реализации таблиц
Промежуточное представление программы
Представление в виде ориентированного графа
Трехадресный код
Линеаризованные представления
Виртуальная машина Java
Организация памяти
Набор команд виртуальной машины
Помещение локальных переменных на стек
Вызов метода
Обработка исключительных ситуаций
Организация информации в генераторе кода
Уровень промежуточного представления
Генерация кода
Модель машины
Динамическая организация памяти
Организация магазина со статической цепочкой
Организация магазина с дисплеем
Назначение адресов
Трансляция переменных
Трансляция целых выражений
Трансляция арифметических выражений
Трансляция логических выражений
Выделение общих подвыражений
Сопоставление образцов
Синтаксический анализ для T-грамматик
Выбор дерева вывода наименьшей стоимости
Атрибутная схема для алгоритма сопоставления образцов
Системы автоматизации построения трансляторов
Система СУПЕР
Система Yacc
Литература
Содержание раздела