Учебный курс «Проектирование компиляторов» - 2021

Предисловие

Данный учебный курс посвящён введению в проектирование оптимизирущих компиляторов. Он включает в себя лекции по общему устройству компиляторов и по возможностям оптимизирующих компиляторов. Курс рассчитан на студентов 3-4 курса, предполагает 38 академических часов лекций (16 тем), лабораторные и курсовые работы. При необходимости курс можно как сократить, так и увеличить до двух-семестрового. На этой странице приведены материалы, по которым курс читался в МФТИ и МАИ в 2021 году.

Материалы курса

Лекция 1. Введение в компиляторы. (слайды)

Лекция 2. Лексический анализ. (слайды)

Лекция 3. Синтаксический анализ. (слайды)

Лекция 4. Семантический анализ. (слайды)

Лекция 5. Время исполнения программы.

Лекция 6. Внутреннее представление программы в компиляторе. (слайды)

Лекция 7. Создание целевого кода. (слайды)

Лекция 8. Введение в оптимизации. (слайды)

Лекция 9. Локальные оптимизации и оптимизации потока данных. (слайды)

Лекция 10. Оптимизации потока управления. (слайды)

Лекция 11. Оптимизации памяти.

Лекция 12. Оптимизации циклов. Часть 1.

Лекция 13. Оптимизации циклов. Часть 2.

Лекция 14. Оптимизации циклов. Часть 3.

Лекция 15. Межпроцедурные и межмодульные оптимизации.

Лекция 16. Анализ указателей. (не читалась)

Вопросы к зачёту (список)

Литература по курсу (список)