Simple, Efficient, Sound and Complete Combinator Parsing for All Context-Free Grammars, Using an Oracle

Parsers for context-free grammars can be implemented directly and naturally in a functional style known as “combinator parsing”, using recursion following the structure of the grammar rules. Traditionally parser combinators have struggled to handle all features of context-free grammars, such as left recursion.

[1]  Daan Leijen,et al.  Parsec: A practical parser library , 2001 .

[2]  Vaughan R. Pratt,et al.  Top down operator precedence , 1973, POPL.

[3]  Robert Atkey The Semantics of Parsing with Semantic Actions , 2012, 2012 27th Annual IEEE Symposium on Logic in Computer Science.

[4]  Peter Thiemann,et al.  Syntactic Type Soundness for the Region Calculus , 2001, HOOTS.

[5]  Bryan Ford,et al.  Packrat parsing:: simple, powerful, lazy, linear time, functional pearl , 2002, ICFP '02.

[6]  Brian Campbell,et al.  An Executable Semantics for CompCert C , 2012, CPP.

[7]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[8]  Adrian Johnstone,et al.  GLL parse-tree generation , 2013, Sci. Comput. Program..

[9]  Tom Ridge,et al.  Simple, Functional, Sound and Complete Parsing for All Context-Free Grammars , 2011, CPP.

[10]  Masaru Tomita,et al.  LR Parsers For Natural Languages , 1984, Annual Meeting of the Association for Computational Linguistics.

[11]  Adrian Johnstone,et al.  GLL Parsing , 2010, LDTA.

[12]  Richard A. Frost,et al.  Parser Combinators for Ambiguous Left-Recursive Grammars , 2008, PADL.

[13]  Richard A. Frost,et al.  Lazy Combinators for Executable Specifications of General Attribute Grammars , 2010, PADL.

[14]  Michael Norrish,et al.  A mechanisation of some context-free language theory in HOL4 , 2014, J. Comput. Syst. Sci..

[15]  Joop M. I. M. Leo A General Context-Free Parsing Algorithm Running in Linear Time on Every LR (k) Grammar Without Using Lookahead , 1991, Theor. Comput. Sci..

[16]  Alfred V. Aho,et al.  The Theory of Parsing, Translation, and Compiling , 1972 .

[17]  Gill Andy Debugging Haskell by Observing Intermediate Data Structures , 2001 .

[18]  Graham Hutton,et al.  Higher-order functions for parsing , 1992, Journal of Functional Programming.

[19]  Lillian Lee,et al.  Fast context-free grammar parsing requires fast boolean matrix multiplication , 2001, JACM.

[20]  Tadao Kasami,et al.  An Efficient Recognition and Syntax-Analysis Algorithm for Context-Free Languages , 1965 .

[21]  Guy E. Blelloch,et al.  Selective memoization , 2003, POPL '03.

[22]  Richard A. Frost,et al.  Modular and Efficient Top-Down Parsing for Ambiguous Left-Recursive Grammars , 2007, IWPT.

[23]  Jay Earley,et al.  An efficient context-free parsing algorithm , 1970, Commun. ACM.

[24]  井上 謙蔵 A.V.Aho,J.D.Ullman 著, 『The Theory of Parsing,Translation,and Compiling』Volume I,II., B5版, 上下 10202P, 1972年(上)1973年(下), Prentice Hall , 1976 .