Ruby gem for generating code for a finite automaton from a DSL