From 4b40de4eb7f7abaa7c9e6f2dfe3db5b1300d9691 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Thu, 7 Jul 2016 16:01:30 +0200 Subject: [PATCH] normalize even for glushkov --- alib2algo/test-src/regexp/toAutomaton/re2faTest.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/alib2algo/test-src/regexp/toAutomaton/re2faTest.cpp b/alib2algo/test-src/regexp/toAutomaton/re2faTest.cpp index 6adf98cc44..8df98391a8 100644 --- a/alib2algo/test-src/regexp/toAutomaton/re2faTest.cpp +++ b/alib2algo/test-src/regexp/toAutomaton/re2faTest.cpp @@ -47,20 +47,26 @@ void re2faTest::testThompson() { } void re2faTest::testGlushkov() { - std::string input = "a+a* b*"; + std::string input = "a+a*b*"; regexp::UnboundedRegExp regexp1( static_cast<const regexp::UnboundedRegExp &>( alib::StringDataFactory::fromString<regexp::RegExp>(input).getData() ) ); automaton::NFA nfa1 = regexp::convert::ToAutomatonGlushkov::convert(regexp1); regexp::UnboundedRegExp regexp2( static_cast<const regexp::UnboundedRegExp &>( automaton::convert::ToRegExpAlgebraic::convert(nfa1) ) ); + std::cout << regexp1 << std::endl; + std::cout << regexp2 << std::endl; + automaton::NFA nfa2 = regexp::convert::ToAutomatonGlushkov::convert(regexp2); automaton::DFA dfa1 = automaton::determinize::Determinize::determinize(nfa1); automaton::DFA dfa2 = automaton::determinize::Determinize::determinize(nfa2); - automaton::DFA mdfa1 = automaton::simplify::Minimize::minimize(dfa1); - automaton::DFA mdfa2 = automaton::simplify::Minimize::minimize(dfa2); + automaton::DFA mdfa1 = automaton::simplify::Normalize::normalize(automaton::simplify::Minimize::minimize(dfa1)); + automaton::DFA mdfa2 = automaton::simplify::Normalize::normalize(automaton::simplify::Minimize::minimize(dfa2)); + + std::cout << mdfa1 << std::endl; + std::cout << mdfa2 << std::endl; CPPUNIT_ASSERT( mdfa1 == mdfa2); } -- GitLab