didact
По разделам
- Введение в компиляцию
- Введение в компиляцию
- Классификация языков программирования
- Лексический анализ
- Лексический анализ
- Реализация лексического анализатора
- Синтаксический анализ
- Синтаксический анализ
- Грамматики
- Разработка грамматик
- Нисходящий синтаксический анализ
- Восходящий синтаксический анализ
- Промежуточный код
- Генерация промежуточного кода
- Элементы теории типов
- Машинно-независимая оптимизация
- Целевой код
- Среды времени выполнения
- Генерация целевого кода
- Машинно-зависимая оптимизация
По темам
- Введение в компиляцию
- Структура компилятора
- Процесс компиляции
- Классификация языков программирования
- Поколения языков программирования
- Системы типов
- Стратегия проверки типов
- Уровень абстракции
- Модели исполнения
- Лексический анализ
- Понятие лексического анализа
- Роль лексического анализатора
- Токены, шаблоны, лексемы
- Регулярные выражения
- Реализация лексического анализатора
- Диаграммы переходов
- Распознавание шаблонов на основе недетерминированного конечного автомата
- Переход от недетерминированного к детерминированному конечному автомату
- Синтаксический анализ
- Понятие синтаксического анализа
- Роль синтаксического анализатора
- Грамматики
- Иерархия Хомского
- Контекстно-свободные грамматики
- Способы описания контекстно-свободных грамматик
- Нормальная форма Бакуса-Наура
- Порождения
- Деревья разбора
- Однозначные и неоднозначные грамматики
- Разработка грамматик
- Устранение неоднозначности
- Устранение левой рекурсии
- Левая факторизация
- Нисходящий синтаксический анализ
- Рекурсивный синтаксический анализатор
- LL(1)-анализатор
- Восходящий синтаксический анализ
- Метод перенос/свёртка восходящего синтаксического анализа
- Конфликты в процессе анализа перенос/свёртка
- LR-анализ
- LR(0)-анализатор
- SLR-анализатор
- LR(1)-анализатор
- LALR-анализатор
- Использование приоритетов и ассоциативности для разрешения конфликтов при LR-анализе
- Генерация промежуточного кода
- Ориентированные ациклические графы как промежуточный код
- Трёхадресный код
- Элементы теории типов
- Выражения типов
- Номинативная эквивалентность типов
- Репрезентативная эквивалентность типов
- Синтез типов
- Выведение типов
- Проверка типов
- Машинно-независимая оптимизация
- Источники оптимизации
- Семантически-эквивалентные трансформации
- Глобальные общие подвыражения
- Распространение копий
- Удаление бесполезного кода
- Перемещение кода
- Анализ потоков данных
- Среды времени выполнения
- Понятие среды времени выполнения
- Организация памяти
- Доступ к нелокальным данным
- Управление кучей
- Генерация целевого кода
- Генерация целевого кода
- Распределение регистров
- Адресация в целевом коде
- Машинно-зависимая оптимизация
- Локальная оптимизация
- Параллелизм уровня команд
- Конвейеризация
- Оптимизация локальности