City: Saint-Petersburg Kazan Language: Русский English

Technology of IDE support construction for programming languages
Kazan / autumn 2014, посмотреть все семестры

Enroll in the course to get notifications and to be able to submit home assignments.
Register to enroll now Login

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

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

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

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

Date and time Class|Name Venue|short Materials
24 September
18:00–19:20
Лекция, lecture 2-й учебный корпус К(П)ФУ No
24 September
19:35–20:55
Лекция , lecture 2-й учебный корпус К(П)ФУ No
25 September
18:00–19:20
Лекция, lecture 2-й учебный корпус К(П)ФУ No
25 September
19:35–20:55
Лекция, lecture 2-й учебный корпус К(П)ФУ No
26 September
18:00–19:20
Лекция, lecture 2-й учебный корпус К(П)ФУ No
26 September
19:35–20:55
Лекция, lecture 2-й учебный корпус К(П)ФУ No