Exemplo n.º 1
0
                    dfa = DFA(nfa.trans_func, nfa.symbols, nfa.curr_state,
                              nfa.accepting_states, regex_input)
                    dfa.TransformNFAToDFA()
                    start_time = process_time()
                    dfa_regex = dfa.EvalRegex()
                    stop_time = process_time()
                    print('\nTime to evaluate: {:.5E} seconds'.format(
                        stop_time - start_time))
                    print('Does the string belongs to the regex (DFA)?')
                    print('>', dfa_regex)

                    print(generate_diagram_msg)
                    generate_diagram = input('> ')

                    if generate_diagram == 'y':
                        nfa.WriteNFADiagram()
                        dfa.GraphDFA()

                elif method == '2':
                    print(direct_dfa_msg)
                    print(type_string_msg)
                    regex_input = input('> ')
                    ddfa = DDFA(direct_tree, direct_reader.GetSymbols(),
                                regex_input)
                    start_time = process_time()
                    ddfa_regex = ddfa.EvalRegex()
                    stop_time = process_time()
                    print('\nTime to evaluate: {:.5E} seconds'.format(
                        stop_time - start_time))
                    print('Does the string belongs to the regex?')
                    print('>', ddfa_regex)