didact_new

Дидактические единицы

  1. Введение в компиляцию
  2. Классификация языков программирования
  3. Понятие и цели лексического анализа
  4. Реализация лексического анализатора
  5. Понятие и цели синтаксического анализа
  6. Грамматики
  7. Разработка грамматик
  8. Нисходящий синтаксический анализ
  9. Восходящий синтаксический анализ
  10. Генерация промежуточного кода
  11. Элементы теории типов
  12. Машинно-независимая оптимизация
  13. Среда времени выполнения
  14. Генерация целевого кода
  15. Машинно-зависимая оптимизация

Содержание разделов дисциплины

Наименование раздела Темы лекций Объем, часы Дидактические единицы
  1. Введение в компиляцию
1.1. Структура компилятора. Процесс компиляции
1.2. Классификация языков программирования
4 1,2
  1. Лексический анализ
2.1. Лексический анализ. Токены, шаблоны, лексемы. Регулярные выражения
2.2. Распознавание шаблонов на основе недетерминированного конечного автомата
2.3. Переход от недетерминированного к детерминированному конечному автомату
6 3,4
  1. Синтаксический анализ
3.1. Понятие и роль синтаксического анализа
3.2. Грамматики. Иерархия Хомского. Нормальная форма Бакуса-Наура
3.3. Нисходящий синтаксический анализ. Рекурсивный анализ. LL(1)-анализ
3.4. Восходящий синтаксический анализ. Метод перенос/свертка. LR-анализ
12 5-9
  1. Промежуточный код
4.1. Ориентированные ациклические графы. Трёхадресный код
4.2. Выражения типов. Эквивалентность типов. Синтез и выведение. Проверка
4.3. Машинно-независимая оптимизация. Источники оптимизации. Семантически-эквивалентные трансформации
8 10-12
  1. Целевой код
5.1. Организация памяти. Доступ к нелокальным данным. Управление кучей
5.2. Генерация целевого кода. Распределение регистров. Адресация в целевом коде
5.3. Локальная оптимизация. Параллелизм уровня команд. Конвейеризация. Оптимизация локальности
6 13-15
Итого: 36

Практические занятия

Наименование раздела Темы занятий Объем, часы Дидактические единицы
Лексический анализ
  1. Разработка лексического анализатора
4 4
Синтаксический анализ
  1. Разработка контекстно-свободной грамматики
4 6,7
  1. Реализация рекурсивного синтаксического анализатора
4 8
  1. Реализация LL-анализатора
4 8
  1. Реализация LR-анализатора
8 9
Промежуточный код
  1. Генерация трёхадресного кода
4 10
  1. Оптимизация трёхадресного кода
6 12
  1. Реализация интерпретатора
2 13
Итого: 36