3 ms·
Just a note on ragel: it can be used to create lexers, but that is not its distinguishing characteristic. It is a parser generator for regular languages.
by thurston 19y ago
Just a note on ragel: it can be used to create lexers, but that is not its distinguishing characteristic. It is a parser generator for regular languages.
- tptacek 19y agoBecause this is a more interesting conversation than the grandparent comment --- what's the difference between a lexer generator and a parser generator for regular languages? What can I do with Ragel that I can't do with a (probably clumsy) application of Flex? I don't mean to snipe at Ragel, just Shaw's use of it as an amulet against vulnerabilities.
- thurston 19y agoYou can define a full grammar for a language and embed actions in arbitrary places. It is compiled to a very fast DFA. Think of it as a yacc for regular languages. Zed's advocacy for Ragel is really about using parser generators to implement internet-facing parsers.