I'm implementing different parsing algorithms (for programming language text to syntax tree purposes). There are so many papers published on different algorithms... I'm just slowly reading it all, and implementing the algorithms and improvement ideas, sometimes combining ones from different papers. At the moment I'm constraining myself to LR-based algorithms to not drown even more in the sea of publications.
I have a recursive ascent code generator with a bunch of optimisations that I wrote about [1,2]; it's a linear-time parser for LR(1) with reduced overhead. I have an RNGLR implementation (a polynomial-time parser for any context-free grammar), that's still a table-based interpreter like more LR-based parsers out there. I've extended that implementation with special code to handle cycles more efficiently. Some day, I'll take some time to write a paper on that and publish it. Currently, I'm trying to combine the two ideas and create a generalised recursive ascent code generator. If I succeed I'll write another blog post again, it's been a year since the last one...
[1]: https://blog.jeffsmits.net/optimising-recursive-ascent/ [2]: https://blog.jeffsmits.net/optimising-recursive-ascent-part-...