Ragel State Machine Compiler
colm.net
colm.net
Thanks Adrian for your efforts.
How does it compare with LPeg[1] ? This is what I currently use for all my parsing needs.
I've made an LPEG style syntax that compiles to the peg syntax for that tool, which is then compiled to c and linked into a Lua module, you can see how the parser is written here: https://github.com/leafo/moonparse/blob/master/parse.peg.moo...
A good example is the http code Zed wrote with ragel. From what I remember it was contracted by verisign because they wanted an implementation that actually followed the spec in detail, unlike all other code available at the time. That ragel code has been reused by a lot of embedded http servers in many languages now.
So they don't last. They're not all that maintainable in real teams. My experiences are mostly with ANTLR code (which has a debugger and lots of tooling and isn't that hard at all).
I'm at a loss for how to overcome this.
Note also that Ragel isn't some new-fangled thing. It was first released in January of 2002, and is very mature.
I'd rather use Lex where Lex is good enough.