Почему Pratt-парсинг не преподают в вузах, а он проще и мощнее рекурсивного спуска

Writing about pratt parsing so I remember it

Автор рассказывает, как перешёл от алгоритма сортировочной станции к Pratt-парсингу для разбора выражений C. Он отмечает, что эта техника почти не встречается в классических учебниках вроде «Драконьей книги», но именно она даёт простую расширяемость: префиксные и инфиксные операторы обрабатываются рекурсивно, а стек вызовов заменяет явный стек операторов. В статье приводятся примеры кода на C и объясняется, как добавить скобки и другие операторы.

Самое крутое, что в отличие от рекурсивного спуска, вы не вкладываете вызовы на каждом уровне приоритета для каждого выражения, а только когда входите в подвыражения. Одновременно чуть эффективнее и чище!

Ещё за этот день

2026-10-27