StateGen
Generate an executable state machine from a high level language.
...Any code may also be defined to be run before the start state is entered as well as after the end state is finished.
Uses for this software include creating scanners and filters as well as user interfaces. Any time a complex integer based state machine is appropriate, this generator will help the developer create the states in a clear and organized fashion with lots of supporting documentation.