Построение компилятора для языка программирования является сложной и трудоемкой задачей. Результатом работы компилятора является исполняемый код на целевой платформе, предупреждения и сообщения об ошибках. При попытках использовать компилятор для реализации расширенной функциональности IDE возникают дополнительные требования к функциональности компилятора. Эти требования связаны с необходимостью обеспечить мгновенный отклик на действия пользователя при изменяющемся исходном коде программы.
Будет рассказано про алгоритмы и структуры данных, которые используются в IDE для реализации основных функций компилятора: синтаксический анализ, разрешение ссылок, семантические анализы. Также будут рассмотрены основные подходы к реализации функциональности, присущей только IDE: автодополнение, поиск использований и т.д.
Краткое содержание:
Semester | Branch |
---|---|
autumn 2014 | Kazan |