Example #1
0
        for node in dfa:
            if node not in new_nodes:
                new_nodes[node] = i
                i += 1
            new_edges = {}
            for edge in dfa[node]:
                if dfa[node][edge] not in new_nodes:
                    new_nodes[dfa[node][edge]] = i
                    i += 1
                new_edges[edge] = new_nodes[dfa[node][edge]]
            full_dfa[new_nodes[node]] = new_edges

            if end_num in node:
                goals.add(new_nodes[node])

        return full_dfa, goals

    end_num = init_first_last_pos()
    set_first_last_pos(formula)
    set_follow_pos(formula)
    set_dfa()
    dfa, goals = prettify_dfa(end_num)
    return dfa, goals
"""
trans.pass_trough_mona(formula)
dfa = trans.read_dfa('dfa.txt')


automata_IO.dfa_to_dot(dfa, 'eliminar.dfa', './')