Описание:Рассматривается теория формальных языков и грамматик и ее применение для разработки компиляторов. В курс включены традиционная теория формальных грамматик, включающая теорию контекстно свободных и регулярных языков, а также теория разбора (рекурсивный LL1-разбор и восходящий LR1-разбор).
Курс имеет практическую направленность, поэтому рассматриваются те части теории формальных языков, которые применяются на практике при написании компиляторов. Рассматриваются утилиты LEX и YACC для написания сканера и парсера компилятора. Изучаются вопросы генерации кода и написания интерпретаторов. В конце курса реализуется компилятор с модельного языка программирования,
на котором иллюстрируются основные этапы разработки компиляторов (язык похож на Python, но по синтаксису ближе к языку C++).