Hacker News Front Page · ibobev ·
Pratt parsing is a black box
El artículo sostiene que Pratt parsing debe entenderse como una forma de organizar un parser alrededor de acciones asociadas a tokens: los nuds procesan tokens que no esperan una expresión a la izquierda, y los leds procesan los que sí la esperan. Según el autor, este enfoque evita el backtracking, permite que las acciones semánticas se ejecuten una sola vez y facilita extensiones como macros; también exige un lexer separado y no resuelve por sí solo el parsing de sentencias. La experiencia del autor destaca el valor del modal lexing para combinar sublenguajes y explica cómo ajustar la binding power para obtener operadores asociativos de derecha a izquierda.
It caught my attention that most of Pratt parsing tutorials that I've stumbled on spend almost all of their time explaining Pratt's algorithm and none explaining the properties behind Pratt that actually matter.