Practical Aspects of Declarative Languages

Volume 4902 of the series Lecture Notes in Computer Science pp 167-181

Parser Combinators for Ambiguous Left-Recursive Grammars

  • Richard A. FrostAffiliated withSchool of Computer Science, University of Windsor
  • , Rahmatullah HafizAffiliated withSchool of Computer Science, University of Windsor
  • , Paul CallaghanAffiliated withDepartment of Computer Science, University of Durham

* Final gross prices may vary according to local VAT.

Get Access


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.


Parser combinators ambiguity left recursion functional programming natural-language parsing