Pull to refresh

Comments 8

Если это часть 2, разместите пожалуйста ссылку на часть 1 вверху, если она имеется на хабре
Так python с версии 3.9 использует новый парсер — PEG.
Ну, до версии 3.9 ещё надо дожить. Да и на официальном сайте написано:
Python 3.9 использует новый парсер, основывающийся на PEG, вместо LL(1). Производительность нового парсера сопоставима с производительностью старого, но PEG более гибок по сравнению с LL(1), когда мы говорим о добавлении новых функций в язык. Мы начнём использовать эту гибкость начиная с версии Python 3.10 и выше.
Так что, верхние уровни интерпретатора не поменяются. К тому же, я хочу в конце написать свою краткую и «подводящую итоги» статью об устройстве виртуальной машины пайтон, где упомяну про PEG. Плюс у меня и так в планах перевести на русский язык PEP 617 — New PEG parser for CPython

P.S Извините, уже дожили до 3.9 и вчера релизнули. Какой же я старый... =)
image
Я уже перевёл цикл статей Гвидо про новый парсер. Кстати, одна из задач нового парсера — исключить генерацию синтаксических деревьев, т.е. сразу строить AST.

Если позволите вставить 5 копеек, "parse tree" обычно переводят как деревья разбора или синтаксические деревья.

Блин, ну я ведь так и знал, что правильнее будет «деревья разбора», но побоялся ошибиться. Ок, со следующей статьи так и буду переводить, а попозже и в этой заменю.
Спасибо! Действительно интересно было почитать как оно работает. Я дальше парсинга и построения AST до этого момента не заглядывал.
Sign up to leave a comment.

Articles