This is a coursework for CS262 at Udacity. A Python simple implementation of finite state machine.
# FSM Simulation edges = {(1, 'a') : 2, (2, 'a') : 2, (2, '1') : 3, (3, '1') : 3} accepting = [3] def fsmsim(string, current, edges, accepting): if string == "": return current in accepting else: letter = string[0] # QUIZ: You fill this out! # Is there a valid edge? # If so, take it. # If not, return False. # Hint: recursion. entry = (current, letter) if entry not in edges: return False return fsmsim(string[1:], edges[entry], edges, accepting) print(fsmsim("aaa111",1,edges,accepting))