Use ragel for main generation.
Use ragel for main generation.
Add a command interpreter based on a Ragel state machine.