Ragel State Machine Compiler 6.1 (Default branch)

Ragel compiles finite state machines from regularlanguages into C, C++, Objective-C, D, Java, orRuby code. It allows the programmer to embedactions at any point in a regular language, and tocontrol non-determinism in the resulting machines.It understands concatenation, union, kleene star,subtraction, intersection, epsilon transitions,and various other common operators. It alsosupports the construction of scanners and thebuilding of state machines using state charts. Itcan be used to create very fast recognizers andparsers that are also robust.License: GNU General Public License (GPL)Changes:
Scanners now ensure that any leaving actions atthe end of a pattern are executed. They are alwaysexecuted before the pattern action. The -d optionfor turning off the removal of duplicate actionsfrom actions lists was added.

More...