Мини-курс «Технология построения поддержки IDE для языков программирования»
Мини-курс прочитает Сергей Шкредов, руководитель отдела разработки Jet Brains.
Построение компилятора для языка программирования является сложной и трудоемкой задачей. Результатом работы компилятора является исполняемый код на целевой платформе, предупреждения и сообщения об ошибках. При попытках использовать компилятор для реализации расширенной функциональности IDE возникают дополнительные требования к функциональности компилятора. Эти требования связаны с необходимостью обеспечить мгновенный отклик на действия пользователя при изменяющемся исходном коде программы.
Будет рассказано про алгоритмы и структуры данных, которые используются в IDE для реализации основных функций компилятора: синтаксический анализ, разрешение ссылок, семантические анализы. Также будут рассмотрены основные подходы к реализации функциональности, присущей только IDE: автодополнение, поиск использований и т.д.
Краткое содержание:
- Инкрементальный лексический анализ
- Инкрементальный синтаксический анализ
- Индексирование файлов
- Разрешение ссылок
- Поиск использований
- Автодополнение
- Поддержка генеративных и вложенных языков
- Реализация простых рефакторингов, разрешение конфликтов
- Инкрементальный анализ кода
- Слабо типизированные языки программирования
- Алгоритмы анализа потока данных
- Примитивы синхронизации
Курс будет проходить три дня: 11, 12 и 13 мая 2015 года
Место проведения: здание ФКН НИУ ВШЭ (Москва, Кочновский пр., 3)
Время проведения: 16:40 – 19:40
Номер аудитории и точное время проведения будут опубликованы ближе к мероприятию.
Регистрация: http://goo.gl/forms/B78qoQpXLA
Для участия необходимо зарегистрироваться!
Аудитория для проведения мини-курса будет выбираться по итогам регистрации.
Это означает, что если «просто прийти», может не оказаться мест.
Дополнительные вопросы по поводу мероприятия можно задать Алексею Мицюку (amitsyuk@hse.ru).