HackerPapers

arXiv:1010.5023cs.PL

Yacc is dead

Matthew Might, David Darais

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.

arXiv comments
18 pages; submitted October 2009 to ESOP; rejected
Journal reference
DOI
Subjects
cs.PLProgramming Languages

On Hacker News

Linked by 2 identifiable commenters in 2 comments across 2 threads, from Feb 2013 to Dec 2016. Found in 4 HN submissions from Nov 2010 to Jan 2024. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments2 threads

    • http://langsec.org/ https://news.ycombinator.com/item?id=2300836 https://arxiv.org/abs/1010.5023 Yacc is dead, Matthew Might, David Darais

      based2View on HNParent context

  1. C++ Grandmaster Certification 1 comment
    • C++ is messed up that you're gonna need to do some weird stuff. First, the grammar is ambiguous. Second, the template language is undecidable. Nothing you can do about the second. The first, you'll at least need something capable of parsing context-free languages. My…

      Locke1689View on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.