To avoid confusion, there should be a correspondence between state numbers in the generated code, graphviz and the XML. Might be a good idea to add in some protection against using up all of a system's memory. This protection could then be removed by people when someone is sure they want to use a lot of memory. fbreak should advance the current char. Depreciate fbreak and add fctl_break; fctl_return ; fctl_goto