Write state machines with ease and generate efficient C/C++ code for runtime execution
Ragel (Rosetta Automated Generator of Embedded Languages) is an open-source computer software for the creation of parsers, lexers, pattern matchers and other programs that process structured input data. It uses a state machine to recognize regular languages, similar to lexical analyzers and parsers generated by other parser generators.
Some key features of Ragel include:
Ragel makes it easy to embed state machine based parsers, tokenizers and other programs into host applications. The state machines perform quickly as they run directly on the input stream without extra buffering. Ragel is useful for recognizing patterns, lexing program code, machine processing, data conversion and validation, protocol state machines and more.