СОДЕРЖАНИЕ

Тема 1. Введение в компиляцию

       Раздел 1. Основные понятия компиляции

              1.1 Компиляторы

              1.2 Структура компилятора

              1.3 Эволюция языков программирования

              1.4 Проектирование компиляторов

              1.5 Применения технологий компиляторов

              1.6 Азы языков программирования

              1.7 Общие сведения по тематике раздела 1

Тема 2. Методы компиляции

       Раздел 2. Базовые методы компиляции

              2.1 Введение

              2.2 Определение синтаксиса

              2.3 Синтаксически управляемая трансляция

              2.4 Разбор

              2.5 Лексический анализ

              2.6 Таблицы символов

              2.7 Генерация промежуточного кода

       Раздел 3. Лексический анализ

              3.1 Роль лексического анализатора

              3.2 Лексический и синтаксический анализ

              3.3 Общие сведения по тематике раздела 3

       Раздел 4. Синтаксический анализ

              4.1 Обработка синтаксических ошибок

              4.2 Контекстно-свободные грамматики

              4.3 Разработка грамматики

              4.4 Нисходящий синтаксический анализ

              4.5 Восходящий синтаксический анализ

              4.6 Общие сведения по тематике раздела 4

       Раздел 5. Синтаксически управляемая трансляция

              5.1 Синтаксически управляемые определения

              5.2 Синтаксически управляемые схемы трансляции

              5.3 Общие сведения по тематике раздела 5

         Раздел 6. Генерация промежуточного кода

              6.1 Построение синтаксических деревьев

              6.2 Трёхадресный код

              6.3 Типы и объявления

              6.4 Поток управления

              6.5 Общие сведения по тематике раздела 6

Тема 3. Организация памяти и генерация кода

         Раздел 7. Среды времени выполнения

                  7.1 Организация памяти

                  7.2 Выделение памяти в стеке

                  7.3 Доступ к нелокальным данным в стеке

                  7.4 Управление кучей

                  7.5 Введение в сборку мусора

                  7.6 Общие сведения по тематике раздела 7

         Раздел 8 Генерация кода

                  8.1 Вопросы проектирования генератора кода

                  8.2 Локальная оптимизация

                  8.3 Общие сведения по тематике раздела 8

Тема 4. Оптимизация кода

         Раздел 9. Машинно-независимые оптимизации

                  9.1 Основные источники оптимизации

                  9.2 Введение в анализ потоков данных

                  9.3 Основы анализа потока данных

                  9.4 Распространение констант

                  9.5 Устранение частичной избыточности

                  9.6 Циклы в графах потоков

                  9.7 Общие сведения по тематике раздела 9

         Раздел 10. Параллелизм на уровне команд

                  10.1 Архитектуры процессоров

                  10.2 Ограничения планирования кода

                  10.3 Общие сведения по тематике раздела 10

         Раздел 11. Оптимизация параллелизма и локальности

                  11.1 Фундаментальные концепции

                  11.12 Общие сведения по тематике раздела 11

         Раздел 12 Межпроцедурный анализ

                  12.1 Базовые концепции

                  12.2 Общие сведения по тематике раздела 12