Город МОСКОВСКИЙ
01:39:02

Базовый курс C++ (MIPT, ILab). Lecture 10. Языки и грамматики

Аватар
C++ лекции на русском языке
Просмотры:
659
Дата загрузки:
13.04.2022 09:26
Длительность:
01:39:02
Категория:
Обучение

Описание

Лекции в бакалавриате МФТИ по C++ на русском языке.

В этой лекции мы поговорим о том как устроены формальные грамматики, что такое контекстная свободность и о том какие бывают парсеры. Далее мы изучим bison в том числе в его взаимодействии с flex. Ну и под конец увидим, что проектирование компилятора это отличная возможность попрактиковаться в ООП.

Дополнительно рекомендуется лекция по автоматам: https://www.youtube.com/watch?v=M2XqgaJXjhM

Лектор: Константин Владимиров
Дата лекции: 15 ноября 2021 года
Съёмка: Владислав Белов.
Звук: Дмитрий Рябцев.

Предыдущая лекция: https://youtu.be/9WIPP5Bgii0
Следующая лекция: https://youtu.be/P1LcWg6K3WE

Слайды ко всем лекциям: https://sourceforge.net/projects/cpp-lects-rus/files/cpp-graduate
Примеры кода ко всем лекциям: https://github.com/tilir/cpp-graduate

Timeline:
00:00 Вспоминаем лексеры
11:06 Грамматики
24:24 Вывод и неоднозначность
35:00 Рекурсивный спуск LL(k)
43:30 Парсер для LL(1)
52:10 Восходящий разбор и bison
1:03:00 Взаимодействие bison и flex
1:10:00 shift/reduce конфликты и исправляем грамматику
1:20:25 Реалистичный парсер для ParaCL
1:30:55 Немного о проектировании и литература

Errata:
* Тут пока пусто

Рекомендуемые видео