Раздел 45 · Python backend: Тарбадель

Узлы AST на dataclasses и match

middle-senior~45 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Лорра спустилась по шахте с тем же планшетом, с которым принимала терминал v2, и встала у стойки, на которой Узор держит журнал Оракула. Элодий сидит на ящике и молчит: вопрос задан, отвечать тебе.

Строка из прошлого урока хорошо показывает, как парсер понял приоритеты. Но дальше по разделу дерево придётся обходить: считать, искать имена, превращать в байткод. Каждый обход начинался бы с того, что строку снова режут на скобки, то есть снова парсят. У дерева должна быть форма, которую можно спросить: «ты сложение? дай левую часть». В этом уроке узлы становятся объектами: у каждого вида свой класс, у каждого класса свои поля, и ни один узел не меняется после разбора.

урок из курса

Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.