def main(): G = Grammar(grammar) if G.grammarType[0] != 3: print "Not a regular grammar!\n" return FSM = FiniteStateMachine(G, "K", ["V"]) drawFSM(FSM, "FSM_initial") FSM.removeUnreachableStates() FSM.determinate() drawFSM(FSM, "FSM_determinated") FSM.printRules()
def main(): currentGrammar = grammars[gramarToUse] G = Grammar(currentGrammar["grammar"]) if G.grammarType[0] != 3: print "Not a regular grammar!\n" return FSM = FiniteStateMachine(G, currentGrammar["startState"], currentGrammar["endStates"]) drawFSM(FSM, "FSM_initial") FSM.removeUnreachableStates() drawFSM(FSM, "FSM_no_unreachable_states") FSM.minimize() drawFSM(FSM, "FSM_minimised") FSM.printRules()