Because 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.