Как стать автором
Обновить

Комментарии 9

А ANTLR рассматривали в качестве генератора лексера и парсера? Рантайм под Python2 и Python3 есть.

Честно говоря, я не знал о существовании рантайма под Python в момент подготовки этого доклада.
Как вы и сказали — ANTLR это тоже генератор анализаторов, как и PLY. В докладе хотелось сравнить различные подходы к написанию парсеров и были выбраны наиболее популярные библиотеки, реализующие эти подходы.
Как я понял, это ваш доклад PiterPy — 2016?
Именно этот доклад с PyCon Russia 2016.
Мне кажется PLY это в любом случае более правильный вариант т.к. он, как я понял, использует стандартную нотацию Бэкуса-Наура, остальные варианты требуют изучения каких-то самопальных нотаций.
Значит это ещё лучший вариант, просто в статье он не упомянулся.
Да, PLY, ANTLR и подобные генераторы парсеров выигривают, если вы знакомы с БНФ. Остальные варианты имеют право на жизнь, если вам необходимо быстро написать маленький простой парсер для простой грамматики.
Даже если незнаком, то лучше изучать БНФ, чем какой-то нестандартный синтаксис, затраты по времени сравнимы (не на порядок больше), а польза от знания БНФ значительно выше.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий