This is pretty nice! Every time I use ocamlyacc I think "somebody should write something better." Now it looks like somebody has! I can't tell you how many times I've wanted parameterized rules and simple "library" rules for parsing delimiter-separated lists and such... Cheers, -n8 On 12/12/05, Francois Pottier wrote: > > > Dear Caml users, > > We are proud to announce the first release of Menhir. Menhir compiles > LR(1) > grammar specifications to OCaml code. > > Menhir is 90% compatible with ocamlyacc. That is, existing ocamlyacc > grammar > specifications are accepted and compiled by Menhir; the resulting parsers > run > and produce correct parse trees, except they produce incorrect position > information, because none of the functionality of module Parsing is > supported. Porting a grammar specification from ocamlyacc to Menhir > requires > replacing all calls to the Parsing module with new keywords. > > Why switch from ocamlyacc to Menhir? In short, > > * Menhir offers parameterized nonterminal symbols as well as a library of > standard definitions, including options, sequences, and lists. It also > offers limited support for EBNF syntax. > > * ocamlyacc accepts LALR(1) grammars; Menhir accepts LR(1) grammars, thus > avoiding certain artificial conflicts. > > * Menhir explains conflicts in terms of the grammar, not (only) in terms > of > the automaton. > > * Menhir allows grammar specifications to be split over multiple files. It > also allows several grammars to share a single set of tokens. > > * Menhir produces reentrant parsers. > > * Menhir is able to produce parsers that are parameterized by Ocaml > modules. > > * ocamlyacc requires semantic values to be referred to via keywords: $1, > $2, > and so on. Menhir allows semantic values to be explicitly named. > > * Menhir's error and warning messages are usually more numerous and better > than ocamlyacc's. > > A more detailed comparison between ocamlyacc and Menhir appears in > Menhir's > documentation. > > This is an ALPHA-quality release, so there certainly remain a lot of bugs > to iron out. Nevertheless, we encourage intrepid testers to have a look > and send suggestions and bug reports our way. Thanks for your attention! > > Menhir requires ocaml 3.09. The source distribution and the documentation > can > be found at > > http://pauillac.inria.fr/~fpottier/menhir/menhir-20051212.tar.gz > http://pauillac.inria.fr/~fpottier/menhir/manual.pdf > > -- > François Pottier and Yann Régis-Gianas > {Francois.Pottier,Yann.Regis-Gianas}@inria.fr > http://pauillac.inria.fr/~fpottier/ > http://pauillac.inria.fr/~regisgia/ > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > -- >>>-- Nathaniel Gray -- Caltech Computer Science ------> >>>-- Mojave Project -- http://mojave.cs.caltech.edu -->