From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=AWL autolearn=disabled version=3.1.3 Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id BA574BC69 for ; Sun, 29 Apr 2007 09:27:33 +0200 (CEST) Received: from smtp3-g19.free.fr (smtp3-g19.free.fr [212.27.42.29]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l3T7RXg0028514 for ; Sun, 29 Apr 2007 09:27:33 +0200 Received: from [192.168.144.3] (lns-bzn-21-82-64-111-25.adsl.proxad.net [82.64.111.25]) by smtp3-g19.free.fr (Postfix) with ESMTP id 374F55DFE3 for ; Sun, 29 Apr 2007 09:27:33 +0200 (CEST) Message-ID: <463448EF.3000103@univ-savoie.fr> Date: Sun, 29 Apr 2007 09:27:43 +0200 From: Christophe Raffalli User-Agent: Thunderbird 1.5.0.10 (Macintosh/20070221) MIME-Version: 1.0 To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] menhir References: <1177756336.11923.18.camel@rosella.wigram> <20070428165058.GA31584@yquem.inria.fr> <1177821783.25394.37.camel@rosella.wigram> In-Reply-To: <1177821783.25394.37.camel@rosella.wigram> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Miltered: at discorde with ID 463448E5.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; christophe:01 raffalli:01 christophe:01 raffalli:01 univ-savoie:01 parser:01 hmmm:01 stack:01 parser:01 parsers:01 lalr:01 token:01 dynamically:01 extensible:01 extensible:01 Dear list members, > > OTOH with GLR parser, extra functionality is gained, > and user actions must have no side effects, so > the idea to 'push back' the overshoot token cannot be used > (since it is a side-effect), at least without some thought.. > hmmm .. > dypgen uses GLR and allows side effect, because it keeps a state associated to each stack. Actually two states, one global on one "top down": typically the top down state can be used to carry information about bound variables down in the parse tree. > An extensible GLR+ parser would be interesting. This is > an extensible list of GLR parsers that run in 'parallel', > using the GLR idea, but the list being dynamically extensible. > Exactly how you'd manage it i don't know. > dypgen allows the action to extend the grammar (in a precise scope) About table/code size, dypgen can use (the user choose) LR0, LALR or LR1 automaton to drive the parser. Moreover, priorities can be handled (this is the default) outside the automaton, giving very small tables. Christophe Raffalli