diff --git a/alib2str/src/automaton/string/FSM/DFA.h b/alib2str/src/automaton/string/FSM/DFA.h index 0a7ac7144893fc18bb7c938f6ef51546129d99f1..cd81b2bddf282265ee8e1db620b9bb41d9468d57 100644 --- a/alib2str/src/automaton/string/FSM/DFA.h +++ b/alib2str/src/automaton/string/FSM/DFA.h @@ -54,9 +54,6 @@ automaton::DFA < SymbolType, StateType > stringApi < automaton::DFA < SymbolType ext::set<StateType> states; ext::set<ext::tuple<StateType, SymbolType, StateType>> transitionFunction; - parseTransition(input, states, symbols, initialState, finalStates, transitionFunction); - token = automaton::AutomatonFromStringLexer::next(input); - while(token.type == automaton::AutomatonFromStringLexer::TokenType::NEW_LINE) { token = automaton::AutomatonFromStringLexer::next(input); if(token.type == automaton::AutomatonFromStringLexer::TokenType::TEOF) diff --git a/alib2str/src/automaton/string/FSM/EpsilonNFA.h b/alib2str/src/automaton/string/FSM/EpsilonNFA.h index 1d0d066e98628ffa39766742ee2079b76219485a..494c431e446b7c17248a5e51d7e5edbe2bd0c604 100644 --- a/alib2str/src/automaton/string/FSM/EpsilonNFA.h +++ b/alib2str/src/automaton/string/FSM/EpsilonNFA.h @@ -60,9 +60,6 @@ automaton::EpsilonNFA < SymbolType, EpsilonType, StateType > stringApi < automat ext::set<StateType> states; ext::set<ext::tuple<StateType, ext::variant<EpsilonType, SymbolType>, StateType>> transitionFunction; - parseTransition(input, states, symbols, initialState, finalStates, transitionFunction); - token = automaton::AutomatonFromStringLexer::next(input); - while(token.type == automaton::AutomatonFromStringLexer::TokenType::NEW_LINE) { token = automaton::AutomatonFromStringLexer::next(input); if(token.type == automaton::AutomatonFromStringLexer::TokenType::TEOF) diff --git a/alib2str/src/automaton/string/FSM/NFA.h b/alib2str/src/automaton/string/FSM/NFA.h index c72ed22b0b8f0ece951b37819410e2403ad936f2..d852ec6d0ece4e9e3f834f54ab5b3ca97b5d0a0f 100644 --- a/alib2str/src/automaton/string/FSM/NFA.h +++ b/alib2str/src/automaton/string/FSM/NFA.h @@ -54,9 +54,6 @@ automaton::NFA < SymbolType, StateType > stringApi < automaton::NFA < SymbolType ext::set < StateType> states; ext::set<ext::tuple < StateType, SymbolType, StateType>> transitionFunction; - parseTransition(input, states, symbols, initialState, finalStates, transitionFunction); - token = automaton::AutomatonFromStringLexer::next(input); - while(token.type == automaton::AutomatonFromStringLexer::TokenType::NEW_LINE) { token = automaton::AutomatonFromStringLexer::next(input); if(token.type == automaton::AutomatonFromStringLexer::TokenType::TEOF) diff --git a/alib2str/test-src/automaton/AutomatonTest.cpp b/alib2str/test-src/automaton/AutomatonTest.cpp index 20bc1216ed8838bf1d1cd163a45bdfc548bc0667..696b84ea4bc1e81b1a15881c611980071c64a1bd 100644 --- a/alib2str/test-src/automaton/AutomatonTest.cpp +++ b/alib2str/test-src/automaton/AutomatonTest.cpp @@ -26,15 +26,20 @@ void AutomatonTest::tearDown() { void AutomatonTest::FSMStringParserTest() { { - std::string input = "\n" - "ENFA a b c d #E\n" - ">0 3|4 5 1|3|4 - 2\n" + std::string input = "\r\n" + "ENFA a b c d #E\n\r" + "\r" + ">0 3|4 5 1|3|4 - 2\r" + "\r\n" "1 2 - - - -\n" + "\n\r" "2 3 - - - -\n" "3 - - 4 - -\n" "\n" "<4 - 5 - - 5\n" - "<5 - - - - 3"; + "\r" + "<5 - - - - 3" + "\r"; std::string input2 = "ENFA a b c d #E\n" ">0 3|4 5 1|3|4 - 2\n" "1 2 - - - -\n" diff --git a/examples2/automaton/DFA3.txt b/examples2/automaton/DFA3.txt new file mode 100644 index 0000000000000000000000000000000000000000..aa3794825d6c23970e7d8f587a07042e2ae6f726 --- /dev/null +++ b/examples2/automaton/DFA3.txt @@ -0,0 +1,18 @@ +DFA 0 1 2 +>{A, B} {D, F, G} {E, H} {D, F} +<{D, F, G} {B, D, F, G} {E, F} {D, F} +{E, H} {E} {F, H} {A} +<{D, F} {B, D, F, G} {E, F} {D, F} +<{B, D, F, G} {B, D, F, G} {A, F} {D, F} +<{E, F} {E, F} {E, H} {D} +{E} {E} {H} - +<{F, H} {F} {E, F} {A, D} +{A} {F, G} {H} {D, F} +{D} {B, D, G} {F} {F} +{H} - {F} {A} +<{F} {F} {E} {D} +{A, D} {B, D, F, G} {H, F} {D, F} +<{F, G} {B, F} {E, F} {D} +<{B, D, G} {B, D, G} {E, F} {F} +<{A, F} {F, G} {E, H} {D, F} +<{B, F} {D, F} {E} {D}