def get_or(x, y): global count node_xinitial = x.get_initial() node_xfinal = x.get_final() node_yinitial = y.get_initial() node_yfinal = y.get_final() node_xinitial.category = 'incremental' node_xfinal.category = 'incremental' node_yinitial.category = 'incremental' node_yfinal.category = 'incremental' for y in y.nodes: x.add_node(y) node_initial = Node(count, 'initial') count += 1 node_final = Node(count, 'final') count += 1 node_initial.add_edge(Edge(node_initial, node_xinitial, EMPTY_STATE)) node_initial.add_edge(Edge(node_initial, node_yinitial, EMPTY_STATE)) node_xfinal.add_edge(Edge(node_xfinal, node_final, EMPTY_STATE)) node_yfinal.add_edge(Edge(node_yfinal, node_final, EMPTY_STATE)) x.add_node(node_initial) x.add_node(node_final) return x
def get_graph_letter(letter): global count graph = Graph() node1 = Node(count, 'initial') count += 1 node2 = Node(count, 'final') count += 1 node1.add_edge(Edge(node1, node2, letter)) graph.add_node(node1) graph.add_node(node2) return get_initial_final(graph)
def get_initial_final(graph): global count initial = graph.get_initial() initial.category = 'incremental' final = graph.get_final() final.category = 'incremental' node_initial = Node(count, 'initial') count += 1 node_initial.add_edge(Edge(node_initial, initial, EMPTY_STATE)) node_final = Node(count, 'final') count += 1 final.add_edge(Edge(final, node_final, EMPTY_STATE)) graph.add_node(node_initial) graph.add_node(node_final) return graph
def get_cline(x): global count node_xinitial = x.get_initial() node_xinitial.category = 'incremental' node_xfinal = x.get_final() node_xfinal.category = 'incremental' node_xfinal.add_edge(Edge(node_xfinal, node_xinitial, EMPTY_STATE)) node_initial = Node(count, 'initial') count += 1 node_final = Node(count, 'final') count += 1 node_initial.add_edge(Edge(node_initial, node_xinitial, EMPTY_STATE)) node_initial.add_edge(Edge(node_initial, node_final, EMPTY_STATE)) node_xfinal.add_edge(Edge(node_xfinal, node_final, EMPTY_STATE)) x.add_node(node_initial) x.add_node(node_final) return x