From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id DC29EBB81 for ; Tue, 13 Dec 2005 22:07:11 +0100 (CET) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.201]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id jBDL7A2J006227 for ; Tue, 13 Dec 2005 22:07:11 +0100 Received: by zproxy.gmail.com with SMTP id x3so1788640nzd for ; Tue, 13 Dec 2005 13:07:10 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=jpTNS7jrDw4hWsHJXZAsiKWNeixreovesv6UNwggtHmneaDj8jEobj16SgD0SajRyPhxfKajoayf3SrPYvQdssP6pDR9YKednH9LfflTPlMuzLPQO090gjOOKMSMHRYbfOIUGItu3Kx6sAHJrwW1oZjHBpBhByIK5v/2svGWmWA= Received: by 10.36.141.19 with SMTP id o19mr7725319nzd; Tue, 13 Dec 2005 13:07:10 -0800 (PST) Received: by 10.36.13.15 with HTTP; Tue, 13 Dec 2005 13:07:10 -0800 (PST) Message-ID: Date: Tue, 13 Dec 2005 13:07:10 -0800 From: Nathaniel Gray To: Francois.Pottier@inria.fr Subject: Re: [Caml-list] [ANNOUNCE] Alpha release of Menhir, an LR(1) parser generator for ocaml Cc: Caml Mailing List In-Reply-To: <20051212175838.GA8502@yquem.inria.fr> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_7435_24363427.1134508030117" References: <20051212175838.GA8502@yquem.inria.fr> X-Miltered: at nez-perce with ID 439F37FE.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 parser:01 ocaml:01 ocamlyacc:01 parsing:01 cheers:01 grammar:01 ocaml:01 ocamlyacc:01 grammar:01 parsers:01 parsing:01 replacing:01 sequences:01 syntax:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.5 required=5.0 tests=HTML_20_30,HTML_MESSAGE, RCVD_BY_IP autolearn=disabled version=3.0.3 ------=_Part_7435_24363427.1134508030117 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline 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. I= t > 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 bette= r > 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=E7ois Pottier and Yann R=E9gis-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 --> ------=_Part_7435_24363427.1134508030117 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline This is pretty nice!  Every time I use ocamlyacc I think "somebod= y 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 <Francois.Pottier@inria.fr> wrote:
Dear Caml users,

We are proud to announce the first release of M= enhir. Menhir compiles LR(1)
grammar specifications to OCaml code.
Menhir is 90% compatible with ocamlyacc. That is, existing ocamlyacc gram= mar
specifications are accepted and compiled by Menhir; the resulting parse= rs run
and produce correct parse trees, except they produce incorrect po= sition
information, because none of the functionality of module Parsing = is
supported. Porting a grammar specification from ocamlyacc to Menhir req= uires
replacing all calls to the Parsing module with new keywords.
Why switch from ocamlyacc to Menhir? In short,

* Menhir offers pa= rameterized nonterminal symbols as well as a library of
   standard definitions, including options, sequences, and li= sts. 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 sp= ecifications to be split over multiple files. It
   also allow= s several grammars to share a single set of tokens.

* Menhir produces reentrant parsers.

* Menhir is able to p= roduce 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 an= d better
   than ocamlyacc's.

A more detailed compariso= n 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 docume= ntation can
be found at

  http://pauillac.inria.fr/~fpottier/men= hir/menhir-20051212.tar.gz
   http://pauillac.inria.fr/~fpottier/menhir/manual.pdf

--
Fran= =E7ois Pottier and Yann R=E9gis-Gianas
{Francois.Pottier,Yann.Regis-Gian= as}@inria.fr
http://pauillac.inria.fr/~fpottier/
http://pauillac.inria.fr/~regisgia/

____________= ___________________________________
Caml-list mailing list. Subscription= management:
ht= tp://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list:= =20 http://groups.yah= oo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs



--
>>>-- Nathaniel Gray -- Cal= tech Computer Science ------>
>>>-- Mojave Project -- http://mojave.cs.caltech.edu --> ------=_Part_7435_24363427.1134508030117--