Parser Combinators for Ambiguous Left-Recursive Grammars [chapter]

Richard A. Frost, Rahmatullah Hafiz, Paul Callaghan
Practical Aspects of Declarative Languages  
Parser combinators are higher-order functions used to build parsers as executable specifications of grammars. Some existing implementations are only able to handle limited ambiguity, some have exponential time and/or space complexity for ambiguous input, most cannot accommodate left-recursive grammars. This paper describes combinators, implemented in Haskell, which overcome all of these limitations.
doi:10.1007/978-3-540-77442-6_12 dblp:conf/padl/FrostHC08 fatcat:j2wytzanorg55hdt2von3x6544