Ragel
From Wikipedia, the free encyclopedia
Ragel | |
---|---|
Developed by | Adrian Thurston |
Latest release | 6.1 / 2008-03-26 |
OS | Unix-like, Windows |
Genre | State machine compiler |
License | GNU General Public License |
Website | [1] |
Ragel is a finite state machine compiler with output support for C, C++, Objective-C, D, Java and Ruby source code. 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. 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.