I made a parser generator implementing Jay Earleys algorithm for parsing input. It also incorporates Joop Leo’s right recursion optimization to handle right recursing rules in linear time. I’d like to open-source it, and I probably will soon, but the current grammar style is pretty messy, using a table. So before I open source it i’ll probably bootstrap the grammar using the module itself. Here’s a video of it working:
Peep the nice error messages on the right. The grammar used for this parsing is below:
You can also test it out in this game:
Ctr + Click on a project to view a description, ignore the other 2 for now.
Lastly, if you’d like to read upon the world of compilers and parsing I’ve made a collection of resources I used: