Город: Санкт-Петербург Казань Язык: Русский English

Технология построения поддержки IDE для языков программирования
Казань / осень 2014, посмотреть все семестры

Запишитесь на курс, чтобы получать уведомления и иметь возможность сдавать домашние задания. Для записи требуется регистрация на сайте.
Перейти к регистрации Войти

Построение компилятора для языка программирования является сложной и трудоемкой задачей. Результатом работы компилятора является исполняемый код на целевой платформе, предупреждения и сообщения об ошибках. При попытках использовать компилятор для реализации расширенной функциональности IDE возникают дополнительные требования к функциональности компилятора. Эти требования связаны с необходимостью обеспечить мгновенный отклик на действия пользователя при изменяющемся исходном коде программы.

Будет рассказано про алгоритмы и структуры данных, которые используются в IDE для реализации основных функций компилятора: синтаксический анализ, разрешение ссылок, семантические анализы. Также будут рассмотрены основные подходы к реализации функциональности, присущей только IDE: автодополнение, поиск использований и т.д.

Краткое содержание:

  • Инкрементальный лексический анализ
  • Инкрементальный синтаксический анализ
  • Индексирование файлов
  • Разрешение ссылок
  • Поиск использований
  • Автодополнение
  • Поддержка генеративных и вложенных языков
  • Реализация простых рефакторингов, разрешение конфликтов
  • Инкрементальный анализ кода
  • Слабо типизированные языки программирования
  • Алгоритмы анализа потока данных
  • Примитивы синхронизации

Дата и время Название Место Материалы
24 сентября
18:00–19:20
Лекция, лекция 2-й учебный корпус К(П)ФУ Нет
24 сентября
19:35–20:55
Лекция , лекция 2-й учебный корпус К(П)ФУ Нет
25 сентября
18:00–19:20
Лекция, лекция 2-й учебный корпус К(П)ФУ Нет
25 сентября
19:35–20:55
Лекция, лекция 2-й учебный корпус К(П)ФУ Нет
26 сентября
18:00–19:20
Лекция, лекция 2-й учебный корпус К(П)ФУ Нет
26 сентября
19:35–20:55
Лекция, лекция 2-й учебный корпус К(П)ФУ Нет