Теория компиляции
Лектор: Борисенко Владимир Витальевич
Дистанционное обучение
Предлагается для дистанционных лекций и семинаров
использовать Zoom.
Время встречи (Meeting), весенний семестр 2022 г.:
среда в 16:45, продолжительность 1 час 30 минут.
Первая лекция 2 марта 2022.
Ссылка на Zoom-конференцию:
https://us02web.zoom.us/j/2842740990?pwd=bkhtRlNxL3E3SnZCTU1oSFNHcHJNQT09
Meeting ID: 284 274 0990
пароль 1
Осенний семестр 2021-22 учебного года
Записи лекций
(текст на "виртуальной доске"), осенний семестр 2021
Формат предсталения конечного автомата в виде XML-файла,
пример: "automaton.xml".
Имена состояний и входные сигналы могут содержать произвольные
строки. Переход по пустой последовательности обозначается
как вход "eps":
<transition>
<input>eps</input>
<destination>state_name</destination>
</transition>
Видео лекции 29 Sep 2021
Видео лекции 06 Oct 2021
Видео лекции 13 Oct 2021
Видео лекции 27 Oct 2021
Весенний семестр 2022 г.
Записи лекций
(текст на "виртуальной доске"), весенний семестр 2022
-
Видео лекции 16 марта 2022:
Повторение материала предыдущего семестра. Формальные языки и грамматики.
Классы грамматик: контекстно зависимые, контекстно свободные,
праволинейные (автоматные, регулярные языки). Правые и левые выводы,
синтаксические деревья для контекстно-свободных языков. LR-процесс.
Соотвествие между правыми выводами и успешными LR-процессами.
Построение множества состояний LR(0)-разбора.
-
Видео лекции 23 марта 2022:
Задача разбора, восходящий разбор, LR-процесс. Построение
множества состояний LR(0)-разбора и таблицы LR-парсера.
Алгоритм работы LR-парсера. Семантический стек парсера.
Конфликты сдвиг-свертка и свертка-свертка. Пример грамматики,
не являющейся LR(0)-грамматикой.
-
Видео лекции 30 марта 2022:
Разрешение конфликтов LR(0)-разбора путем учета первого символа
аванцепочки. Построение множества состояний LR(1)-разбора.
Детерминированные языки.
Пример однозначного языка, не допускающего LR(1)-разбор.
Материалы прошлых лет
Осенний семестр 2020-21 учебного года
Записи лекций, осенний семестр 2020-21
Примеры задач для экзамена.
Видео лекции 8 апреля 2020:
Парсер
логических выражений.
Видео лекции 29 апреля 2020:
Учебный
компилятор "Delta".
Учебный компилятор "Delta",
реализованный с помощью Lex и YACC.
Примеры программ для лабораторных работ.