def generateJFLAPFile(deterministic, typeOfMachine, nodeL, edgeL, initial, accepting): """Using the list of nodes, edges, and the starting/final nodes Generates a state machine and outputs it to a .jjf file""" newNodeL = [StateMachine.Node(node, [], node == initial, node in accepting) for node in nodeL] if DEBUG: print(newNodeL) newEdgeL = [StateMachine.Edge( StateMachine.findNode(edge[0], newNodeL), StateMachine.findNode(edge[1], newNodeL), edge[2]) for edge in edgeL] if DEBUG: print(newEdgeL) for node in newNodeL: node.addEdge(newEdgeL) if DEBUG: print(newNodeL) initNode = StateMachine.findNode( initial, newNodeL ) if DEBUG: print(initNode) finalNodeL = [StateMachine.findNode( name, newNodeL) for name in accepting] if DEBUG: print(finalNodeL) stateMech = StateMachine.StateMachine( newNodeL, newEdgeL, initNode, finalNodeL, typeOfMachine, deterministic) filename = input("What do you want the output to be named?\n") filename+='.txt' JFFWriterv2.writeJFFFile(stateMech, filename)