FREE SOFTWARE ON CAMLCITY.ORG
A LR(1) parser generator for Objective Caml.
Menhir compiles LR(1) grammar specifications down to Objective Caml code. It accepts legacy ocamlyacc grammar specifications, with a few caveats. It is superior to ocamlyacc in several ways. For instance, it offers a library of standard parameterized definitions, including options, sequences, and lists, and allows users to define their own parameterized nonterminal symbols. It accepts LR(1) grammars, as opposed to only LALR(1) grammars, and attempts to explain conflicts in a readable way. See the reference manual for a more detailed overview of Menhir.