Not Leo optimization, it was using the leo items directly to create the ASF instead of expanding them into earley items. Here is the article I'm referring to:
https://metacpan.org/pod/release/JKEGL/Marpa-PP-0.005_006/pod/Advanced/Algorithm.pod#Leo-Semantics:-Indirect-and-Lazy In the article, you mention that the direct approach may be too complicated because it interweaves leo logic into Marpa's semantics. I ended up dynamically generating the SPPF node for the leo items which borrows from the ideas of Lazy, but uses the leo items directly instead of first converting them. It pushes the complexity into ASF child creation and out of the main algorithm abstracting the dynamic vs standard through a standard interface. I'm glad you mentioned blogging, I definitely plan on writing a series on the algorithm now that I've reached a stable point with the implementation. I think its the Marpa Algorithm is very elegant and needs as much marketing as possible. I'll post here when I have something to review. On Monday, July 13, 2015 at 4:57:30 PM UTC-4, Jeffrey Kegler wrote: > > Thanks for your interest. > > Did I discourage using the Leo optimization? I don't remember doing > that. I'm usually pushing folks to try it. > > If you found Leo implementation straight-forward, you might try writing it > up in blog form, or whatever. A lot of folks are interested in > implementing it, but find it hard to understand. > > On Sun, Jul 12, 2015 at 6:30 PM, <[email protected] <javascript:>> wrote: > >> I've been a long time lurker ever since watching the FLOSS Weekly >> interview with Andrew Rodland. >> <https://twit.tv/shows/floss-weekly/episodes/321> I have always been >> curious about parsing and decided to try and implement the algorithm in c#. >> I'd like to thank the community for being so open with documentation and >> implementation detail as it has been great in doing research in the >> implementation. >> >> During parse tree creation, I ended up getting stuck on recreating the >> parse forest for leo items. >> >> Posting on stackoverflow >> <http://cstheory.stackexchange.com/q/31182/32787>got the attention of >> Jeffrey who led me to a solution with his comment on some marpa >> documentation. I actually implemented the sparsely packed parse forest >> using leo items directly and thought this implementation may be of >> interest. Jeffrey mentioned that using leo semantics may be too >> complicated, but it turned out to be fairly straightforward. I look at leo >> items like chains that form the right spine of a SPPF tree. The SPPF is >> implemented using Elizabeth Scott's algorithm >> <http://www.sciencedirect.com/science/article/pii/S1571066108001497>. >> Virtual nodes help in keeping the recognition time O(n), and during >> creation top of the leo chain is passed into the virtual node. A index >> pointer to the top of the chain is passed from leo item to leo item during >> the optimization phase, forward pointers are maintained when returning from >> the recursive leo optimization. >> >> I think the implementation is at a point where I'm ready to let the marpa >> community see it and give some critique. Here is the github repo >> <https://github.com/patrickhuber/pliant>. It still needs a lot of work, >> but I'm pretty sure the SPPF with leo items is working properly. If there >> are any test cases that you know are particularly challenging for the marpa >> parser, I'd be interested in implementing them to make sure my >> implementation is correct. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "marpa parser" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "marpa parser" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
