Beispiel #1
0
                                    transition.label[1:-1]))

            # Adiciona a transição atual à lista de deletação
            to_delete_transitions.append(transition)

    # Adiciona as novas transições
    for transition in new_transitions:
        Machine.add_transition(transition[0], transition[1], transition[2])

    # Deleta as transições antigas
    for transition in to_delete_transitions:
        Machine.delete_transition(transition)

# Imprimir a imagem do grafo
filename = 'grafos/Q1_grafo_final.dot'
Machine.print_graph(filename, view=False)

# Printar o código do grafo
#Machine.print_source()

# Enquanto o usuário desejar, verifica se uma cadeia de caracteres é aceito pelo autômato

while True:
    text = input('Digite uma string: ')
    if Machine.accept_string(text):
        print('Válido!')
    else:
        print('Inválido!')
    print('Possíveis estados: ')
    for state in Machine.get_possible_states():
        print('   ' + state.label)