Предисловие
Часть 1. Задачи трансляции
ГЛАВА 1. ПОНЯТИЕ ОБ ЭВМ И МАШИННОМ ЯЗЫКЕ.
§1. Логическая схема ЭВМ; §2. Общее представление о машинном языке на основе простейшей (трехадресной) модели; §3. Другие модели архитектуры ЭВМ и машинных языков; §4. Расширения машинных языков и машинно-зависимые языки; §5. Структурная организация данных в памяти ЭВМ.
ГЛАВА 2. ОСНОВНЫЕ ЧЕРТЫ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ.
§1. Разнообразие языков программирования; §2. Структура языка программирования; §3. Простые типы данных; §4. Операции, функции и выражения; §5. Структуры данных; §6. Операторы; §7. Программные единицы; §8. Порождающие грамматики; §9. Язык программирования Минал.
ГЛАВА 3. СИСТЕМЫ ПРОГРАММИРОВАНИя И ТИПЫ ЯЗЫКОВЫХ ПРОЦЕССОРОВ.
§1. Общее представление о системе программирования; §2. Виды трансляторов.
КРАТКИЙ ОБЗОР И КОММЕНТАРИИ К чАСТИ 1.
Часть II. Методы и техника трансляции
ГЛАВА 4. ОБЩЕЕ ПРЕДСТАВЛЕНИЕ О ПРОЦЕССЕ ТРАНСЛЯЦИИ.
§1. Принципиальная схема трансляции; §2. Построение абстрактной программы; §3. Этап генерации; §4. Оптимизация; §5. Обнаружение ошибок.
ГЛАВА 5. ЛЕКСИЧЕСКИЙ АНАЛИЗ.
§1. Распознаватели; §2. Функции лексического анализа; §3. Реализации лексического анализа в трансляторе.
ГЛАВА 6. СИНТАКСИчЕСКИЙ АНАЛИЗ.
§1. Стратегия разбора; §2. Автоматы с магазинной памятью; §3. Нисходящий разбор; §4. Восходящий разбор; §5. Горизонтальный разбор; §6. Обработка синтаксических ошибок.
ГЛАВА 7. КОНТЕКСТНЫЙ АНАЛИЗ.
§1. Идентификация; §2. Атрибутная индукция.
ГЛАВА 8. ГЕНЕРАЦИЯ.
§1. Общая схема генерации и внутреннее представление команд; §2. Представление структур данных; §3. Генерация выражений и операторов присваивания; §4. Генерация управления вычислениями; §5. Генерация подпрограмм и обращений к ним; §6. Распределение памяти; §7. Динамическая поддержка.
ГЛАВА 9. ОПТИМИЗАЦИЯ.
§1. Схемы программ; §2. Потоковый анализ программ; §3. Оптимизирующие преобразования.
ГЛАВА 10. ОРГАНИЗАЦИя ТРАНСЛяТОРОВ.
§1. Схемы процесса трансляции и организация трансляторов; §2. Влияние типов выходных языков на организацию трансляторов; §3. Раздельная трансляция и ее влияние на организацию трансляторов; §4. Организация основных структур данных, возникающих при трансляции.
ГЛАВА 11. ПРИМЕРЫ КОНКРЕТНЫХ ТРАНСЛЯТОРОВ.
§1. Транслятор с Минала; §2. Транслятор для языка Алгол 68; §3. Оптимизирующий транслятор АЛЬФА-6.
КРАТКИЙ ОБЗОР И КОММЕНТАРИИ К ЧАСТИ 2.
Часть 3. Автоматизация построения трансляторов
ГЛАВА 12. ПРИМЕНЕНИЕ ЯЗЫКОВ ВЫСОКОГО УРОВНЯ ДЛЯ АВТОМАТИЗАЦИИ ПОСТРОЕНИЯ ТРАНСЛЯТОРОВ.
§1. Языки высокого уровня как инструмент автоматизации программирования; §2. Краткая характеристика языков, применяемых для описания алгоритмов трансляции; §3. Некоторые вопросы применения языков высокого уровня для автоматизации построения трансляторов; §4. Пути повышения уровня языков.
ГЛАВА 13. ИСПОЛЬЗОВАНИЕ МОДУЛЬНОГО ПОДХОДА ДЛЯ ПОСТРОЕНИя ТРАНСЛЯТОРОВ.
§1. Общая характеристика модульного подхода; §2. Принципы применения модульного подхода для создания совокупности трансляторов; §3. Модульный подход в многоязыковых транслирующих системах; §4. Пример реализации в многоязыковой транслирующей системе простого языка.
ГЛАВА 14. АВТОМАТИчЕСКОЕ ПОСТРОЕНИЕ чАСТЕЙ ТРАНСЛЯТОРА.
§1. Элементы теории перевода; §2. Построение лексических анализаторов; §3. Построение синтаксических анализаторов.
ГЛАВА 15. ИНТЕГРИРОВАННЫЕ СИСТЕМЫ АВТОМАТИЧЕСКОГО ПОСТРОЕНИЯ ТРАНСЛЯТОРОВ.
§1. Атрибутные грамматики; §2. Алгоритмы заполнения атрибутных деревьев; §3. Атрибутные СПТ; §4. Генераторы трансляторов.
КРАТКИЙ ОБЗОР И КОММЕНТАРИИ К ЧАСТИ 3.
Литература
Предметный указатель