Sciweavers

CORR
2010
Springer

Yacc is dead

13 years 2 months ago
Yacc is dead
Abstract. We present two novel approaches to parsing context-free languages. The first approach is based on an extension of Brzozowski’s derivative from regular expressions to context-free grammars. The second approach is based on a generalization of the derivative to parser combinators. The payoff of these techniques is a small (less than 250 lines of code), easy-to-implement parsing library capable of parsing arbitrary context-free grammars into lazy parse forests. Implementations for both Scala and Haskell are provided. Preliminary experiments with S-Expressions parsed millions of tokens per second, which suggests this technique is efficient enough for use in practice. 1 Top-down motivation: End cargo cult parsing “Cargo cult parsing” is a plague upon computing.1 Cargo cult parsing refers to the use of “magic” regular expressions—often cut and pasted directly from Google search results—to parse languages which ought to be parsed with contextfree grammars. Such parsin...
Matthew Might, David Darais
Added 24 Jan 2011
Updated 24 Jan 2011
Type Journal
Year 2010
Where CORR
Authors Matthew Might, David Darais
Comments (0)