Краткое содержание
ОТ АВТОРОВ ПЕРЕВОДА
ВВЕДЕНИЕ
ГЛАВА 1. ВВЕДЕНИЕ
ГЛАВА 2. ЯЗЫК И СИНТАКСИС
ГЛАВА 3. РЕГУЛЯРНЫЕ ЯЗЫКИ
ГЛАВА 4. АНАЛИЗ КОНТЕКСТНО_СВОБОДНЫХ ЯЗЫКОВ
ГЛАВА 5. АТРИБУТНЫЕ ГРАММАТИКИ И СЕМАНТИКИ
ГЛАВА 6. ЯЗЫК ПРОГРАММИРОВАНИЯ ОБЕРОН_0
ГЛАВА 7. СИНТАКСИЧЕСКИЙ АНАЛИЗАТОР ДЛЯ ОБЕРОНА_0
ГЛАВА 8. УЧЕТ КОНТЕКСТА, ЗАДАННОГО ОБЪЯВЛЕНИЯМИ
ГЛАВА 9. RISC_АРХИТЕКТУРА КАК ЦЕЛЬ
ГЛАВА 10. ВЫРАЖЕНИЯ И ПРИСВАИВАНИЯ
ГЛАВА 11. УСЛОВНЫЕ И ЦИКЛИЧЕСКИЕ ОПЕРАТОРЫ И ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ
ГЛАВА 12. ПРОЦЕДУРЫ И КОНЦЕПЦИЯ ЛОКАЛИЗАЦИИ
ГЛАВА 13. ЭЛЕМЕНТАРНЫЕ ТИПЫ ДАННЫХ
ГЛАВА 14. ОТКРЫТЫЕ МАССИВЫ, УКАЗАТЕЛЬНЫЙ И ПРОЦЕДУРНЫЙ ТИПЫ
ГЛАВА 15. МОДУЛИ И РАЗДЕЛЬНАЯ КОМПИЛЯЦИЯ
ГЛАВА 16. ОПТИМИЗАЦИЯ И СТРУКТУРА ПРЕ_ПОСТПРОЦЕССОРА
ПРИЛОЖЕНИЕ A. СИНТАКСИС
ПРИЛОЖЕНИЕ B. НАБОР СИМВОЛОВ ASCII
ПРИЛОЖЕНИЕ C. КОМПИЛЯТОР ОБЕРОН_0
ЛИТЕРАТУРА
Содержание
От авторов перевода
О книге
О переводе
Введение
Предисловие
Благодарности
Глава 1. Введение
Глава 2. Язык и синтаксис
2.1. Упражнения
Глава 3. Регулярные языки
3.1. Упражнение
Глава 4. Анализ контекстно&свободных языков
4.1. Метод рекурсивного спуска
4.2. Таблично_управляемый нисходящий синтаксический анализ
4.3. Восходящий синтаксический анализ
4.4. Упражнения
Глава 5. Атрибутные грамматики и семантики
5.1. Правила типов
5.2. Правила вычислений
5.3. Правила трансляции
5.4. Упражнение
Глава 6. Язык программирования Оберон_0
6.1. Упражнение
Глава 7. Синтаксический анализатор для Оберона_0
7.1. Лексический анализатор
7.2. Синтаксический анализатор
7.3. Устранение синтаксических ошибок
7.4. Упражнения
Глава 8. Учет контекста, заданного Объявлениями
8.1. Объявления
8.2. Записи о типах данных
8.3. Представление данных во время выполнения
8.4. Упражнения
Глава 9. RISC_архитектура как цель
9.1. Ресурсы и регистры
Глава 10. Выражения и присваивания
10.1. Прямая генерация кода по принципу стека
10.2. Отсроченная генерация кода
10.3. Индексированные переменные и поля записей
10.4. Упражнения
Глава 11. Условные и циклические операторы и логические выражения
11.1. Сравнения и переходы
11.2. Условные и циклические операторы
11.3. Логические операции
11.4. Присваивание логическим переменным
11.5. Упражнения
Глава 12. Процедуры и концепция локализации
12.1. Организация памяти во время выполнения
12.2. Адресация переменных
12.3. Параметры
12.4. Объявления и вызовы процедур
12.5. Стандартные процедуры
12.6. Процедуры_функции
12.7. Упражнения
Глава 13. Элементарные типы данных
13.1. Типы REAL и LONGREAL
13.2. Совместимость между числовыми типами данных
13.3. Тип данных SET
13.4. Упражнения
Глава 14. Открытые массивы, указательный и процедурный типы
14.1. Открытые массивы
14.2. Динамические структуры данных и указатели
14.3. Процедурные типы
14.4. Упражнения
Глава 15. Модули и раздельная компиляция
15.1. Принцип скрытия информации
15.2. Раздельная компиляция
15.3. Реализация символьных файлов
15.4. Адресация внешних объектов
15.5. Проверка конфигурационной совместимости
15.6. Упражнения
Глава 16. Оптимизация и структура пре/постпроцессора
16.1. Общие соображения
16.2. Простые оптимизации
16.3. Исключение повторных вычислений
16.4. Распределение регистров
16.5. Структура пре_постпроцессорного компилятора
16.6. Упражнения
Приложение A. Синтаксис
A.1. Оберон_0
A.2. Оберон
A.3. Символьные файлы
Приложение B. Набор символов ASCII
Приложение C. Компилятор Оберон_0
C.1. Лексический анализатор
C.2. Синтаксический анализатор
C.3. Генератор кода
Литература