English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
menhir
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2007-04-29 (07:27)
From: Christophe Raffalli <Christophe.Raffalli@u...>
Subject: Re: [Caml-list] menhir

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