jamesrhester / Lerche.jl

A Julia port of the Lark parser
MIT License
45 stars 3 forks source link

Plans to support Earley parsing? #25

Open robertfeldt opened 2 years ago

robertfeldt commented 2 years ago

Thanks for Lerche.jl, it looks great.

The Python Lark supports also Earley(SPPF) parsing. Any plans to implement this also for Lerche.jl?

jamesrhester commented 2 years ago

No concrete plans but every request for adding it encourages me to do it - of course pull requests also welcome. Anybody else who would like Earley parsing feel free to add a comment or reaction emoji to this issue, I'll leave it open.

robertfeldt commented 2 years ago

Thanks for at least considering it.

I think it will be really useful for more advanced and research projects where keeping the ambiguity around for later processing is important. Personally, I'm looking into some new automated testing ideas which would benefit from Earley parsing, i.e. keeping the ambiguity points to different type of testing scenarios that might need to be explored.

Also given Julia's excellent performance I think an Earley implementation might have relatively even larger performance gains relative to Python and other implementations so could be a real selling point.

But I fully understand, that open-source projects have limited time and resources to put it; just wanted to state my arguments. :) I have some experience with Earley parsing and might try doing a PR at some point but knowing my schedule I'll not promise very/too much. ;)