Marpa will parse anything that can be written in BNF
savage.net.au
savage.net.au
Does Marpa live up to its advertising? Is it more generally useful than GLR or GLL (which, despite having some flurry of effort in the past decade, themselves have not set the parsing world on fire). It's frustrating, because the parsing world has gone around in circles for many years now (PEG being a great example). It would be nice to have algorithms with superior parsing power that are at least as fast as the less powerful ones used by virtually everyone today.
The only parsing library I’ve played with recently is Instaparse in Clojure, which is apparently GLL. It was a delight to use. I found a PDF of the old version of Apache Expression Language that I needed to interpret, typed it almost verbatim into a quite readable text file, and Instaparse did the rest. It was an exciting experience to have unlocked this embedded DSL with about three lines of code, not counting the grammar definition.
The most recent effort I've noticed is the Rust marpa and libmarpa-sys crates, but they've seemingly been inactive for a year.
It might be interesting to attempt a port to language like Julia, both dynamically expressive, and with a good C ffi. Just to get a feel for the level of difficulty. Though I've a many-years-old very fuzzy recollection that the test coverage was worrisome.
Even by the "shoemaker's children have no shoes" standard of our profession, the state of parsing can disappoint.