Оглавление

Предисловие

Часть 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.

Литература

Предметный указатель