2009/3/30 john skaller <skal...@users.sourceforge.net> > > On 30/03/2009, at 9:17 PM, Emmanuel Onzon wrote: > > >> At this time, parsing is the major problem. Before Dypgen, binding >> dominated. >> >> Hi, >> >> Why not update to the last version of dypgen? parsing >> performances should improve. >> Besides, many bugs have been fixed since 2007. >> > > > Because it is a lot of work, trolling through all the changes > and then applying all that to the Felix calling code, and don't > forget at the moment Dypgen is integrated with our build system. > > What would be cool is if Felix "nested grammars" could work > efficiently. This was implemented, and required "forgetting" > certain productions when they drop out of scope. However > if you recall there was a major performance problem because > the grammar must be left recursive for this to work, but dypgen > requires it to be right recursive to tail optimise it. There's probably > no way around this, but the left recursive form is untenable, because > it stacks up the statement grammar every statement. > > Something like that (I may have the details wrong, it's been a while). > > the temporary solution has been to (secretly) disable nested grammar. > (that is, grammars that only apply inside a Felix scope). >
Left-recursive rules are more efficient than right-recursive with LR parsing and dypgen could only add new productions with right-recursive rules. But this limitation has been overcome with the parser command Keep_grammar. (see manual section 6.4 p.40). > > Anyhow the big problem is labour. > Ok. Maybe I can help to do this update, I have to see. But I fail to build the compiler (r2396): when doing 'make config' I get : make: *** Pas de règle pour fabriquer la cible « config/init__.py », nécessaire pour « config ». Arrêt. when doing ./configure I get : Interscript 1.0a11[117] Process Mon 30 Mar, 2009 18:19:55 (CEST) PROCESSING WHOLE FILE (options changed) $Id: flx_maker.pak 2217 2008-08-19 09:39:25Z skaller $ Pass 1 status: <not converged> Files : 30 New : 19 Changed : 6 Unchanged: 5 Elapsed Process Time 0 seconds after about 4 minutes. Emmanuel
------------------------------------------------------------------------------
_______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language