diff --git a/alib2algo/src/stringology/exact/ExactFactorAutomaton.cpp b/alib2algo/src/stringology/exact/ExactFactorAutomaton.cpp index 9b3c0d22a8d328475619ae4df6c4ca5c6ba1a878..5effd4eb848720d0211f306ad04b3ba534ae3813 100644 --- a/alib2algo/src/stringology/exact/ExactFactorAutomaton.cpp +++ b/alib2algo/src/stringology/exact/ExactFactorAutomaton.cpp @@ -20,15 +20,15 @@ automaton::Automaton ExactFactorAutomaton::construct(const string::String& text) } automaton::EpsilonNFA < > ExactFactorAutomaton::construct(const string::LinearString < >& text) { - automaton::EpsilonNFA < > res(label::Label(0)); - res.addFinalState(label::Label(0)); + automaton::EpsilonNFA < > res(DefaultStateType(0)); + res.addFinalState(DefaultStateType(0)); res.setInputAlphabet(text.getAlphabet()); int i = 1; - for(const alphabet::Symbol& symbol : text.getContent()) { - res.addState(label::Label(i)); - res.addFinalState(label::Label(i)); - res.addTransition(label::Label(i-1), symbol, label::Label(i)); - res.addTransition(label::Label(0), label::Label(i)); + for(const DefaultSymbolType& symbol : text.getContent()) { + res.addState(DefaultStateType(i)); + res.addFinalState(DefaultStateType(i)); + res.addTransition(DefaultStateType(i-1), symbol, DefaultStateType(i)); + res.addTransition(DefaultStateType(0), DefaultStateType(i)); i++; } return res; diff --git a/alib2algo/src/stringology/exact/ExactMatchingAutomaton.cpp b/alib2algo/src/stringology/exact/ExactMatchingAutomaton.cpp index fdcede925255cb03dca45580b1f2d944d4959c47..e25c8807578c19cd949776bc1ed9a3c561ac5bf3 100644 --- a/alib2algo/src/stringology/exact/ExactMatchingAutomaton.cpp +++ b/alib2algo/src/stringology/exact/ExactMatchingAutomaton.cpp @@ -20,18 +20,18 @@ automaton::Automaton ExactMatchingAutomaton::construct(const string::String& pat } automaton::NFA < > ExactMatchingAutomaton::construct(const string::LinearString < >& pattern) { - automaton::NFA < > res(label::Label(0)); + automaton::NFA < > res(DefaultStateType(0)); res.setInputAlphabet(pattern.getAlphabet()); - for(const alphabet::Symbol& symbol : pattern.getAlphabet()) { - res.addTransition(label::Label(0), symbol, label::Label(0)); + for(const DefaultSymbolType& symbol : pattern.getAlphabet()) { + res.addTransition(DefaultStateType(0), symbol, DefaultStateType(0)); } int i = 1; - for(const alphabet::Symbol& symbol : pattern.getContent()) { - res.addState(label::Label(i)); - res.addTransition(label::Label(i-1), symbol, label::Label(i)); + for(const DefaultSymbolType& symbol : pattern.getContent()) { + res.addState(DefaultStateType(i)); + res.addTransition(DefaultStateType(i-1), symbol, DefaultStateType(i)); i++; } - res.addFinalState(label::Label(i-1)); + res.addFinalState(DefaultStateType(i-1)); return res; } diff --git a/alib2algo/src/stringology/exact/ExactMultiNondeterministicSubsequenceAutomaton.cpp b/alib2algo/src/stringology/exact/ExactMultiNondeterministicSubsequenceAutomaton.cpp index 11e031ebea04db9511b144f03156153d2d74f90e..e1eeca008c89a8c73a5cd9a9fb1eba879bcd53e8 100644 --- a/alib2algo/src/stringology/exact/ExactMultiNondeterministicSubsequenceAutomaton.cpp +++ b/alib2algo/src/stringology/exact/ExactMultiNondeterministicSubsequenceAutomaton.cpp @@ -19,24 +19,24 @@ automaton::Automaton ExactMultiNondeterministicSubsequenceAutomaton::construct(c } automaton::EpsilonNFA < > ExactMultiNondeterministicSubsequenceAutomaton::construct(const std::set<string::LinearString < >>& texts) { - automaton::EpsilonNFA < > res(label::Label(0)); - res.addFinalState(label::Label(0)); + automaton::EpsilonNFA < > res(DefaultStateType(0)); + res.addFinalState(DefaultStateType(0)); int j = 0; for(const string::LinearString < >& text : texts) { res.addInputSymbols(text.getAlphabet()); - res.addState(label::Label(0, j)); - res.addFinalState(label::Label(0, j)); - res.addTransition(label::Label(0), label::Label(0, j)); + res.addState(DefaultStateType(0, j)); + res.addFinalState(DefaultStateType(0, j)); + res.addTransition(DefaultStateType(0), DefaultStateType(0, j)); int i = 1; - for(const alphabet::Symbol& symbol : text.getContent()) { - res.addState(label::Label(i, j)); - res.addFinalState(label::Label(i, j)); + for(const DefaultSymbolType& symbol : text.getContent()) { + res.addState(DefaultStateType(i, j)); + res.addFinalState(DefaultStateType(i, j)); - res.addTransition(label::Label(i-1, j), symbol, label::Label(i, j)); - res.addTransition(label::Label(i-1, j), label::Label(i, j)); + res.addTransition(DefaultStateType(i-1, j), symbol, DefaultStateType(i, j)); + res.addTransition(DefaultStateType(i-1, j), DefaultStateType(i, j)); i++; } j++; diff --git a/alib2algo/src/stringology/exact/ExactNondeterministicSubsequenceAutomaton.cpp b/alib2algo/src/stringology/exact/ExactNondeterministicSubsequenceAutomaton.cpp index 8e12a8bfd1c005d9e81415b560ce50941914531f..255b022a57f3fa51efe0f7d7c54ba91368765bef 100644 --- a/alib2algo/src/stringology/exact/ExactNondeterministicSubsequenceAutomaton.cpp +++ b/alib2algo/src/stringology/exact/ExactNondeterministicSubsequenceAutomaton.cpp @@ -20,17 +20,17 @@ automaton::Automaton ExactNondeterministicSubsequenceAutomaton::construct(const } automaton::EpsilonNFA < > ExactNondeterministicSubsequenceAutomaton::construct(const string::LinearString < >& text) { - automaton::EpsilonNFA < > res(label::Label(0)); - res.addFinalState(label::Label(0)); + automaton::EpsilonNFA < > res(DefaultStateType(0)); + res.addFinalState(DefaultStateType(0)); res.setInputAlphabet(text.getAlphabet()); int i = 1; - for(const alphabet::Symbol& symbol : text.getContent()) { - res.addState(label::Label(i)); - res.addFinalState(label::Label(i)); + for(const DefaultSymbolType& symbol : text.getContent()) { + res.addState(DefaultStateType(i)); + res.addFinalState(DefaultStateType(i)); - res.addTransition(label::Label(i-1), symbol, label::Label(i)); - res.addTransition(label::Label(i-1), label::Label(i)); + res.addTransition(DefaultStateType(i-1), symbol, DefaultStateType(i)); + res.addTransition(DefaultStateType(i-1), DefaultStateType(i)); i++; } return res; diff --git a/alib2algo/src/stringology/exact/ExactSubsequenceAutomaton.cpp b/alib2algo/src/stringology/exact/ExactSubsequenceAutomaton.cpp index 5438524cb5dd7c4b4180924bbb7926e2894fdee3..bb92c67a8084fe6dd3cce6ea14f16eef8fe17aa0 100644 --- a/alib2algo/src/stringology/exact/ExactSubsequenceAutomaton.cpp +++ b/alib2algo/src/stringology/exact/ExactSubsequenceAutomaton.cpp @@ -20,22 +20,22 @@ automaton::Automaton ExactSubsequenceAutomaton::construct(const string::String& } automaton::DFA<> ExactSubsequenceAutomaton::construct(const string::LinearString < >& text) { - std::map<alphabet::Symbol, int> f; - for(const alphabet::Symbol& symbol : text.getAlphabet()) { + std::map<DefaultSymbolType, int> f; + for(const DefaultSymbolType& symbol : text.getAlphabet()) { f[symbol] = 0; } - automaton::DFA<> res(label::Label(0)); - res.addFinalState(label::Label(0)); + automaton::DFA<> res(DefaultStateType(0)); + res.addFinalState(DefaultStateType(0)); res.setInputAlphabet(text.getAlphabet()); int i = 1; - for(const alphabet::Symbol& symbol : text.getContent()) { - res.addState(label::Label(i)); - res.addFinalState(label::Label(i)); + for(const DefaultSymbolType& symbol : text.getContent()) { + res.addState(DefaultStateType(i)); + res.addFinalState(DefaultStateType(i)); for(int j = f[symbol]; j < i; j++) { - res.addTransition(label::Label(j), symbol, label::Label(i)); + res.addTransition(DefaultStateType(j), symbol, DefaultStateType(i)); } f[symbol] = i; i++; diff --git a/alib2algo/test-src/stringology/exact/stringMatchTest.cpp b/alib2algo/test-src/stringology/exact/stringMatchTest.cpp index 92be072287dbbad61915e98631efa5fda41598e5..06fd7d387ce15790474888f6168a2c88f6e65d2d 100644 --- a/alib2algo/test-src/stringology/exact/stringMatchTest.cpp +++ b/alib2algo/test-src/stringology/exact/stringMatchTest.cpp @@ -16,8 +16,8 @@ void stringMatchTest::tearDown() { } void stringMatchTest::testStringMatch() { - string::LinearString < > linear1({alphabet::Symbol(0), alphabet::Symbol(1), alphabet::Symbol(2), alphabet::Symbol(3)}); - string::LinearString < > linear2({alphabet::Symbol(1), alphabet::Symbol(2), alphabet::Symbol(3)}); + string::LinearString < > linear1({DefaultSymbolType(0), DefaultSymbolType(1), DefaultSymbolType(2), DefaultSymbolType(3)}); + string::LinearString < > linear2({DefaultSymbolType(1), DefaultSymbolType(2), DefaultSymbolType(3)}); CPPUNIT_ASSERT ( stringology::exact::ExactFactorMatch::match ( linear1, linear2 ).count ( 1 ) ); }