Hello Matthew, that is interesting news. Do you have some documentation or reference to provide regarding the algorithm you use to handle left recursion ? Is it a new algorithm of your making ? Also, is the indirect recursion you mention provably handled or did you just assert on some archetypal cases ? I read in your documentation you will release the algorithm later on, if so, please notify us (or me) here ! I am interested in seeing how the general problem of general recursion patterns can be solved efficiently while retaining the essence of the PEG formalism. Thanks,
Alex 2013/8/12 Matthew Goode <matt...@scratchy.org.nz> > Hello, I'm pretty much ready to release a parser generator I've been > working on for a while. It is a packrat inspired parser (though can avoid > memorising), that handles left recursion indirectly and directly, and takes > into account option order with left recursion. So, the following > > e = { e "+" e } | {e "*" e } | NUMBER > > will parse "1+2*3+4" as (1+((2*3)+4) (if specified correctly - see > documentation). This seems to work okay with indirect recursion as well, > and with or without memorisation. It does use a tokenisation step, because > I liked that better, but that may change in future versions. It also has > extensions to PEG that allow it to match things like Fibonacci sequences... > > It can be found at > http://scratchy.org.nz/austen.**php<http://scratchy.org.nz/austen.php> > > (It is still a work in a progress, but for the most part is a well matured > tool - I've been working on and using it for years). > > Matthew > > > ______________________________**_________________ > PEG mailing list > PEG@lists.csail.mit.edu > https://lists.csail.mit.edu/**mailman/listinfo/peg<https://lists.csail.mit.edu/mailman/listinfo/peg> >
_______________________________________________ PEG mailing list PEG@lists.csail.mit.edu https://lists.csail.mit.edu/mailman/listinfo/peg