Developer(s) | Adrian Thurston |
---|---|
Stable release |
6.9 / October 14, 2014
|
Operating system | Unix-like, Windows |
Type | State machine compiler |
License | MIT License |
Website | www |
Ragel is a finite-state machine compiler and a parser generator. Initially Ragel supported output for C, C++ and Assembly source code, and was subsequently extended to support Objective C, D, Go, Ruby, and Java. It supports the generation of table or control flow driven state machines from regular expressions and/or state charts and can also build lexical analysers via the longest-match method. Ragel specifically targets text parsing and input validation.
Ragel supports the generation of table or control flow driven state machines from regular expressions and/or state charts and can also build lexical analysers via the longest-match method. A unique feature of Ragel is that user actions can be associated with arbitrary state machine transitions using operators that are integrated into the regular expressions. Ragel also supports visualization of the generated machine via graphviz.