diff --git a/acompare2/src/AutomatonCompare.cpp b/acompare2/src/AutomatonCompare.cpp index 367f07379a6caad7751110d98ac6ad4cf910be54..5de663f789bca5ff2c6fbd554f58ad3309c38de7 100644 --- a/acompare2/src/AutomatonCompare.cpp +++ b/acompare2/src/AutomatonCompare.cpp @@ -105,7 +105,7 @@ bool AutomatonCompare::testCompare(const automaton::DPDA& a, const automaton::DP return a.getFinalStates() == b.getFinalStates() && a.getInitialState() == b.getInitialState() && // a.getInputAlphabet() == b.getInputAlphabet() && -// a.getStackAlphabet() == b.getStackAlphabet() && +// a.getPushdownStoreAlphabet() == b.getPushdownStoreAlphabet() && a.getInitialSymbol() == b.getInitialSymbol() && a.getStates() == b.getStates() && a.getTransitions() == b.getTransitions() ; @@ -115,7 +115,7 @@ bool AutomatonCompare::testCompare(const automaton::NPDA& a, const automaton::NP return a.getFinalStates() == b.getFinalStates() && a.getInitialState() == b.getInitialState() && // a.getInputAlphabet() == b.getInputAlphabet() && -// a.getStackAlphabet() == b.getStackAlphabet() && +// a.getPushdownStoreAlphabet() == b.getPushdownStoreAlphabet() && a.getInitialSymbol() == b.getInitialSymbol() && a.getStates() == b.getStates() && a.getTransitions() == b.getTransitions() ; @@ -125,7 +125,7 @@ bool AutomatonCompare::testCompare(const automaton::InputDrivenDPDA& a, const au return a.getFinalStates() == b.getFinalStates() && a.getInitialState() == b.getInitialState() && // a.getInputAlphabet() == b.getInputAlphabet() && -// a.getStackAlphabet() == b.getStackAlphabet() && +// a.getPushdownStoreAlphabet() == b.getPushdownStoreAlphabet() && a.getInitialSymbol() == b.getInitialSymbol() && a.getStates() == b.getStates() && a.getPushdownStoreOperations() == b.getPushdownStoreOperations() && @@ -136,7 +136,7 @@ bool AutomatonCompare::testCompare(const automaton::InputDrivenNPDA& a, const au return a.getFinalStates() == b.getFinalStates() && a.getInitialState() == b.getInitialState() && // a.getInputAlphabet() == b.getInputAlphabet() && -// a.getStackAlphabet() == b.getStackAlphabet() && +// a.getPushdownStoreAlphabet() == b.getPushdownStoreAlphabet() && a.getInitialSymbol() == b.getInitialSymbol() && a.getStates() == b.getStates() && a.getPushdownStoreOperations() == b.getPushdownStoreOperations() && @@ -149,7 +149,7 @@ bool AutomatonCompare::testCompare(const automaton::VisiblyPushdownDPDA& a, cons // a.getCallInputAlphabet() == b.getCallInputAlphabet() && // a.getReturnnputAlphabet() == b.getReturnInputAlphabet() && // a.getLocalInputAlphabet() == b.getLocalInputAlphabet() && -// a.getStackAlphabet() == b.getStackAlphabet() && +// a.getPushdownStoreAlphabet() == b.getPushdownStoreAlphabet() && a.getBottomOfTheStackSymbol() == b.getBottomOfTheStackSymbol() && a.getStates() == b.getStates() && a.getCallTransitions() == b.getCallTransitions() && @@ -163,7 +163,7 @@ bool AutomatonCompare::testCompare(const automaton::VisiblyPushdownNPDA& a, cons // a.getCallInputAlphabet() == b.getCallInputAlphabet() && // a.getReturnnputAlphabet() == b.getReturnInputAlphabet() && // a.getLocalInputAlphabet() == b.getLocalInputAlphabet() && -// a.getStackAlphabet() == b.getStackAlphabet() && +// a.getPushdownStoreAlphabet() == b.getPushdownStoreAlphabet() && a.getBottomOfTheStackSymbol() == b.getBottomOfTheStackSymbol() && a.getStates() == b.getStates() && a.getCallTransitions() == b.getCallTransitions() && @@ -175,7 +175,7 @@ bool AutomatonCompare::testCompare(const automaton::RealTimeHeightDeterministicD return a.getFinalStates() == b.getFinalStates() && a.getInitialState() == b.getInitialState() && // a.getInputAlphabet() == b.getInputAlphabet() && -// a.getStackAlphabet() == b.getStackAlphabet() && +// a.getPushdownStoreAlphabet() == b.getPushdownStoreAlphabet() && a.getBottomOfTheStackSymbol() == b.getBottomOfTheStackSymbol() && a.getStates() == b.getStates() && a.getCallTransitions() == b.getCallTransitions() && @@ -187,7 +187,7 @@ bool AutomatonCompare::testCompare(const automaton::RealTimeHeightDeterministicN return a.getFinalStates() == b.getFinalStates() && a.getInitialStates() == b.getInitialStates() && // a.getInputAlphabet() == b.getInputAlphabet() && -// a.getStackAlphabet() == b.getStackAlphabet() && +// a.getPushdownStoreAlphabet() == b.getPushdownStoreAlphabet() && a.getBottomOfTheStackSymbol() == b.getBottomOfTheStackSymbol() && a.getStates() == b.getStates() && a.getCallTransitions() == b.getCallTransitions() && @@ -199,7 +199,7 @@ bool AutomatonCompare::testCompare(const automaton::SinglePopDPDA& a, const auto return a.getFinalStates() == b.getFinalStates() && a.getInitialState() == b.getInitialState() && // a.getInputAlphabet() == b.getInputAlphabet() && -// a.getStackAlphabet() == b.getStackAlphabet() && +// a.getPushdownStoreAlphabet() == b.getPushdownStoreAlphabet() && a.getInitialSymbol() == b.getInitialSymbol() && a.getStates() == b.getStates() && a.getTransitions() == b.getTransitions() ; @@ -209,7 +209,7 @@ bool AutomatonCompare::testCompare(const automaton::SinglePopNPDA& a, const auto return a.getFinalStates() == b.getFinalStates() && a.getInitialState() == b.getInitialState() && // a.getInputAlphabet() == b.getInputAlphabet() && -// a.getStackAlphabet() == b.getStackAlphabet() && +// a.getPushdownStoreAlphabet() == b.getPushdownStoreAlphabet() && a.getInitialSymbol() == b.getInitialSymbol() && a.getStates() == b.getStates() && a.getTransitions() == b.getTransitions() ; @@ -566,10 +566,10 @@ void AutomatonCompare::printCompare(const automaton::DPDA& a, const automaton::D AutomatonCompare::setCompare(a.getInputAlphabet(), b.getInputAlphabet()); } - if(a.getStackAlphabet() != b.getStackAlphabet()) { + if(a.getPushdownStoreAlphabet() != b.getPushdownStoreAlphabet()) { std::cout << "StackAlphabet" << std::endl; - AutomatonCompare::setCompare(a.getStackAlphabet(), b.getStackAlphabet()); + AutomatonCompare::setCompare(a.getPushdownStoreAlphabet(), b.getPushdownStoreAlphabet()); } if(a.getInitialSymbol() != b.getInitialSymbol()) { @@ -616,10 +616,10 @@ void AutomatonCompare::printCompare(const automaton::NPDA& a, const automaton::N AutomatonCompare::setCompare(a.getInputAlphabet(), b.getInputAlphabet()); } - if(a.getStackAlphabet() != b.getStackAlphabet()) { + if(a.getPushdownStoreAlphabet() != b.getPushdownStoreAlphabet()) { std::cout << "StackAlphabet" << std::endl; - AutomatonCompare::setCompare(a.getStackAlphabet(), b.getStackAlphabet()); + AutomatonCompare::setCompare(a.getPushdownStoreAlphabet(), b.getPushdownStoreAlphabet()); } if(a.getInitialSymbol() != b.getInitialSymbol()) { @@ -666,10 +666,10 @@ void AutomatonCompare::printCompare(const automaton::InputDrivenDPDA& a, const a AutomatonCompare::setCompare(a.getInputAlphabet(), b.getInputAlphabet()); } - if(a.getStackAlphabet() != b.getStackAlphabet()) { + if(a.getPushdownStoreAlphabet() != b.getPushdownStoreAlphabet()) { std::cout << "StackAlphabet" << std::endl; - AutomatonCompare::setCompare(a.getStackAlphabet(), b.getStackAlphabet()); + AutomatonCompare::setCompare(a.getPushdownStoreAlphabet(), b.getPushdownStoreAlphabet()); } if(a.getInitialSymbol() != b.getInitialSymbol()) { @@ -722,10 +722,10 @@ void AutomatonCompare::printCompare(const automaton::InputDrivenNPDA& a, const a AutomatonCompare::setCompare(a.getInputAlphabet(), b.getInputAlphabet()); } - if(a.getStackAlphabet() != b.getStackAlphabet()) { + if(a.getPushdownStoreAlphabet() != b.getPushdownStoreAlphabet()) { std::cout << "StackAlphabet" << std::endl; - AutomatonCompare::setCompare(a.getStackAlphabet(), b.getStackAlphabet()); + AutomatonCompare::setCompare(a.getPushdownStoreAlphabet(), b.getPushdownStoreAlphabet()); } if(a.getInitialSymbol() != b.getInitialSymbol()) { @@ -790,10 +790,10 @@ void AutomatonCompare::printCompare(const automaton::VisiblyPushdownDPDA& a, con AutomatonCompare::setCompare(a.getLocalInputAlphabet(), b.getLocalInputAlphabet()); } - if(a.getStackAlphabet() != b.getStackAlphabet()) { + if(a.getPushdownStoreAlphabet() != b.getPushdownStoreAlphabet()) { std::cout << "StackAlphabet" << std::endl; - AutomatonCompare::setCompare(a.getStackAlphabet(), b.getStackAlphabet()); + AutomatonCompare::setCompare(a.getPushdownStoreAlphabet(), b.getPushdownStoreAlphabet()); } if(a.getBottomOfTheStackSymbol() != b.getBottomOfTheStackSymbol()) { @@ -862,10 +862,10 @@ void AutomatonCompare::printCompare(const automaton::VisiblyPushdownNPDA& a, con AutomatonCompare::setCompare(a.getLocalInputAlphabet(), b.getLocalInputAlphabet()); } - if(a.getStackAlphabet() != b.getStackAlphabet()) { + if(a.getPushdownStoreAlphabet() != b.getPushdownStoreAlphabet()) { std::cout << "StackAlphabet" << std::endl; - AutomatonCompare::setCompare(a.getStackAlphabet(), b.getStackAlphabet()); + AutomatonCompare::setCompare(a.getPushdownStoreAlphabet(), b.getPushdownStoreAlphabet()); } if(a.getBottomOfTheStackSymbol() != b.getBottomOfTheStackSymbol()) { @@ -924,10 +924,10 @@ void AutomatonCompare::printCompare(const automaton::RealTimeHeightDeterministic AutomatonCompare::setCompare(a.getInputAlphabet(), b.getInputAlphabet()); } - if(a.getStackAlphabet() != b.getStackAlphabet()) { + if(a.getPushdownStoreAlphabet() != b.getPushdownStoreAlphabet()) { std::cout << "StackAlphabet" << std::endl; - AutomatonCompare::setCompare(a.getStackAlphabet(), b.getStackAlphabet()); + AutomatonCompare::setCompare(a.getPushdownStoreAlphabet(), b.getPushdownStoreAlphabet()); } if(a.getBottomOfTheStackSymbol() != b.getBottomOfTheStackSymbol()) { @@ -984,10 +984,10 @@ void AutomatonCompare::printCompare(const automaton::RealTimeHeightDeterministic AutomatonCompare::setCompare(a.getInputAlphabet(), b.getInputAlphabet()); } - if(a.getStackAlphabet() != b.getStackAlphabet()) { + if(a.getPushdownStoreAlphabet() != b.getPushdownStoreAlphabet()) { std::cout << "StackAlphabet" << std::endl; - AutomatonCompare::setCompare(a.getStackAlphabet(), b.getStackAlphabet()); + AutomatonCompare::setCompare(a.getPushdownStoreAlphabet(), b.getPushdownStoreAlphabet()); } if(a.getBottomOfTheStackSymbol() != b.getBottomOfTheStackSymbol()) { @@ -1046,10 +1046,10 @@ void AutomatonCompare::printCompare(const automaton::SinglePopDPDA& a, const aut AutomatonCompare::setCompare(a.getInputAlphabet(), b.getInputAlphabet()); } - if(a.getStackAlphabet() != b.getStackAlphabet()) { + if(a.getPushdownStoreAlphabet() != b.getPushdownStoreAlphabet()) { std::cout << "StackAlphabet" << std::endl; - AutomatonCompare::setCompare(a.getStackAlphabet(), b.getStackAlphabet()); + AutomatonCompare::setCompare(a.getPushdownStoreAlphabet(), b.getPushdownStoreAlphabet()); } if(a.getInitialSymbol() != b.getInitialSymbol()) { @@ -1096,10 +1096,10 @@ void AutomatonCompare::printCompare(const automaton::SinglePopNPDA& a, const aut AutomatonCompare::setCompare(a.getInputAlphabet(), b.getInputAlphabet()); } - if(a.getStackAlphabet() != b.getStackAlphabet()) { + if(a.getPushdownStoreAlphabet() != b.getPushdownStoreAlphabet()) { std::cout << "StackAlphabet" << std::endl; - AutomatonCompare::setCompare(a.getStackAlphabet(), b.getStackAlphabet()); + AutomatonCompare::setCompare(a.getPushdownStoreAlphabet(), b.getPushdownStoreAlphabet()); } if(a.getInitialSymbol() != b.getInitialSymbol()) { diff --git a/alib2algo/src/arbology/exact/ExactPatternMatchingAutomaton.cpp b/alib2algo/src/arbology/exact/ExactPatternMatchingAutomaton.cpp index e79c62ad0ddd063c2845e7b201b83f7e39e88990..38bb106d3c1a6dff1906284eb50bbc2a37ad0bf8 100644 --- a/alib2algo/src/arbology/exact/ExactPatternMatchingAutomaton.cpp +++ b/alib2algo/src/arbology/exact/ExactPatternMatchingAutomaton.cpp @@ -71,7 +71,7 @@ automaton::NPDA ExactPatternMatchingAutomaton::construct ( const tree::PrefixRan res.addInputSymbol ( alphabet::Symbol { symbol } ); } - res.setStackAlphabet ( { alphabet::symbolFrom ( 'T' ), alphabet::symbolFrom ( 'R' ) } ); + res.setPushdownStoreAlphabet ( { alphabet::symbolFrom ( 'T' ), alphabet::symbolFrom ( 'R' ) } ); for ( const alphabet::RankedSymbol & symbol : pattern.getAlphabet ( ) ) { if ( symbol == pattern.getSubtreeWildcard ( ) ) continue; @@ -138,7 +138,7 @@ automaton::VisiblyPushdownNPDA ExactPatternMatchingAutomaton::construct ( const res.addCallInputSymbol ( alphabet::Symbol { symbol } ); } - res.setStackAlphabet ( { alphabet::Symbol { alphabet::BottomOfTheStackSymbol::BOTTOM_OF_THE_STACK }, alphabet::symbolFrom ( 'T' ), alphabet::symbolFrom ( 'R' ) } ); + res.setPushdownStoreAlphabet ( { alphabet::Symbol { alphabet::BottomOfTheStackSymbol::BOTTOM_OF_THE_STACK }, alphabet::symbolFrom ( 'T' ), alphabet::symbolFrom ( 'R' ) } ); for ( const alphabet::RankedSymbol & symbol : pattern.getAlphabet ( ) ) { if ( ( symbol == pattern.getSubtreeWildcard ( ) ) || ( symbol == pattern.getVariablesBar ( ) ) ) continue; diff --git a/alib2algo/src/arbology/exact/ExactSubtreeMatchingAutomaton.cpp b/alib2algo/src/arbology/exact/ExactSubtreeMatchingAutomaton.cpp index 6a3cd905d2542c084535a1e0d34779e0a5889e41..d0fcf3c0f02e95f392ca69f17602530e108de51e 100644 --- a/alib2algo/src/arbology/exact/ExactSubtreeMatchingAutomaton.cpp +++ b/alib2algo/src/arbology/exact/ExactSubtreeMatchingAutomaton.cpp @@ -54,7 +54,7 @@ auto ExactSubtreeMatchingAutomatonPrefixRankedTree = ExactSubtreeMatchingAutomat automaton::InputDrivenNPDA ExactSubtreeMatchingAutomaton::construct ( const tree::PrefixRankedBarTree & pattern ) { automaton::InputDrivenNPDA res ( automaton::State ( 0 ), alphabet::Symbol { alphabet::BottomOfTheStackSymbol::BOTTOM_OF_THE_STACK } ); - res.setStackAlphabet ( { alphabet::Symbol { alphabet::BottomOfTheStackSymbol::BOTTOM_OF_THE_STACK }, alphabet::symbolFrom ( 'S' ) } ); + res.setPushdownStoreAlphabet ( { alphabet::Symbol { alphabet::BottomOfTheStackSymbol::BOTTOM_OF_THE_STACK }, alphabet::symbolFrom ( 'S' ) } ); for ( const alphabet::RankedSymbol & symbol : pattern.getAlphabet ( ) ) { res.addInputSymbol ( alphabet::Symbol { symbol } ); diff --git a/alib2algo/src/automaton/determinize/DeterminizeIDPDAPart.cxx b/alib2algo/src/automaton/determinize/DeterminizeIDPDAPart.cxx index df4fc1aad6d8d4f5ed81d7dbb44125750eef883e..42b390ef68fbbae8d003efebc5998ec7ef2c436c 100644 --- a/alib2algo/src/automaton/determinize/DeterminizeIDPDAPart.cxx +++ b/alib2algo/src/automaton/determinize/DeterminizeIDPDAPart.cxx @@ -23,7 +23,7 @@ automaton::InputDrivenDPDA Determinize::determinize ( const automaton::InputDriv automaton::InputDrivenDPDA res ( initialState, nfa.getInitialSymbol ( ) ); res.setInputAlphabet ( nfa.getInputAlphabet ( ) ); - res.setStackAlphabet ( nfa.getStackAlphabet ( ) ); + res.setPushdownStoreAlphabet ( nfa.getPushdownStoreAlphabet ( ) ); res.setPushdownStoreOperations ( nfa.getPushdownStoreOperations ( ) ); // 2 diff --git a/alib2algo/src/automaton/determinize/DeterminizeRHDPDAPart.cxx b/alib2algo/src/automaton/determinize/DeterminizeRHDPDAPart.cxx index 4cc74f14aa202898ace95b7e2354657f483313f7..aa33077851722b5d8f12065eac0d3901dd78145d 100644 --- a/alib2algo/src/automaton/determinize/DeterminizeRHDPDAPart.cxx +++ b/alib2algo/src/automaton/determinize/DeterminizeRHDPDAPart.cxx @@ -22,7 +22,7 @@ namespace determinize { void addRetTransition(const automaton::State& from, const std::variant<string::Epsilon, alphabet::Symbol>& input, const alphabet::Symbol& dvpdaSymbol, const automaton::State& to, automaton::RealTimeHeightDeterministicDPDA& deterministic) { deterministic.addState(from); deterministic.addState(to); - deterministic.addStackSymbol(dvpdaSymbol); + deterministic.addPushdownStoreSymbol(dvpdaSymbol); deterministic.addReturnTransition(from, input, dvpdaSymbol, to); } @@ -115,7 +115,7 @@ void ret(const automaton::State& state, const alphabet::Symbol& pdaSymbol, const void addCallTransition(const automaton::State& from, const std::variant<string::Epsilon, alphabet::Symbol>& input, const automaton::State& to, const alphabet::Symbol& dvpdaSymbol, automaton::RealTimeHeightDeterministicDPDA& deterministic) { deterministic.addState(from); deterministic.addState(to); - deterministic.addStackSymbol(dvpdaSymbol); + deterministic.addPushdownStoreSymbol(dvpdaSymbol); deterministic.addCallTransition(from, input, to, dvpdaSymbol); } diff --git a/alib2algo/src/automaton/determinize/DeterminizeVPAPart.cxx b/alib2algo/src/automaton/determinize/DeterminizeVPAPart.cxx index 5f7f1522be3ae53fdfbaae4c28e796ebaf68eb01..29bd240028a9f033bfd93eaa17e19fd973ef62aa 100644 --- a/alib2algo/src/automaton/determinize/DeterminizeVPAPart.cxx +++ b/alib2algo/src/automaton/determinize/DeterminizeVPAPart.cxx @@ -21,7 +21,7 @@ namespace determinize { void addRetTransition(const automaton::State& from, const alphabet::Symbol& input, const alphabet::Symbol& dvpdaSymbol, const automaton::State& to, automaton::VisiblyPushdownDPDA& deterministic) { deterministic.addState(from); deterministic.addState(to); - deterministic.addStackSymbol(dvpdaSymbol); + deterministic.addPushdownStoreSymbol(dvpdaSymbol); deterministic.addReturnTransition(from, input, dvpdaSymbol, to); } @@ -102,7 +102,7 @@ void ret(const automaton::State& state, const alphabet::Symbol& pdaSymbol, const void addCallTransition(const automaton::State& from, const alphabet::Symbol& input, const automaton::State& to, const alphabet::Symbol& dvpdaSymbol, automaton::VisiblyPushdownDPDA& deterministic) { deterministic.addState(from); deterministic.addState(to); - deterministic.addStackSymbol(dvpdaSymbol); + deterministic.addPushdownStoreSymbol(dvpdaSymbol); deterministic.addCallTransition(from, input, to, dvpdaSymbol); } diff --git a/alib2algo/src/automaton/simplify/Normalize.cpp b/alib2algo/src/automaton/simplify/Normalize.cpp index 4dec16d9e557d99198908edbf8d4d16648077db3..7b1bd3f937a3cc4049acda1c4b1d4829d2b6533c 100644 --- a/alib2algo/src/automaton/simplify/Normalize.cpp +++ b/alib2algo/src/automaton/simplify/Normalize.cpp @@ -129,35 +129,32 @@ automaton::DPDA Normalize::normalize(const automaton::DPDA& pda) { } } - if(normalizationDataState.size() != pda.getStates().size() || normalizationDataSymbol.size() != pda.getStackAlphabet().size()) { + if(normalizationDataState.size() != pda.getStates().size() || normalizationDataSymbol.size() != pda.getPushdownStoreAlphabet().size()) { throw exception::CommonException("Automaton normalize require connected deterministic pushdown automaton"); } automaton::DPDA result(automaton::State(normalizationDataState.find(pda.getInitialState())->second), alphabet::symbolFrom(normalizationDataSymbol.find(pda.getInitialSymbol())->second)); result.setInputAlphabet(pda.getInputAlphabet()); - for(auto iter = pda.getStackAlphabet().begin(); iter != pda.getStackAlphabet().end(); iter++) { - result.addStackSymbol(alphabet::symbolFrom(normalizationDataSymbol.find(*iter)->second)); - } + for(const alphabet::Symbol & symbol : pda.getPushdownStoreAlphabet()) + result.addPushdownStoreSymbol(alphabet::symbolFrom(normalizationDataSymbol.find(symbol)->second)); - for(auto iter = pda.getStates().begin(); iter != pda.getStates().end(); iter++) { - result.addState(automaton::State(normalizationDataState.find(*iter)->second)); - } + for(const automaton::State & state : pda.getStates()) + result.addState(automaton::State(normalizationDataState.find(state)->second)); - for(auto iter = pda.getFinalStates().begin(); iter != pda.getFinalStates().end(); iter++) { - result.addFinalState(automaton::State(normalizationDataState.find(*iter)->second)); - } + for(const automaton::State & state : pda.getFinalStates()) + result.addFinalState(automaton::State(normalizationDataState.find(state)->second)); - for(auto iter = pda.getTransitions().begin(); iter != pda.getTransitions().end(); iter++) { + for(const auto & transition : pda.getTransitions()) { std::vector<alphabet::Symbol> pop; - for(const auto& elem : std::get<2>(iter->first)) { + for(const auto& elem : std::get<2>(transition.first)) { pop.push_back(alphabet::symbolFrom(normalizationDataSymbol.find(elem)->second)); } std::vector<alphabet::Symbol> push; - for(const auto& elem : iter->second.second) { + for(const auto& elem : transition.second.second) { push.push_back(alphabet::symbolFrom(normalizationDataSymbol.find(elem)->second)); } - result.addTransition(automaton::State(normalizationDataState.find(std::get<0>(iter->first))->second), std::get<1>(iter->first), pop, automaton::State(normalizationDataState.find(iter->second.first)->second), push); + result.addTransition(automaton::State(normalizationDataState.find(std::get<0>(transition.first))->second), std::get<1>(transition.first), pop, automaton::State(normalizationDataState.find(transition.second.first)->second), push); } return result; diff --git a/alib2algo/src/automaton/simplify/Rename.cpp b/alib2algo/src/automaton/simplify/Rename.cpp index a58df12807a2353df0db2be51c7546f3facbace3..f079e0efa0b381bd6c82999c0386b8a801443864 100644 --- a/alib2algo/src/automaton/simplify/Rename.cpp +++ b/alib2algo/src/automaton/simplify/Rename.cpp @@ -62,40 +62,35 @@ automaton::DPDA Rename::rename(const automaton::DPDA& pda) { int counterSymbol = 0; std::map<alphabet::Symbol, int > renamingDataSymbol; - for(auto iter = pda.getStates().begin(); iter != pda.getStates().end(); iter++) { - renamingDataState.insert(std::make_pair(*iter, counterState++)); - } + for(const automaton::State & state : pda.getStates()) + renamingDataState.insert(std::make_pair(state, counterState++)); - for(auto iter = pda.getStackAlphabet().begin(); iter != pda.getStackAlphabet().end(); iter++) { - renamingDataSymbol.insert(std::make_pair(*iter, counterSymbol++)); - } + for(const alphabet::Symbol & symbol : pda.getPushdownStoreAlphabet()) + renamingDataSymbol.insert(std::make_pair(symbol, counterSymbol++)); automaton::DPDA result(automaton::State(renamingDataState.find(pda.getInitialState())->second), alphabet::symbolFrom(renamingDataSymbol.find(pda.getInitialSymbol())->second)); result.setInputAlphabet(pda.getInputAlphabet()); - for(auto iter = pda.getStackAlphabet().begin(); iter != pda.getStackAlphabet().end(); iter++) { - result.addStackSymbol(alphabet::symbolFrom(renamingDataSymbol.find(*iter)->second)); - } + for(const alphabet::Symbol & symbol : pda.getPushdownStoreAlphabet()) + result.addPushdownStoreSymbol(alphabet::symbolFrom(renamingDataSymbol.find(symbol)->second)); - for(auto iter = pda.getStates().begin(); iter != pda.getStates().end(); iter++) { - result.addState(automaton::State(renamingDataState.find(*iter)->second)); - } + for(const automaton::State & state : pda.getStates()) + result.addState(automaton::State(renamingDataState.find(state)->second)); - for(auto iter = pda.getFinalStates().begin(); iter != pda.getFinalStates().end(); iter++) { - result.addFinalState(automaton::State(renamingDataState.find(*iter)->second)); - } + for(const automaton::State & state : pda.getFinalStates()) + result.addFinalState(automaton::State(renamingDataState.find(state)->second)); - for(auto iter = pda.getTransitions().begin(); iter != pda.getTransitions().end(); iter++) { + for(const auto & transition : pda.getTransitions()) { std::vector<alphabet::Symbol> pop; - for(const auto& elem : std::get<2>(iter->first)) { + for(const auto& elem : std::get<2>(transition.first)) { pop.push_back(alphabet::symbolFrom(renamingDataSymbol.find(elem)->second)); } std::vector<alphabet::Symbol> push; - for(const auto& elem : iter->second.second) { + for(const auto& elem : transition.second.second) { push.push_back(alphabet::symbolFrom(renamingDataSymbol.find(elem)->second)); } - result.addTransition(automaton::State(renamingDataState.find(std::get<0>(iter->first))->second), std::get<1>(iter->first), pop, automaton::State(renamingDataState.find(iter->second.first)->second), push); + result.addTransition(automaton::State(renamingDataState.find(std::get<0>(transition.first))->second), std::get<1>(transition.first), pop, automaton::State(renamingDataState.find(transition.second.first)->second), push); } return result; @@ -113,17 +108,15 @@ automaton::SinglePopDPDA Rename::rename(const automaton::SinglePopDPDA& pda) { renamingDataState.insert(std::make_pair(*iter, counterState++)); } - for(auto iter = pda.getStackAlphabet().begin(); iter != pda.getStackAlphabet().end(); iter++) { - renamingDataSymbol.insert(std::make_pair(*iter, counterSymbol++)); - } + for(const alphabet::Symbol & symbol : pda.getPushdownStoreAlphabet()) + renamingDataSymbol.insert(std::make_pair(symbol, counterSymbol++)); automaton::SinglePopDPDA result(automaton::State(renamingDataState.find(pda.getInitialState())->second), alphabet::symbolFrom(renamingDataSymbol.find(pda.getInitialSymbol())->second)); result.setInputAlphabet(pda.getInputAlphabet()); - for(auto iter = pda.getStackAlphabet().begin(); iter != pda.getStackAlphabet().end(); iter++) { - result.addStackSymbol(alphabet::symbolFrom(renamingDataSymbol.find(*iter)->second)); - } + for(const alphabet::Symbol & symbol : pda.getPushdownStoreAlphabet()) + result.addPushdownStoreSymbol(alphabet::symbolFrom(renamingDataSymbol.find(symbol)->second)); for(auto iter = pda.getStates().begin(); iter != pda.getStates().end(); iter++) { result.addState(automaton::State(renamingDataState.find(*iter)->second)); @@ -156,14 +149,15 @@ automaton::InputDrivenDPDA Rename::rename(const automaton::InputDrivenDPDA& pda) renamingData.insert(std::make_pair(*iter, counter++)); } - for(auto iter = pda.getStackAlphabet().begin(); iter != pda.getStackAlphabet().end(); iter++) { - renamingDataSymbol.insert(std::make_pair(*iter, counterSymbol++)); - } + for(const alphabet::Symbol & symbol : pda.getPushdownStoreAlphabet()) + renamingDataSymbol.insert(std::make_pair(symbol, counterSymbol++)); automaton::InputDrivenDPDA result(automaton::State(renamingData.find(pda.getInitialState())->second), alphabet::symbolFrom(renamingDataSymbol.find(pda.getInitialSymbol())->second)); result.setInputAlphabet(pda.getInputAlphabet()); - result.setStackAlphabet(pda.getStackAlphabet()); + + for(const alphabet::Symbol & symbol : pda.getPushdownStoreAlphabet()) + result.addPushdownStoreSymbol(alphabet::symbolFrom(renamingDataSymbol.find(symbol)->second)); for(const std::pair<const alphabet::Symbol, std::pair<std::vector<alphabet::Symbol>, std::vector<alphabet::Symbol>>> operation : pda.getPushdownStoreOperations()) { std::vector<alphabet::Symbol> pop; @@ -204,9 +198,8 @@ automaton::VisiblyPushdownDPDA Rename::rename(const automaton::VisiblyPushdownDP renamingDataState.insert(std::make_pair(*iter, counterState++)); } - for(auto iter = pda.getStackAlphabet().begin(); iter != pda.getStackAlphabet().end(); iter++) { - renamingDataSymbol.insert(std::make_pair(*iter, counterSymbol++)); - } + for(const alphabet::Symbol & symbol : pda.getPushdownStoreAlphabet()) + renamingDataSymbol.insert(std::make_pair(symbol, counterSymbol++)); automaton::VisiblyPushdownDPDA result(automaton::State(renamingDataState.find(pda.getInitialState())->second), alphabet::symbolFrom(renamingDataSymbol.find(pda.getBottomOfTheStackSymbol())->second)); @@ -214,9 +207,8 @@ automaton::VisiblyPushdownDPDA Rename::rename(const automaton::VisiblyPushdownDP result.setLocalInputAlphabet(pda.getLocalInputAlphabet()); result.setReturnInputAlphabet(pda.getReturnInputAlphabet()); - for(auto iter = pda.getStackAlphabet().begin(); iter != pda.getStackAlphabet().end(); iter++) { - result.addStackSymbol(alphabet::symbolFrom(renamingDataSymbol.find(*iter)->second)); - } + for(const alphabet::Symbol & symbol : pda.getPushdownStoreAlphabet()) + result.addPushdownStoreSymbol(alphabet::symbolFrom(renamingDataSymbol.find(symbol)->second)); for(auto iter = pda.getStates().begin(); iter != pda.getStates().end(); iter++) { result.addState(automaton::State(renamingDataState.find(*iter)->second)); @@ -253,17 +245,15 @@ automaton::RealTimeHeightDeterministicDPDA Rename::rename(const automaton::RealT renamingDataState.insert(std::make_pair(*iter, counterState++)); } - for(auto iter = pda.getStackAlphabet().begin(); iter != pda.getStackAlphabet().end(); iter++) { - renamingDataSymbol.insert(std::make_pair(*iter, counterSymbol++)); - } + for(const alphabet::Symbol & symbol : pda.getPushdownStoreAlphabet()) + renamingDataSymbol.insert(std::make_pair(symbol, counterSymbol++)); automaton::RealTimeHeightDeterministicDPDA result(automaton::State(renamingDataState.find(pda.getInitialState())->second), alphabet::symbolFrom(renamingDataSymbol.find(pda.getBottomOfTheStackSymbol())->second)); result.setInputAlphabet(pda.getInputAlphabet()); - for(auto iter = pda.getStackAlphabet().begin(); iter != pda.getStackAlphabet().end(); iter++) { - result.addStackSymbol(alphabet::symbolFrom(renamingDataSymbol.find(*iter)->second)); - } + for(const alphabet::Symbol & symbol : pda.getPushdownStoreAlphabet()) + result.addPushdownStoreSymbol(alphabet::symbolFrom(renamingDataSymbol.find(symbol)->second)); for(auto iter = pda.getStates().begin(); iter != pda.getStates().end(); iter++) { result.addState(automaton::State(renamingDataState.find(*iter)->second)); diff --git a/alib2algo/src/automaton/transform/PDAToRHPDA.cpp b/alib2algo/src/automaton/transform/PDAToRHPDA.cpp index 6c428137a73fdfb71d75e80b7e540a2810393703..39f91b586b69a2dc868c74a2514a9172a636a270 100644 --- a/alib2algo/src/automaton/transform/PDAToRHPDA.cpp +++ b/alib2algo/src/automaton/transform/PDAToRHPDA.cpp @@ -44,9 +44,9 @@ automaton::RealTimeHeightDeterministicDPDA PDAToRHPDA::convert ( const automaton res.addState ( state ); res.setFinalStates ( pda.getFinalStates ( ) ); - std::set < alphabet::Symbol > stackSymbols = pda.getStackAlphabet ( ); - stackSymbols.insert ( alphabet::Symbol { alphabet::BottomOfTheStackSymbol::BOTTOM_OF_THE_STACK } ); - res.setStackAlphabet ( stackSymbols ); + std::set < alphabet::Symbol > pushdownStoreAlphabet = pda.getPushdownStoreAlphabet ( ); + pushdownStoreAlphabet.insert ( alphabet::Symbol { alphabet::BottomOfTheStackSymbol::BOTTOM_OF_THE_STACK } ); + res.setPushdownStoreAlphabet ( pushdownStoreAlphabet ); res.addCallTransition ( q0, pda.getInitialState ( ), pda.getInitialSymbol ( ) ); @@ -115,9 +115,9 @@ automaton::RealTimeHeightDeterministicNPDA PDAToRHPDA::convert ( const automaton res.setInputAlphabet ( pda.getInputAlphabet ( ) ); res.setStates ( pda.getStates ( ) ); res.setFinalStates ( pda.getFinalStates ( ) ); - std::set < alphabet::Symbol > stackSymbols = pda.getStackAlphabet ( ); - stackSymbols.insert ( alphabet::Symbol { alphabet::BottomOfTheStackSymbol::BOTTOM_OF_THE_STACK } ); - res.setStackAlphabet ( stackSymbols ); + std::set < alphabet::Symbol > pushdownStoreAlphabet = pda.getPushdownStoreAlphabet ( ); + pushdownStoreAlphabet.insert ( alphabet::Symbol { alphabet::BottomOfTheStackSymbol::BOTTOM_OF_THE_STACK } ); + res.setPushdownStoreAlphabet ( pushdownStoreAlphabet ); automaton::State q0 = automaton::createUniqueState ( automaton::State ( "q0" ), res.getStates ( ) ); res.addState ( q0 ); diff --git a/alib2algo/src/automaton/transform/RHPDAToPDA.cpp b/alib2algo/src/automaton/transform/RHPDAToPDA.cpp index 2ed51df4622c9992e8e6b4bb7058d966e81c21f3..52d10caabfaee587c09b54971a81855b65e88bb1 100644 --- a/alib2algo/src/automaton/transform/RHPDAToPDA.cpp +++ b/alib2algo/src/automaton/transform/RHPDAToPDA.cpp @@ -137,8 +137,8 @@ automaton::DPDA RHPDAToPDA::convert ( const automaton::RealTimeHeightDeterminist automaton::DPDA res ( toState, pushes[0] ); res.setInputAlphabet ( pda.getInputAlphabet ( ) ); - res.setStackAlphabet ( pda.getStackAlphabet ( ) ); - res.removeStackSymbol ( pda.getBottomOfTheStackSymbol ( ) ); + res.setPushdownStoreAlphabet ( pda.getPushdownStoreAlphabet ( ) ); + res.removePushdownStoreSymbol ( pda.getBottomOfTheStackSymbol ( ) ); for ( const auto & st : readingTransitions ) for ( const auto & to : st.second ) { @@ -253,8 +253,8 @@ automaton::NPDA RHPDAToPDA::convert ( const automaton::RealTimeHeightDeterminist automaton::NPDA res ( toState, pushes[0] ); res.setInputAlphabet ( pda.getInputAlphabet ( ) ); - res.setStackAlphabet ( pda.getStackAlphabet ( ) ); - res.removeStackSymbol ( pda.getBottomOfTheStackSymbol ( ) ); + res.setPushdownStoreAlphabet ( pda.getPushdownStoreAlphabet ( ) ); + res.removePushdownStoreSymbol ( pda.getBottomOfTheStackSymbol ( ) ); for ( const auto & st : readingTransitions ) for ( const auto & to : st.second ) { diff --git a/alib2algo/src/grammar/convert/ToAutomaton.cpp b/alib2algo/src/grammar/convert/ToAutomaton.cpp index e75bbe00efd409d8f75293385919ed45d3969fe0..058c08548a41e269a2b3c53efe9b6df1e9f3cc2d 100644 --- a/alib2algo/src/grammar/convert/ToAutomaton.cpp +++ b/alib2algo/src/grammar/convert/ToAutomaton.cpp @@ -110,12 +110,11 @@ automaton::NPDA ToAutomaton::convert(const T& grammar) { automaton.setInputAlphabet(grammar.getTerminalAlphabet()); - automaton.setStackAlphabet(grammar.getNonterminalAlphabet()); + automaton.setPushdownStoreAlphabet(grammar.getNonterminalAlphabet()); for(const alphabet::Symbol& symbol : grammar.getTerminalAlphabet()) - automaton.addStackSymbol(symbol); + automaton.addPushdownStoreSymbol(symbol); - //for(const std::map<alphabet::Symbol, std::set<std::vector<alphabet::Symbol>>>& kv : grammar.getRules()) - for(const auto& kv : grammar.getRules()) + for(const std::pair<const alphabet::Symbol, std::set<std::vector<alphabet::Symbol>>>& kv : grammar.getRules()) for(const std::vector<alphabet::Symbol>& rhs : kv.second) automaton.addTransition(automaton.getInitialState(), std::vector<alphabet::Symbol>{kv.first}, automaton.getInitialState(), rhs); diff --git a/alib2algo/src/grammar/convert/ToAutomatonBottomUp.cpp b/alib2algo/src/grammar/convert/ToAutomatonBottomUp.cpp index f118086eae137b69bbcbd91ad1bafdae21e9de1f..7d4b6ad2bf47b41b9966033078f918ad79a269e1 100644 --- a/alib2algo/src/grammar/convert/ToAutomatonBottomUp.cpp +++ b/alib2algo/src/grammar/convert/ToAutomatonBottomUp.cpp @@ -29,9 +29,9 @@ automaton::NPDA ToAutomatonBottomUp::convert(const T& grammar) { automaton.setInputAlphabet(grammar.getTerminalAlphabet()); for(const alphabet::Symbol& symbol : grammar.getNonterminalAlphabet()) - automaton.addStackSymbol(symbol); + automaton.addPushdownStoreSymbol(symbol); for(const alphabet::Symbol& symbol : grammar.getTerminalAlphabet()) - automaton.addStackSymbol(symbol); + automaton.addPushdownStoreSymbol(symbol); for(const alphabet::Symbol& symbol : grammar.getTerminalAlphabet()) automaton.addTransition(automaton.getInitialState(), symbol, std::vector<alphabet::Symbol>{}, automaton.getInitialState(), std::vector<alphabet::Symbol>{symbol}); diff --git a/alib2algo/test-src/automaton/determinize/determinizeTest.cpp b/alib2algo/test-src/automaton/determinize/determinizeTest.cpp index f3bb704b9fd368d4d0cf215c8a18e514242d3179..c74a0edecea244b6c21b9932cf8b216aa2b1105b 100644 --- a/alib2algo/test-src/automaton/determinize/determinizeTest.cpp +++ b/alib2algo/test-src/automaton/determinize/determinizeTest.cpp @@ -68,13 +68,13 @@ void determinizeTest::testDeterminizeVPA() { automaton.addCallInputSymbol(alphabet::symbolFrom('a')); automaton.addReturnInputSymbol(alphabet::symbolFrom('^')); - automaton.addStackSymbol(alphabet::symbolFrom('A')); - automaton.addStackSymbol(alphabet::symbolFrom('B')); - automaton.addStackSymbol(alphabet::symbolFrom('C')); - automaton.addStackSymbol(alphabet::symbolFrom('D')); - automaton.addStackSymbol(alphabet::symbolFrom('E')); - automaton.addStackSymbol(alphabet::symbolFrom('F')); - automaton.addStackSymbol(alphabet::symbolFrom('T')); + automaton.addPushdownStoreSymbol(alphabet::symbolFrom('A')); + automaton.addPushdownStoreSymbol(alphabet::symbolFrom('B')); + automaton.addPushdownStoreSymbol(alphabet::symbolFrom('C')); + automaton.addPushdownStoreSymbol(alphabet::symbolFrom('D')); + automaton.addPushdownStoreSymbol(alphabet::symbolFrom('E')); + automaton.addPushdownStoreSymbol(alphabet::symbolFrom('F')); + automaton.addPushdownStoreSymbol(alphabet::symbolFrom('T')); automaton.addState(automaton::State(0)); automaton.addState(automaton::State(1)); diff --git a/alib2algo/test-src/grammar/convert/GrammarCFGtoPDATest.cpp b/alib2algo/test-src/grammar/convert/GrammarCFGtoPDATest.cpp index 4959feeb4ecf3372cc0f60e41707bf7520323e69..d89a9ca38e7df5bf910c88fec76f023d3388ce0a 100644 --- a/alib2algo/test-src/grammar/convert/GrammarCFGtoPDATest.cpp +++ b/alib2algo/test-src/grammar/convert/GrammarCFGtoPDATest.cpp @@ -46,7 +46,7 @@ void GrammarCFGtoPDATest::testTopDown() automaton::NPDA pda(q, nE); pda.setStates(std::set<automaton::State>{q}); pda.setInputAlphabet(std::set<alphabet::Symbol>{tP, tS, tL, tR, tA}); - pda.setStackAlphabet(std::set<alphabet::Symbol>{tP, tS, tL, tR, tA, nE, nT, nF}); + pda.setPushdownStoreAlphabet(std::set<alphabet::Symbol>{tP, tS, tL, tR, tA, nE, nT, nF}); pda.addTransition(q, std::vector<alphabet::Symbol>{nE}, q, std::vector<alphabet::Symbol>{nE, tP, nT}); pda.addTransition(q, std::vector<alphabet::Symbol>{nE}, q, std::vector<alphabet::Symbol>{nT}); @@ -94,7 +94,7 @@ void GrammarCFGtoPDATest::testBottomUp() pda.addState(r); pda.addFinalState(r); pda.setInputAlphabet(std::set<alphabet::Symbol>{tP, tS, tL, tR, tA}); - pda.setStackAlphabet(std::set<alphabet::Symbol>{tP, tS, tL, tR, tA, nE, nT, nF, bots}); + pda.setPushdownStoreAlphabet(std::set<alphabet::Symbol>{tP, tS, tL, tR, tA, nE, nT, nF, bots}); pda.addTransition(q, std::vector<alphabet::Symbol>{nE, tP, nT}, q, std::vector<alphabet::Symbol>{nE}); pda.addTransition(q, std::vector<alphabet::Symbol>{nT}, q, std::vector<alphabet::Symbol>{nE}); diff --git a/alib2data/src/automaton/PDA/DPDA.cpp b/alib2data/src/automaton/PDA/DPDA.cpp index cffc1add3d849597a0934b2375d1dd9a6b74fd96..18e41d117be57a6c59b3b3910af1a6c76d5ef358 100644 --- a/alib2data/src/automaton/PDA/DPDA.cpp +++ b/alib2data/src/automaton/PDA/DPDA.cpp @@ -60,21 +60,21 @@ bool DPDA::removeInputSymbol(const alphabet::Symbol& symbol) { return inputAlphabet.erase(symbol); } -bool DPDA::removeStackSymbol(const alphabet::Symbol& symbol) { +bool DPDA::removePushdownStoreSymbol(const alphabet::Symbol& symbol) { for (const std::pair<const std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, std::vector<alphabet::Symbol> >, std::pair<State, std::vector<alphabet::Symbol> > >& transition : transitions) { for (const alphabet::Symbol& popSymbol : std::get<2>(transition.first)) { if (symbol == popSymbol) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } if (std::find(transition.second.second.begin(), transition.second.second.end(), symbol) != transition.second.second.end()) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } if(initialSymbol == symbol) { - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is start symbol."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is start symbol."); } - return stackAlphabet.erase(symbol); + return pushdownStoreAlphabet.erase(symbol); } bool DPDA::addTransition(State from, std::variant<string::Epsilon, alphabet::Symbol> input, std::vector<alphabet::Symbol> pop, State to, std::vector<alphabet::Symbol> push) { @@ -91,14 +91,14 @@ bool DPDA::addTransition(State from, std::variant<string::Epsilon, alphabet::Sym } for(const alphabet::Symbol& popSymbol : pop) { - if (stackAlphabet.find(popSymbol) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) popSymbol + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(popSymbol) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) popSymbol + "\" doesn't exist."); } } for(const alphabet::Symbol& pushSymbol : push) { - if (stackAlphabet.find(pushSymbol) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(pushSymbol) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); } } @@ -229,8 +229,8 @@ std::map<std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, std: } int DPDA::compare(const DPDA& other) const { - auto first = std::tie(states, inputAlphabet, initialState, finalStates, stackAlphabet, initialSymbol, transitions); - auto second = std::tie(other.states, other.inputAlphabet, other.initialState, other.finalStates, other.stackAlphabet, other.initialSymbol, other.transitions); + auto first = std::tie(states, inputAlphabet, initialState, finalStates, pushdownStoreAlphabet, initialSymbol, transitions); + auto second = std::tie(other.states, other.inputAlphabet, other.initialState, other.finalStates, other.pushdownStoreAlphabet, other.initialSymbol, other.transitions); std::compare<decltype(first)> comp; return comp(first, second); @@ -242,7 +242,7 @@ void DPDA::operator>>(std::ostream& out) const { << "inputAlphabet = " << inputAlphabet << "initialState = " << initialState << "finalStates = " << finalStates - << "stackAlphabet = " << stackAlphabet + << "pushdownStoreAlphabet = " << pushdownStoreAlphabet << "initialSymbol = " << initialSymbol << "transitions = " << transitions << ")"; @@ -261,15 +261,15 @@ DPDA DPDA::parse(std::deque<sax::Token>::iterator& input) { std::set<State> states = AutomatonFromXMLParser::parseStates(input); std::set<alphabet::Symbol> inputSymbols = AutomatonFromXMLParser::parseInputAlphabet(input); - std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parseStackAlphabet(input); + std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parsePushdownStoreAlphabet(input); State initialState = AutomatonFromXMLParser::parseInitialState(input); - alphabet::Symbol initialStackSymbol = AutomatonFromXMLParser::parseInitialStackSymbol(input); + alphabet::Symbol initialPushdownStoreSymbol = AutomatonFromXMLParser::parseInitialPushdownStoreSymbol(input); std::set<State> finalStates = AutomatonFromXMLParser::parseFinalStates(input); - DPDA automaton(std::move(initialState), std::move(initialStackSymbol)); + DPDA automaton(std::move(initialState), std::move(initialPushdownStoreSymbol)); automaton.setStates(std::move(states)); automaton.setInputAlphabet(std::move(inputSymbols)); - automaton.setStackAlphabet(std::move(stackSymbols)); + automaton.setPushdownStoreAlphabet(std::move(stackSymbols)); automaton.setFinalStates(std::move(finalStates)); AutomatonFromXMLParser::parseTransitions<DPDA>(input, automaton); @@ -295,9 +295,9 @@ void DPDA::compose(std::deque<sax::Token>& out) const { AutomatonToXMLComposer::composeStates(out, this->getStates()); AutomatonToXMLComposer::composeInputAlphabet(out, this->getInputAlphabet()); - AutomatonToXMLComposer::composeStackAlphabet(out, this->getStackAlphabet()); + AutomatonToXMLComposer::composePushdownStoreAlphabet(out, this->getPushdownStoreAlphabet()); AutomatonToXMLComposer::composeInitialState(out, this->getInitialState()); - AutomatonToXMLComposer::composeInitialStackSymbol(out, this->getInitialSymbol()); + AutomatonToXMLComposer::composeInitialPushdownStoreSymbol(out, this->getInitialSymbol()); AutomatonToXMLComposer::composeFinalStates(out, this->getFinalStates()); composeTransitions(out); diff --git a/alib2data/src/automaton/PDA/DPDA.h b/alib2data/src/automaton/PDA/DPDA.h index 96614613bf187d2e04f3e548c082e411687f14f1..a372e242e49f3e0708ef767da647d5cd7775fc97 100644 --- a/alib2data/src/automaton/PDA/DPDA.h +++ b/alib2data/src/automaton/PDA/DPDA.h @@ -50,9 +50,9 @@ public: virtual bool removeInputSymbol ( const alphabet::Symbol & symbol ); /** - * @copydoc Automaton::removeStackSymbol(const Symbol&) + * @copydoc Automaton::removePushdownStoreSymbol(const Symbol&) */ - virtual bool removeStackSymbol ( const alphabet::Symbol & symbol ); + virtual bool removePushdownStoreSymbol ( const alphabet::Symbol & symbol ); /** * Adds transition to the DPDA. diff --git a/alib2data/src/automaton/PDA/InputDrivenDPDA.cpp b/alib2data/src/automaton/PDA/InputDrivenDPDA.cpp index 0f4248278cc98f365b3f84005ffb8636224fa9c5..1e10178ccecbc990f5623d225466e556e75f886d 100644 --- a/alib2data/src/automaton/PDA/InputDrivenDPDA.cpp +++ b/alib2data/src/automaton/PDA/InputDrivenDPDA.cpp @@ -58,19 +58,19 @@ bool InputDrivenDPDA::removeInputSymbol(const alphabet::Symbol& symbol) { return inputAlphabet.erase(symbol); } -bool InputDrivenDPDA::removeStackSymbol(const alphabet::Symbol& symbol) { +bool InputDrivenDPDA::removePushdownStoreSymbol(const alphabet::Symbol& symbol) { for (const auto& pushdownStoreOperation : inputSymbolToPushdownStoreOperation) { if (std::find(pushdownStoreOperation.second.first.begin(), pushdownStoreOperation.second.first.end(), symbol) != pushdownStoreOperation.second.first.end()) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); if (std::find(pushdownStoreOperation.second.second.begin(), pushdownStoreOperation.second.second.end(), symbol) != pushdownStoreOperation.second.second.end()) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } if(initialSymbol == symbol) { - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is start symbol."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is start symbol."); } - return stackAlphabet.erase(symbol); + return pushdownStoreAlphabet.erase(symbol); } void InputDrivenDPDA::checkPushdownStoreOperation(const alphabet::Symbol& input, const std::vector<alphabet::Symbol>& pop, const std::vector<alphabet::Symbol>& push) { @@ -79,14 +79,14 @@ void InputDrivenDPDA::checkPushdownStoreOperation(const alphabet::Symbol& input, } for(const alphabet::Symbol& popSymbol : pop) { - if (stackAlphabet.find(popSymbol) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) popSymbol + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(popSymbol) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) popSymbol + "\" doesn't exist."); } } for(const alphabet::Symbol& pushSymbol : push) { - if (stackAlphabet.find(pushSymbol) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(pushSymbol) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); } } } @@ -200,8 +200,8 @@ std::map<std::pair<State, alphabet::Symbol>, State> InputDrivenDPDA::getTransiti } int InputDrivenDPDA::compare(const InputDrivenDPDA& other) const { - auto first = std::tie(states, inputAlphabet, initialState, finalStates, stackAlphabet, initialSymbol, inputSymbolToPushdownStoreOperation, transitions); - auto second = std::tie(other.states, other.inputAlphabet, other.initialState, other.finalStates, other.stackAlphabet, other.initialSymbol, other.inputSymbolToPushdownStoreOperation, other.transitions); + auto first = std::tie(states, inputAlphabet, initialState, finalStates, pushdownStoreAlphabet, initialSymbol, inputSymbolToPushdownStoreOperation, transitions); + auto second = std::tie(other.states, other.inputAlphabet, other.initialState, other.finalStates, other.pushdownStoreAlphabet, other.initialSymbol, other.inputSymbolToPushdownStoreOperation, other.transitions); std::compare<decltype(first)> comp; return comp(first, second); @@ -213,7 +213,7 @@ void InputDrivenDPDA::operator>>(std::ostream& out) const { << " inputAlphabet = " << inputAlphabet << " initialState = " << initialState << " finalStates = " << finalStates - << " stackAlphabet = " << stackAlphabet + << " pushdownStoreAlphabet = " << pushdownStoreAlphabet << " initialSymbol = " << initialSymbol << " transitions = " << transitions << " inputSymbolToPushdownStoreOperation = " << inputSymbolToPushdownStoreOperation @@ -233,15 +233,15 @@ InputDrivenDPDA InputDrivenDPDA::parse(std::deque<sax::Token>::iterator& input) std::set<State> states = AutomatonFromXMLParser::parseStates(input); std::set<alphabet::Symbol> inputSymbols = AutomatonFromXMLParser::parseInputAlphabet(input); - std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parseStackAlphabet(input); + std::set<alphabet::Symbol> pushdownStoreSymbols = AutomatonFromXMLParser::parsePushdownStoreAlphabet(input); State initialState = AutomatonFromXMLParser::parseInitialState(input); - alphabet::Symbol initialStackSymbol = AutomatonFromXMLParser::parseInitialStackSymbol(input); + alphabet::Symbol initialPushdownStoreSymbol = AutomatonFromXMLParser::parseInitialPushdownStoreSymbol(input); std::set<State> finalStates = AutomatonFromXMLParser::parseFinalStates(input); - InputDrivenDPDA automaton(std::move(initialState), std::move(initialStackSymbol)); + InputDrivenDPDA automaton(std::move(initialState), std::move(initialPushdownStoreSymbol)); automaton.setStates(std::move(states)); automaton.setInputAlphabet(std::move(inputSymbols)); - automaton.setStackAlphabet(std::move(stackSymbols)); + automaton.setPushdownStoreAlphabet(std::move(pushdownStoreSymbols)); automaton.setFinalStates(std::move(finalStates)); automaton.setPushdownStoreOperations(AutomatonFromXMLParser::parseInputToPushdownStoreOperation(input)); @@ -266,9 +266,9 @@ void InputDrivenDPDA::compose(std::deque<sax::Token>& out) const { AutomatonToXMLComposer::composeStates(out, this->getStates()); AutomatonToXMLComposer::composeInputAlphabet(out, this->getInputAlphabet()); - AutomatonToXMLComposer::composeStackAlphabet(out, this->getStackAlphabet()); + AutomatonToXMLComposer::composePushdownStoreAlphabet(out, this->getPushdownStoreAlphabet()); AutomatonToXMLComposer::composeInitialState(out, this->getInitialState()); - AutomatonToXMLComposer::composeInitialStackSymbol(out, this->getInitialSymbol()); + AutomatonToXMLComposer::composeInitialPushdownStoreSymbol(out, this->getInitialSymbol()); AutomatonToXMLComposer::composeFinalStates(out, this->getFinalStates()); AutomatonToXMLComposer::composeInputToPushdownStoreOperation(out, this->getPushdownStoreOperations()); composeTransitions(out); diff --git a/alib2data/src/automaton/PDA/InputDrivenDPDA.h b/alib2data/src/automaton/PDA/InputDrivenDPDA.h index 41b247490a9bad2b38274d3726be0f68a28f2353..4d16d637e7a3d017121c3fa6d33c83c53d2ad16d 100644 --- a/alib2data/src/automaton/PDA/InputDrivenDPDA.h +++ b/alib2data/src/automaton/PDA/InputDrivenDPDA.h @@ -47,9 +47,9 @@ public: virtual bool removeInputSymbol ( const alphabet::Symbol & symbol ); /* - * @copydoc Automaton::removeStackSymbol(const Symbol&) + * @copydoc Automaton::removePushdownStoreSymbol(const Symbol&) */ - virtual bool removeStackSymbol ( const alphabet::Symbol & symbol ); + virtual bool removePushdownStoreSymbol ( const alphabet::Symbol & symbol ); bool setPushdownStoreOperation ( alphabet::Symbol input, std::vector < alphabet::Symbol > pop, std::vector < alphabet::Symbol > push ); diff --git a/alib2data/src/automaton/PDA/InputDrivenNPDA.cpp b/alib2data/src/automaton/PDA/InputDrivenNPDA.cpp index 478b71610051c508d29504758419810193eb44cc..e1141b5aaf7fff8b67a26f5f70460848069d9f0f 100644 --- a/alib2data/src/automaton/PDA/InputDrivenNPDA.cpp +++ b/alib2data/src/automaton/PDA/InputDrivenNPDA.cpp @@ -58,19 +58,19 @@ bool InputDrivenNPDA::removeInputSymbol(const alphabet::Symbol& symbol) { return inputAlphabet.erase(symbol); } -bool InputDrivenNPDA::removeStackSymbol(const alphabet::Symbol& symbol) { +bool InputDrivenNPDA::removePushdownStoreSymbol(const alphabet::Symbol& symbol) { for (const auto& pushdownStoreOperation : inputSymbolToPushdownStoreOperation) { if (std::find(pushdownStoreOperation.second.first.begin(), pushdownStoreOperation.second.first.end(), symbol) != pushdownStoreOperation.second.first.end()) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); if (std::find(pushdownStoreOperation.second.second.begin(), pushdownStoreOperation.second.second.end(), symbol) != pushdownStoreOperation.second.second.end()) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } if(initialSymbol == symbol) { - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is start symbol."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is start symbol."); } - return stackAlphabet.erase(symbol); + return pushdownStoreAlphabet.erase(symbol); } void InputDrivenNPDA::checkPushdownStoreOperation(const alphabet::Symbol& input, const std::vector<alphabet::Symbol>& pop, const std::vector<alphabet::Symbol>& push) { @@ -79,14 +79,14 @@ void InputDrivenNPDA::checkPushdownStoreOperation(const alphabet::Symbol& input, } for(const alphabet::Symbol& popSymbol : pop) { - if (stackAlphabet.find(popSymbol) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) popSymbol + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(popSymbol) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) popSymbol + "\" doesn't exist."); } } for(const alphabet::Symbol& pushSymbol : push) { - if (stackAlphabet.find(pushSymbol) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(pushSymbol) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); } } } @@ -191,8 +191,8 @@ bool InputDrivenNPDA::isDeterministic() const { } int InputDrivenNPDA::compare(const InputDrivenNPDA& other) const { - auto first = std::tie(states, inputAlphabet, initialState, finalStates, stackAlphabet, initialSymbol, inputSymbolToPushdownStoreOperation, transitions); - auto second = std::tie(other.states, other.inputAlphabet, other.initialState, other.finalStates, other.stackAlphabet, other.initialSymbol, other.inputSymbolToPushdownStoreOperation, other.transitions); + auto first = std::tie(states, inputAlphabet, initialState, finalStates, pushdownStoreAlphabet, initialSymbol, inputSymbolToPushdownStoreOperation, transitions); + auto second = std::tie(other.states, other.inputAlphabet, other.initialState, other.finalStates, other.pushdownStoreAlphabet, other.initialSymbol, other.inputSymbolToPushdownStoreOperation, other.transitions); std::compare<decltype(first)> comp; return comp(first, second); @@ -204,7 +204,7 @@ void InputDrivenNPDA::operator>>(std::ostream& out) const { << " inputAlphabet = " << inputAlphabet << " initialState = " << initialState << " finalStates = " << finalStates - << " stackAlphabet = " << stackAlphabet + << " pushdownStoreAlphabet = " << pushdownStoreAlphabet << " initialSymbol = " << initialSymbol << " transitions = " << transitions << " inputSymbolToPushdownStoreOperation = " << inputSymbolToPushdownStoreOperation @@ -224,15 +224,15 @@ InputDrivenNPDA InputDrivenNPDA::parse(std::deque<sax::Token>::iterator& input) std::set<State> states = AutomatonFromXMLParser::parseStates(input); std::set<alphabet::Symbol> inputSymbols = AutomatonFromXMLParser::parseInputAlphabet(input); - std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parseStackAlphabet(input); + std::set<alphabet::Symbol> pushdownStoreSymbols = AutomatonFromXMLParser::parsePushdownStoreAlphabet(input); State initialState = AutomatonFromXMLParser::parseInitialState(input); - alphabet::Symbol initialStackSymbol = AutomatonFromXMLParser::parseInitialStackSymbol(input); + alphabet::Symbol initialPushdownStoreSymbol = AutomatonFromXMLParser::parseInitialPushdownStoreSymbol(input); std::set<State> finalStates = AutomatonFromXMLParser::parseFinalStates(input); - InputDrivenNPDA automaton(std::move(initialState), std::move(initialStackSymbol)); + InputDrivenNPDA automaton(std::move(initialState), std::move(initialPushdownStoreSymbol)); automaton.setStates(std::move(states)); automaton.setInputAlphabet(std::move(inputSymbols)); - automaton.setStackAlphabet(std::move(stackSymbols)); + automaton.setPushdownStoreAlphabet(std::move(pushdownStoreSymbols)); automaton.setFinalStates(std::move(finalStates)); automaton.setPushdownStoreOperations(AutomatonFromXMLParser::parseInputToPushdownStoreOperation(input)); @@ -257,9 +257,9 @@ void InputDrivenNPDA::compose(std::deque<sax::Token>& out) const { AutomatonToXMLComposer::composeStates(out, this->getStates()); AutomatonToXMLComposer::composeInputAlphabet(out, this->getInputAlphabet()); - AutomatonToXMLComposer::composeStackAlphabet(out, this->getStackAlphabet()); + AutomatonToXMLComposer::composePushdownStoreAlphabet(out, this->getPushdownStoreAlphabet()); AutomatonToXMLComposer::composeInitialState(out, this->getInitialState()); - AutomatonToXMLComposer::composeInitialStackSymbol(out, this->getInitialSymbol()); + AutomatonToXMLComposer::composeInitialPushdownStoreSymbol(out, this->getInitialSymbol()); AutomatonToXMLComposer::composeFinalStates(out, this->getFinalStates()); AutomatonToXMLComposer::composeInputToPushdownStoreOperation(out, this->getPushdownStoreOperations()); composeTransitions(out); diff --git a/alib2data/src/automaton/PDA/InputDrivenNPDA.h b/alib2data/src/automaton/PDA/InputDrivenNPDA.h index a4143448ed4f2beab825b5f09d954ca82ec7dfbc..98265164e4eb694836f3231d71df3b88d24c1c44 100644 --- a/alib2data/src/automaton/PDA/InputDrivenNPDA.h +++ b/alib2data/src/automaton/PDA/InputDrivenNPDA.h @@ -47,9 +47,9 @@ public: virtual bool removeInputSymbol ( const alphabet::Symbol & symbol ); /* - * @copydoc Automaton::removeStackSymbol(const Symbol&) + * @copydoc Automaton::removePushdownStoreSymbol(const Symbol&) */ - virtual bool removeStackSymbol ( const alphabet::Symbol & symbol ); + virtual bool removePushdownStoreSymbol ( const alphabet::Symbol & symbol ); bool setPushdownStoreOperation ( alphabet::Symbol input, std::vector < alphabet::Symbol > pop, std::vector < alphabet::Symbol > push ); diff --git a/alib2data/src/automaton/PDA/NPDA.cpp b/alib2data/src/automaton/PDA/NPDA.cpp index 3b5f5449eaf8264a4af68d79f2b11002fa0ad6d0..743b4f6c815681f740b1c767f06f293f6048fd86 100644 --- a/alib2data/src/automaton/PDA/NPDA.cpp +++ b/alib2data/src/automaton/PDA/NPDA.cpp @@ -62,23 +62,23 @@ bool NPDA::removeInputSymbol(const alphabet::Symbol& symbol) { return inputAlphabet.erase(symbol); } -bool NPDA::removeStackSymbol(const alphabet::Symbol& symbol) { +bool NPDA::removePushdownStoreSymbol(const alphabet::Symbol& symbol) { if(initialSymbol == symbol) { - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is start symbol."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is start symbol."); } for (const std::pair<const std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, std::vector<alphabet::Symbol> >, std::set<std::pair<State, std::vector<alphabet::Symbol> > > >& transition : transitions) { for (const alphabet::Symbol& popSymbol : std::get<2>(transition.first)) { if (symbol == popSymbol) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } for (const std::pair<State, std::vector<alphabet::Symbol> >& target : transition.second) { if (std::find(target.second.begin(), target.second.end(), symbol) != target.second.end()) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } } - return stackAlphabet.erase(symbol); + return pushdownStoreAlphabet.erase(symbol); } bool NPDA::addTransition(State from, std::variant<string::Epsilon, alphabet::Symbol> input, std::vector<alphabet::Symbol> pop, State to, std::vector<alphabet::Symbol> push) { @@ -95,14 +95,14 @@ bool NPDA::addTransition(State from, std::variant<string::Epsilon, alphabet::Sym } for(const alphabet::Symbol& popSymbol : pop) { - if (stackAlphabet.find(popSymbol) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) popSymbol + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(popSymbol) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) popSymbol + "\" doesn't exist."); } } for(const alphabet::Symbol& pushSymbol : push) { - if (stackAlphabet.find(pushSymbol) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(pushSymbol) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); } } @@ -144,8 +144,8 @@ const std::map<std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol> } int NPDA::compare(const NPDA& other) const { - auto first = std::tie(states, inputAlphabet, initialState, finalStates, stackAlphabet, initialSymbol, transitions); - auto second = std::tie(other.states, other.inputAlphabet, other.initialState, other.finalStates, other.stackAlphabet, other.initialSymbol, other.transitions); + auto first = std::tie(states, inputAlphabet, initialState, finalStates, pushdownStoreAlphabet, initialSymbol, transitions); + auto second = std::tie(other.states, other.inputAlphabet, other.initialState, other.finalStates, other.pushdownStoreAlphabet, other.initialSymbol, other.transitions); std::compare<decltype(first)> comp; return comp(first, second); @@ -157,7 +157,7 @@ void NPDA::operator>>(std::ostream& out) const { << "inputAlphabet = " << inputAlphabet << "initialState = " << initialState << "finalStates = " << finalStates - << "stackAlphabet = " << stackAlphabet + << "pushdownStoreAlphabet = " << pushdownStoreAlphabet << "initialSymbol = " << initialSymbol << "transitions = " << transitions << ")"; @@ -176,15 +176,15 @@ NPDA NPDA::parse(std::deque<sax::Token>::iterator& input) { std::set<State> states = AutomatonFromXMLParser::parseStates(input); std::set<alphabet::Symbol> inputSymbols = AutomatonFromXMLParser::parseInputAlphabet(input); - std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parseStackAlphabet(input); + std::set<alphabet::Symbol> pushdownStoreSymbols = AutomatonFromXMLParser::parsePushdownStoreAlphabet(input); State initialState = AutomatonFromXMLParser::parseInitialState(input); - alphabet::Symbol initialStackSymbol = AutomatonFromXMLParser::parseInitialStackSymbol(input); + alphabet::Symbol initialPushdownStoreSymbol = AutomatonFromXMLParser::parseInitialPushdownStoreSymbol(input); std::set<State> finalStates = AutomatonFromXMLParser::parseFinalStates(input); - NPDA automaton(std::move(initialState), std::move(initialStackSymbol)); + NPDA automaton(std::move(initialState), std::move(initialPushdownStoreSymbol)); automaton.setStates(std::move(states)); automaton.setInputAlphabet(std::move(inputSymbols)); - automaton.setStackAlphabet(std::move(stackSymbols)); + automaton.setPushdownStoreAlphabet(std::move(pushdownStoreSymbols)); automaton.setFinalStates(std::move(finalStates)); AutomatonFromXMLParser::parseTransitions<NPDA>(input, automaton); @@ -210,9 +210,9 @@ void NPDA::compose(std::deque<sax::Token>& out) const { AutomatonToXMLComposer::composeStates(out, this->getStates()); AutomatonToXMLComposer::composeInputAlphabet(out, this->getInputAlphabet()); - AutomatonToXMLComposer::composeStackAlphabet(out, this->getStackAlphabet()); + AutomatonToXMLComposer::composePushdownStoreAlphabet(out, this->getPushdownStoreAlphabet()); AutomatonToXMLComposer::composeInitialState(out, this->getInitialState()); - AutomatonToXMLComposer::composeInitialStackSymbol(out, this->getInitialSymbol()); + AutomatonToXMLComposer::composeInitialPushdownStoreSymbol(out, this->getInitialSymbol()); AutomatonToXMLComposer::composeFinalStates(out, this->getFinalStates()); composeTransitions(out); diff --git a/alib2data/src/automaton/PDA/NPDA.h b/alib2data/src/automaton/PDA/NPDA.h index 8072f337198ab6bc136c948adbd9e17c7fa44f8d..845b5d13c24c08c97f98ad0eb2f46f729ee597ce 100644 --- a/alib2data/src/automaton/PDA/NPDA.h +++ b/alib2data/src/automaton/PDA/NPDA.h @@ -46,9 +46,9 @@ public: virtual bool removeInputSymbol ( const alphabet::Symbol & symbol ); /** - * @copydoc Automaton::removeStackSymbol(const Symbol&) + * @copydoc Automaton::removePushdownStoreSymbol(const Symbol&) */ - virtual bool removeStackSymbol ( const alphabet::Symbol & symbol ); + virtual bool removePushdownStoreSymbol ( const alphabet::Symbol & symbol ); /** * Adds transition to the NPDA. diff --git a/alib2data/src/automaton/PDA/NPDTA.cpp b/alib2data/src/automaton/PDA/NPDTA.cpp index d80fc2109d4e0ca6d9e7fd633c0bb38a55e1e9e0..775ffb5a0303f03fad4a9885b55b6d130623b352 100644 --- a/alib2data/src/automaton/PDA/NPDTA.cpp +++ b/alib2data/src/automaton/PDA/NPDTA.cpp @@ -62,23 +62,23 @@ bool NPDTA::removeInputSymbol(const alphabet::Symbol& symbol) { return inputAlphabet.erase(symbol); } -bool NPDTA::removeStackSymbol(const alphabet::Symbol& symbol) { +bool NPDTA::removePushdownStoreSymbol(const alphabet::Symbol& symbol) { if(initialSymbol == symbol) { - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is start symbol."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is start symbol."); } for (const std::pair<const std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, std::vector<alphabet::Symbol> >, std::set<std::tuple<State, std::vector<alphabet::Symbol>, std::vector<alphabet::Symbol> > > >& transition : transitions) { for (const alphabet::Symbol& popSymbol : std::get<2>(transition.first)) { if (symbol == popSymbol) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } for (const std::tuple<State, std::vector<alphabet::Symbol>, std::vector<alphabet::Symbol> >& target : transition.second) { if (std::find(std::get<1>(target).begin(), std::get<1>(target).end(), symbol) != std::get<1>(target).end()) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } } - return stackAlphabet.erase(symbol); + return pushdownStoreAlphabet.erase(symbol); } bool NPDTA::removeOutputSymbol(const alphabet::Symbol& symbol) { @@ -107,14 +107,14 @@ bool NPDTA::addTransition(State from, std::variant<string::Epsilon, alphabet::Sy } for(const alphabet::Symbol& popSymbol : pop) { - if (stackAlphabet.find(popSymbol) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) popSymbol + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(popSymbol) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) popSymbol + "\" doesn't exist."); } } for(const alphabet::Symbol& pushSymbol : push) { - if (stackAlphabet.find(pushSymbol) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(pushSymbol) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); } } @@ -178,8 +178,8 @@ std::set < std::pair < std::tuple < State, std::variant < string::Epsilon, alpha } int NPDTA::compare(const NPDTA& other) const { - auto first = std::tie(states, inputAlphabet, outputAlphabet, initialState, finalStates, stackAlphabet, initialSymbol, transitions); - auto second = std::tie(other.states, other.inputAlphabet, other.outputAlphabet, other.initialState, other.finalStates, other.stackAlphabet, other.initialSymbol, other.transitions); + auto first = std::tie(states, inputAlphabet, outputAlphabet, initialState, finalStates, pushdownStoreAlphabet, initialSymbol, transitions); + auto second = std::tie(other.states, other.inputAlphabet, other.outputAlphabet, other.initialState, other.finalStates, other.pushdownStoreAlphabet, other.initialSymbol, other.transitions); std::compare<decltype(first)> comp; return comp(first, second); @@ -191,7 +191,7 @@ void NPDTA::operator>>(std::ostream& out) const { << "inputAlphabet = " << inputAlphabet << "initialState = " << initialState << "finalStates = " << finalStates - << "stackAlphabet = " << stackAlphabet + << "pushdownStoreAlphabet = " << pushdownStoreAlphabet << "initialSymbol = " << initialSymbol << "outputAlphabet = " << outputAlphabet << "transitions = " << transitions @@ -211,16 +211,16 @@ NPDTA NPDTA::parse(std::deque<sax::Token>::iterator& input) { std::set<State> states = AutomatonFromXMLParser::parseStates(input); std::set<alphabet::Symbol> inputSymbols = AutomatonFromXMLParser::parseInputAlphabet(input); - std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parseStackAlphabet(input); + std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parsePushdownStoreAlphabet(input); std::set<alphabet::Symbol> outputSymbols = AutomatonFromXMLParser::parseOutputAlphabet(input); State initialState = AutomatonFromXMLParser::parseInitialState(input); - alphabet::Symbol initialStackSymbol = AutomatonFromXMLParser::parseInitialStackSymbol(input); + alphabet::Symbol initialPushdownStoreSymbol = AutomatonFromXMLParser::parseInitialPushdownStoreSymbol(input); std::set<State> finalStates = AutomatonFromXMLParser::parseFinalStates(input); - NPDTA automaton(std::move(initialState), std::move(initialStackSymbol)); + NPDTA automaton(std::move(initialState), std::move(initialPushdownStoreSymbol)); automaton.setStates(std::move(states)); automaton.setInputAlphabet(std::move(inputSymbols)); - automaton.setStackAlphabet(std::move(stackSymbols)); + automaton.setPushdownStoreAlphabet(std::move(stackSymbols)); automaton.setOutputAlphabet(std::move(outputSymbols)); automaton.setFinalStates(std::move(finalStates)); @@ -248,10 +248,10 @@ void NPDTA::compose(std::deque<sax::Token>& out) const { AutomatonToXMLComposer::composeStates(out, this->getStates()); AutomatonToXMLComposer::composeInputAlphabet(out, this->getInputAlphabet()); - AutomatonToXMLComposer::composeStackAlphabet(out, this->getStackAlphabet()); + AutomatonToXMLComposer::composePushdownStoreAlphabet(out, this->getPushdownStoreAlphabet()); AutomatonToXMLComposer::composeOutputAlphabet(out, this->getOutputAlphabet()); AutomatonToXMLComposer::composeInitialState(out, this->getInitialState()); - AutomatonToXMLComposer::composeInitialStackSymbol(out, this->getInitialSymbol()); + AutomatonToXMLComposer::composeInitialPushdownStoreSymbol(out, this->getInitialSymbol()); AutomatonToXMLComposer::composeFinalStates(out, this->getFinalStates()); composeTransitions(out); diff --git a/alib2data/src/automaton/PDA/NPDTA.h b/alib2data/src/automaton/PDA/NPDTA.h index 19eea0d1ce59d98968add5532691b21a08f0f9a9..fa5ec5fbddd76ae77b013348d41c5b48b210ac21 100644 --- a/alib2data/src/automaton/PDA/NPDTA.h +++ b/alib2data/src/automaton/PDA/NPDTA.h @@ -47,9 +47,9 @@ public: virtual bool removeInputSymbol ( const alphabet::Symbol & symbol ); /** - * @copydoc Automaton::removeStackSymbol(const Symbol&) + * @copydoc Automaton::removePushdownStoreSymbol(const Symbol&) */ - virtual bool removeStackSymbol ( const alphabet::Symbol & symbol ); + virtual bool removePushdownStoreSymbol ( const alphabet::Symbol & symbol ); /** * @copydoc Automaton::removeOutputSymbol(const Symbol&) diff --git a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.cpp b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.cpp index e89ad381a2f82673b0031c73dfdb3f7d8dcc5e6e..c2899f6d134b28b06246cfa2eb305ec65e7c0193 100644 --- a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.cpp +++ b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.cpp @@ -84,22 +84,22 @@ bool RealTimeHeightDeterministicDPDA::removeInputSymbol(const alphabet::Symbol& return inputAlphabet.erase(symbol); } -bool RealTimeHeightDeterministicDPDA::removeStackSymbol(const alphabet::Symbol& symbol) { +bool RealTimeHeightDeterministicDPDA::removePushdownStoreSymbol(const alphabet::Symbol& symbol) { for (const std::pair<const std::pair<State, std::variant<string::Epsilon, alphabet::Symbol>>, std::pair<State, alphabet::Symbol> >& callTransition : callTransitions) { if (symbol == callTransition.second.second) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } for (const std::pair<const std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, alphabet::Symbol>, State>& returnTransition : returnTransitions) { if (symbol == std::get<2>(returnTransition.first)) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } if(bottomOfTheStackSymbol == symbol) { - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is start symbol."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is start symbol."); } - return stackAlphabet.erase(symbol); + return pushdownStoreAlphabet.erase(symbol); } bool RealTimeHeightDeterministicDPDA::addCallTransition(State from, std::variant<string::Epsilon, alphabet::Symbol> input, State to, alphabet::Symbol push) { @@ -115,8 +115,8 @@ bool RealTimeHeightDeterministicDPDA::addCallTransition(State from, std::variant throw AutomatonException("State \"" + (std::string) to.getName() + "\" doesn't exist."); } - if (stackAlphabet.find(push) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) push + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(push) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) push + "\" doesn't exist."); } std::pair<State, std::variant<string::Epsilon, alphabet::Symbol>> key(std::move(from), std::move(input)); @@ -178,8 +178,8 @@ bool RealTimeHeightDeterministicDPDA::addReturnTransition(State from, std::varia throw AutomatonException("State \"" + (std::string) to.getName() + "\" doesn't exist."); } - if (stackAlphabet.find(pop) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) pop + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(pop) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) pop + "\" doesn't exist."); } std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, alphabet::Symbol> key(std::move(from), std::move(input), std::move(pop)); @@ -374,8 +374,8 @@ const std::map<std::pair<State, std::variant<string::Epsilon, alphabet::Symbol>> } int RealTimeHeightDeterministicDPDA::compare(const RealTimeHeightDeterministicDPDA& other) const { - auto first = std::tie(states, inputAlphabet, initialState, finalStates, stackAlphabet, bottomOfTheStackSymbol, callTransitions, returnTransitions, localTransitions); - auto second = std::tie(other.states, other.inputAlphabet, other.initialState, other.finalStates, other.stackAlphabet, other.bottomOfTheStackSymbol, other.callTransitions, other.returnTransitions, other.localTransitions); + auto first = std::tie(states, inputAlphabet, initialState, finalStates, pushdownStoreAlphabet, bottomOfTheStackSymbol, callTransitions, returnTransitions, localTransitions); + auto second = std::tie(other.states, other.inputAlphabet, other.initialState, other.finalStates, other.pushdownStoreAlphabet, other.bottomOfTheStackSymbol, other.callTransitions, other.returnTransitions, other.localTransitions); std::compare<decltype(first)> comp; return comp(first, second); @@ -387,7 +387,7 @@ void RealTimeHeightDeterministicDPDA::operator>>(std::ostream& out) const { << "inputAlphabet = " << inputAlphabet << "initialState = " << initialState << "finalStates = " << finalStates - << "stackAlphabet = " << stackAlphabet + << "pushdownStoreAlphabet = " << pushdownStoreAlphabet << "bottomOfTheStackSymbol = " << bottomOfTheStackSymbol << "callTransitions = " << callTransitions << "returnTransitions = " << returnTransitions @@ -408,7 +408,7 @@ RealTimeHeightDeterministicDPDA RealTimeHeightDeterministicDPDA::parse(std::dequ std::set<State> states = AutomatonFromXMLParser::parseStates(input); std::set<alphabet::Symbol> inputSymbols = AutomatonFromXMLParser::parseInputAlphabet(input); - std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parseStackAlphabet(input); + std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parsePushdownStoreAlphabet(input); State initialState = AutomatonFromXMLParser::parseInitialState(input); alphabet::Symbol bottomOfTheStackSymbol = AutomatonFromXMLParser::parseBottomOfTheStackSymbol(input); std::set<State> finalStates = AutomatonFromXMLParser::parseFinalStates(input); @@ -416,7 +416,7 @@ RealTimeHeightDeterministicDPDA RealTimeHeightDeterministicDPDA::parse(std::dequ RealTimeHeightDeterministicDPDA automaton(std::move(initialState), std::move(bottomOfTheStackSymbol)); automaton.setStates(std::move(states)); automaton.setInputAlphabet(std::move(inputSymbols)); - automaton.setStackAlphabet(std::move(stackSymbols)); + automaton.setPushdownStoreAlphabet(std::move(stackSymbols)); automaton.setFinalStates(std::move(finalStates)); AutomatonFromXMLParser::parseTransitions<RealTimeHeightDeterministicDPDA>(input, automaton); @@ -460,7 +460,7 @@ void RealTimeHeightDeterministicDPDA::compose(std::deque<sax::Token>& out) const AutomatonToXMLComposer::composeStates(out, this->getStates()); AutomatonToXMLComposer::composeInputAlphabet(out, this->getInputAlphabet()); - AutomatonToXMLComposer::composeStackAlphabet(out, this->getStackAlphabet()); + AutomatonToXMLComposer::composePushdownStoreAlphabet(out, this->getPushdownStoreAlphabet()); AutomatonToXMLComposer::composeInitialState(out, this->getInitialState()); AutomatonToXMLComposer::composeBottomOfTheStackSymbol(out, this->getBottomOfTheStackSymbol()); AutomatonToXMLComposer::composeFinalStates(out, this->getFinalStates()); diff --git a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.h b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.h index a271c76afbef7e53dcd137cedbbddbef121aab04..9dce54bcfa1b149538d2eb0e2ec1f1dd524921c4 100644 --- a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.h +++ b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.h @@ -48,9 +48,9 @@ public: virtual bool removeInputSymbol ( const alphabet::Symbol & symbol ); /* - * @copydoc Automaton::removeStackSymbol(const Symbol&) + * @copydoc Automaton::removePushdownStoreSymbol(const Symbol&) */ - virtual bool removeStackSymbol ( const alphabet::Symbol & symbol ); + virtual bool removePushdownStoreSymbol ( const alphabet::Symbol & symbol ); /** * Adds call transition defined by parameters to the automaton. diff --git a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.cpp b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.cpp index 7094310ddb29459f0c4cc873cb75a2979eec6cd7..64ca6c9f634cc73786f6e47c871e4a9ec077e8fd 100644 --- a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.cpp +++ b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.cpp @@ -90,24 +90,24 @@ bool RealTimeHeightDeterministicNPDA::removeInputSymbol(const alphabet::Symbol& return inputAlphabet.erase(symbol); } -bool RealTimeHeightDeterministicNPDA::removeStackSymbol(const alphabet::Symbol& symbol) { +bool RealTimeHeightDeterministicNPDA::removePushdownStoreSymbol(const alphabet::Symbol& symbol) { for (const std::pair<const std::pair<State, std::variant<string::Epsilon, alphabet::Symbol>>, std::set<std::pair<State, alphabet::Symbol> > >& callTransition : callTransitions) { for(const std::pair<State, alphabet::Symbol>& to : callTransition.second) { if (symbol == to.second) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } } for (const std::pair<const std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, alphabet::Symbol>, std::set<State> >& returnTransition : returnTransitions) { if (symbol == std::get<2>(returnTransition.first)) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } if(bottomOfTheStackSymbol == symbol) { - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is start symbol."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is start symbol."); } - return stackAlphabet.erase(symbol); + return pushdownStoreAlphabet.erase(symbol); } bool RealTimeHeightDeterministicNPDA::addCallTransition(State from, std::variant<string::Epsilon, alphabet::Symbol> input, State to, alphabet::Symbol push) { @@ -123,8 +123,8 @@ bool RealTimeHeightDeterministicNPDA::addCallTransition(State from, std::variant throw AutomatonException("State \"" + (std::string) to.getName() + "\" doesn't exist."); } - if (stackAlphabet.find(push) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) push + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(push) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) push + "\" doesn't exist."); } std::pair<State, std::variant<string::Epsilon, alphabet::Symbol>> key(std::move(from), std::move(input)); @@ -156,8 +156,8 @@ bool RealTimeHeightDeterministicNPDA::addReturnTransition(State from, std::varia throw AutomatonException("State \"" + (std::string) to.getName() + "\" doesn't exist."); } - if (stackAlphabet.find(pop) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) pop + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(pop) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) pop + "\" doesn't exist."); } std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, alphabet::Symbol> key(std::move(from), std::move(input), std::move(pop)); @@ -265,8 +265,8 @@ const std::map<std::pair<State, std::variant<string::Epsilon, alphabet::Symbol>> } int RealTimeHeightDeterministicNPDA::compare(const RealTimeHeightDeterministicNPDA& other) const { - auto first = std::tie(states, inputAlphabet, initialStates, finalStates, stackAlphabet, bottomOfTheStackSymbol, callTransitions, returnTransitions, localTransitions); - auto second = std::tie(other.states, other.inputAlphabet, other.initialStates, other.finalStates, other.stackAlphabet, other.bottomOfTheStackSymbol, other.callTransitions, other.returnTransitions, other.localTransitions); + auto first = std::tie(states, inputAlphabet, initialStates, finalStates, pushdownStoreAlphabet, bottomOfTheStackSymbol, callTransitions, returnTransitions, localTransitions); + auto second = std::tie(other.states, other.inputAlphabet, other.initialStates, other.finalStates, other.pushdownStoreAlphabet, other.bottomOfTheStackSymbol, other.callTransitions, other.returnTransitions, other.localTransitions); std::compare<decltype(first)> comp; return comp(first, second); @@ -278,7 +278,7 @@ void RealTimeHeightDeterministicNPDA::operator>>(std::ostream& out) const { << "inputAlphabet = " << inputAlphabet << "initialStates = " << initialStates << "finalStates = " << finalStates - << "stackAlphabet = " << stackAlphabet + << "pushdownStoreAlphabet = " << pushdownStoreAlphabet << "bottomOfTheStackSymbol = " << bottomOfTheStackSymbol << "callTransitions = " << callTransitions << "returnTransitions = " << returnTransitions @@ -299,7 +299,7 @@ RealTimeHeightDeterministicNPDA RealTimeHeightDeterministicNPDA::parse(std::dequ std::set<State> states = AutomatonFromXMLParser::parseStates(input); std::set<alphabet::Symbol> inputSymbols = AutomatonFromXMLParser::parseInputAlphabet(input); - std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parseStackAlphabet(input); + std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parsePushdownStoreAlphabet(input); std::set<State> initialStates = AutomatonFromXMLParser::parseInitialStates(input); alphabet::Symbol bottomOfTheStackSymbol = AutomatonFromXMLParser::parseBottomOfTheStackSymbol(input); std::set<State> finalStates = AutomatonFromXMLParser::parseFinalStates(input); @@ -307,7 +307,7 @@ RealTimeHeightDeterministicNPDA RealTimeHeightDeterministicNPDA::parse(std::dequ RealTimeHeightDeterministicNPDA automaton(std::move(bottomOfTheStackSymbol)); automaton.setStates(std::move(states)); automaton.setInputAlphabet(std::move(inputSymbols)); - automaton.setStackAlphabet(std::move(stackSymbols)); + automaton.setPushdownStoreAlphabet(std::move(stackSymbols)); automaton.setInitialStates(std::move(initialStates)); automaton.setFinalStates(std::move(finalStates)); @@ -352,7 +352,7 @@ void RealTimeHeightDeterministicNPDA::compose(std::deque<sax::Token>& out) const AutomatonToXMLComposer::composeStates(out, this->getStates()); AutomatonToXMLComposer::composeInputAlphabet(out, this->getInputAlphabet()); - AutomatonToXMLComposer::composeStackAlphabet(out, this->getStackAlphabet()); + AutomatonToXMLComposer::composePushdownStoreAlphabet(out, this->getPushdownStoreAlphabet()); AutomatonToXMLComposer::composeInitialStates(out, this->getInitialStates()); AutomatonToXMLComposer::composeBottomOfTheStackSymbol(out, this->getBottomOfTheStackSymbol()); AutomatonToXMLComposer::composeFinalStates(out, this->getFinalStates()); diff --git a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.h b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.h index 9fcc086eb0e1e60d4bc074ec4f5b8104d00aa0fe..04edb4b7c67754ff3d33906bc4b54ca58f1595a4 100644 --- a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.h +++ b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.h @@ -48,9 +48,9 @@ public: virtual bool removeInputSymbol ( const alphabet::Symbol & symbol ); /* - * @copydoc Automaton::removeStackSymbol(const Symbol&) + * @copydoc Automaton::removePushdownStoreSymbol(const Symbol&) */ - virtual bool removeStackSymbol ( const alphabet::Symbol & symbol ); + virtual bool removePushdownStoreSymbol ( const alphabet::Symbol & symbol ); /** * Adds call transition defined by parameters to the automaton. diff --git a/alib2data/src/automaton/PDA/SinglePopDPDA.cpp b/alib2data/src/automaton/PDA/SinglePopDPDA.cpp index 31103721d3e6309aabdb099598f05791ea57bb46..c2094a204493a24b815fb735d7a840bf8bb676d5 100644 --- a/alib2data/src/automaton/PDA/SinglePopDPDA.cpp +++ b/alib2data/src/automaton/PDA/SinglePopDPDA.cpp @@ -60,20 +60,20 @@ bool SinglePopDPDA::removeInputSymbol(const alphabet::Symbol& symbol) { return inputAlphabet.erase(symbol); } -bool SinglePopDPDA::removeStackSymbol(const alphabet::Symbol& symbol) { +bool SinglePopDPDA::removePushdownStoreSymbol(const alphabet::Symbol& symbol) { for (const std::pair<const std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, alphabet::Symbol>, std::pair<State, std::vector<alphabet::Symbol> > >& transition : transitions) { if (symbol == std::get<2>(transition.first)) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); if (std::find(transition.second.second.begin(), transition.second.second.end(), symbol) != transition.second.second.end()) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } if(initialSymbol == symbol) { - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is start symbol."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is start symbol."); } - return stackAlphabet.erase(symbol); + return pushdownStoreAlphabet.erase(symbol); } bool SinglePopDPDA::addTransition(State from, std::variant<string::Epsilon, alphabet::Symbol> input, alphabet::Symbol pop, State to, std::vector<alphabet::Symbol> push) { @@ -89,13 +89,13 @@ bool SinglePopDPDA::addTransition(State from, std::variant<string::Epsilon, alph throw AutomatonException("State \"" + (std::string) to.getName() + "\" doesn't exist."); } - if (stackAlphabet.find(pop) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) pop + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(pop) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) pop + "\" doesn't exist."); } for(const alphabet::Symbol& pushSymbol : push) { - if (stackAlphabet.find(pushSymbol) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(pushSymbol) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); } } @@ -174,8 +174,8 @@ const std::map<std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol> } int SinglePopDPDA::compare(const SinglePopDPDA& other) const { - auto first = std::tie(states, inputAlphabet, initialState, finalStates, stackAlphabet, initialSymbol, transitions); - auto second = std::tie(other.states, other.inputAlphabet, other.initialState, other.finalStates, other.stackAlphabet, other.initialSymbol, other.transitions); + auto first = std::tie(states, inputAlphabet, initialState, finalStates, pushdownStoreAlphabet, initialSymbol, transitions); + auto second = std::tie(other.states, other.inputAlphabet, other.initialState, other.finalStates, other.pushdownStoreAlphabet, other.initialSymbol, other.transitions); std::compare<decltype(first)> comp; return comp(first, second); @@ -187,7 +187,7 @@ void SinglePopDPDA::operator>>(std::ostream& out) const { << "inputAlphabet = " << inputAlphabet << "initialState = " << initialState << "finalStates = " << finalStates - << "stackAlphabet = " << stackAlphabet + << "pushdownStoreAlphabet = " << pushdownStoreAlphabet << "initialSymbol = " << initialSymbol << "transitions = " << transitions << ")"; @@ -206,15 +206,15 @@ SinglePopDPDA SinglePopDPDA::parse(std::deque<sax::Token>::iterator& input) { std::set<State> states = AutomatonFromXMLParser::parseStates(input); std::set<alphabet::Symbol> inputSymbols = AutomatonFromXMLParser::parseInputAlphabet(input); - std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parseStackAlphabet(input); + std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parsePushdownStoreAlphabet(input); State initialState = AutomatonFromXMLParser::parseInitialState(input); - alphabet::Symbol initialStackSymbol = AutomatonFromXMLParser::parseInitialStackSymbol(input); + alphabet::Symbol initialPushdownStoreSymbol = AutomatonFromXMLParser::parseInitialPushdownStoreSymbol(input); std::set<State> finalStates = AutomatonFromXMLParser::parseFinalStates(input); - SinglePopDPDA automaton(std::move(initialState), std::move(initialStackSymbol)); + SinglePopDPDA automaton(std::move(initialState), std::move(initialPushdownStoreSymbol)); automaton.setStates(std::move(states)); automaton.setInputAlphabet(std::move(inputSymbols)); - automaton.setStackAlphabet(std::move(stackSymbols)); + automaton.setPushdownStoreAlphabet(std::move(stackSymbols)); automaton.setFinalStates(std::move(finalStates)); AutomatonFromXMLParser::parseTransitions<SinglePopDPDA>(input, automaton); @@ -240,9 +240,9 @@ void SinglePopDPDA::compose(std::deque<sax::Token>& out) const { AutomatonToXMLComposer::composeStates(out, this->getStates()); AutomatonToXMLComposer::composeInputAlphabet(out, this->getInputAlphabet()); - AutomatonToXMLComposer::composeStackAlphabet(out, this->getStackAlphabet()); + AutomatonToXMLComposer::composePushdownStoreAlphabet(out, this->getPushdownStoreAlphabet()); AutomatonToXMLComposer::composeInitialState(out, this->getInitialState()); - AutomatonToXMLComposer::composeInitialStackSymbol(out, this->getInitialSymbol()); + AutomatonToXMLComposer::composeInitialPushdownStoreSymbol(out, this->getInitialSymbol()); AutomatonToXMLComposer::composeFinalStates(out, this->getFinalStates()); composeTransitions(out); diff --git a/alib2data/src/automaton/PDA/SinglePopDPDA.h b/alib2data/src/automaton/PDA/SinglePopDPDA.h index 7fc933bbd1633440ace977fd25b11dceb436dceb..5d31f7ceb3911f3afab9511ae21d3aa39b9efb5b 100644 --- a/alib2data/src/automaton/PDA/SinglePopDPDA.h +++ b/alib2data/src/automaton/PDA/SinglePopDPDA.h @@ -50,9 +50,9 @@ public: virtual bool removeInputSymbol ( const alphabet::Symbol & symbol ); /** - * @copydoc Automaton::removeStackSymbol(const Symbol&) + * @copydoc Automaton::removePushdownStoreSymbol(const Symbol&) */ - virtual bool removeStackSymbol ( const alphabet::Symbol & symbol ); + virtual bool removePushdownStoreSymbol ( const alphabet::Symbol & symbol ); /** * Adds transition to the SinglePopDPDA. diff --git a/alib2data/src/automaton/PDA/SinglePopNPDA.cpp b/alib2data/src/automaton/PDA/SinglePopNPDA.cpp index 4e9e167eb455a4d986dca102191b70f1b1f85bc1..ffe86ce47d155827b1be74a4c0797c66f8e6a14b 100644 --- a/alib2data/src/automaton/PDA/SinglePopNPDA.cpp +++ b/alib2data/src/automaton/PDA/SinglePopNPDA.cpp @@ -61,22 +61,22 @@ bool SinglePopNPDA::removeInputSymbol(const alphabet::Symbol& symbol) { return inputAlphabet.erase(symbol); } -bool SinglePopNPDA::removeStackSymbol(const alphabet::Symbol& symbol) { +bool SinglePopNPDA::removePushdownStoreSymbol(const alphabet::Symbol& symbol) { if(initialSymbol == symbol) { - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is start symbol."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is start symbol."); } for (const std::pair<const std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, alphabet::Symbol>, std::set<std::pair<State, std::vector<alphabet::Symbol> > > >& transition : transitions) { if (symbol == std::get<2>(transition.first)) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); for (const std::pair<State, std::vector<alphabet::Symbol> >& target : transition.second) { if (std::find(target.second.begin(), target.second.end(), symbol) != target.second.end()) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } } - return stackAlphabet.erase(symbol); + return pushdownStoreAlphabet.erase(symbol); } bool SinglePopNPDA::addTransition(State from, std::variant<string::Epsilon, alphabet::Symbol> input, alphabet::Symbol pop, State to, std::vector<alphabet::Symbol> push) { @@ -92,13 +92,13 @@ bool SinglePopNPDA::addTransition(State from, std::variant<string::Epsilon, alph throw AutomatonException("State \"" + (std::string) to.getName() + "\" doesn't exist."); } - if (stackAlphabet.find(pop) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) pop + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(pop) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) pop + "\" doesn't exist."); } for(const alphabet::Symbol& pushSymbol : push) { - if (stackAlphabet.find(pushSymbol) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(pushSymbol) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); } } @@ -140,8 +140,8 @@ const std::map<std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol> } int SinglePopNPDA::compare(const SinglePopNPDA& other) const { - auto first = std::tie(states, inputAlphabet, initialState, finalStates, stackAlphabet, initialSymbol, transitions); - auto second = std::tie(other.states, other.inputAlphabet, other.initialState, other.finalStates, other.stackAlphabet, other.initialSymbol, other.transitions); + auto first = std::tie(states, inputAlphabet, initialState, finalStates, pushdownStoreAlphabet, initialSymbol, transitions); + auto second = std::tie(other.states, other.inputAlphabet, other.initialState, other.finalStates, other.pushdownStoreAlphabet, other.initialSymbol, other.transitions); std::compare<decltype(first)> comp; return comp(first, second); @@ -153,7 +153,7 @@ void SinglePopNPDA::operator>>(std::ostream& out) const { << "inputAlphabet = " << inputAlphabet << "initialState = " << initialState << "finalStates = " << finalStates - << "stackAlphabet = " << stackAlphabet + << "pushdownStoreAlphabet = " << pushdownStoreAlphabet << "initialSymbol = " << initialSymbol << "transitions = " << transitions << ")"; @@ -172,15 +172,15 @@ SinglePopNPDA SinglePopNPDA::parse(std::deque<sax::Token>::iterator& input) { std::set<State> states = AutomatonFromXMLParser::parseStates(input); std::set<alphabet::Symbol> inputSymbols = AutomatonFromXMLParser::parseInputAlphabet(input); - std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parseStackAlphabet(input); + std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parsePushdownStoreAlphabet(input); State initialState = AutomatonFromXMLParser::parseInitialState(input); - alphabet::Symbol initialStackSymbol = AutomatonFromXMLParser::parseInitialStackSymbol(input); + alphabet::Symbol initialPushdownStoreSymbol = AutomatonFromXMLParser::parseInitialPushdownStoreSymbol(input); std::set<State> finalStates = AutomatonFromXMLParser::parseFinalStates(input); - SinglePopNPDA automaton(std::move(initialState), std::move(initialStackSymbol)); + SinglePopNPDA automaton(std::move(initialState), std::move(initialPushdownStoreSymbol)); automaton.setStates(std::move(states)); automaton.setInputAlphabet(std::move(inputSymbols)); - automaton.setStackAlphabet(std::move(stackSymbols)); + automaton.setPushdownStoreAlphabet(std::move(stackSymbols)); automaton.setFinalStates(std::move(finalStates)); AutomatonFromXMLParser::parseTransitions<SinglePopNPDA>(input, automaton); @@ -206,9 +206,9 @@ void SinglePopNPDA::compose(std::deque<sax::Token>& out) const { AutomatonToXMLComposer::composeStates(out, this->getStates()); AutomatonToXMLComposer::composeInputAlphabet(out, this->getInputAlphabet()); - AutomatonToXMLComposer::composeStackAlphabet(out, this->getStackAlphabet()); + AutomatonToXMLComposer::composePushdownStoreAlphabet(out, this->getPushdownStoreAlphabet()); AutomatonToXMLComposer::composeInitialState(out, this->getInitialState()); - AutomatonToXMLComposer::composeInitialStackSymbol(out, this->getInitialSymbol()); + AutomatonToXMLComposer::composeInitialPushdownStoreSymbol(out, this->getInitialSymbol()); AutomatonToXMLComposer::composeFinalStates(out, this->getFinalStates()); composeTransitions(out); diff --git a/alib2data/src/automaton/PDA/SinglePopNPDA.h b/alib2data/src/automaton/PDA/SinglePopNPDA.h index 5befcb64c7fba1d94a02a4e76796b75fd9237f35..0490d8bc5fa91bb232271de4c88b0a1f5e7de86f 100644 --- a/alib2data/src/automaton/PDA/SinglePopNPDA.h +++ b/alib2data/src/automaton/PDA/SinglePopNPDA.h @@ -46,9 +46,9 @@ public: virtual bool removeInputSymbol ( const alphabet::Symbol & symbol ); /** - * @copydoc Automaton::removeStackSymbol(const Symbol&) + * @copydoc Automaton::removePushdownStoreSymbol(const Symbol&) */ - virtual bool removeStackSymbol ( const alphabet::Symbol & symbol ); + virtual bool removePushdownStoreSymbol ( const alphabet::Symbol & symbol ); /** * Adds transition to the SinglePopNPDA. diff --git a/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.cpp b/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.cpp index 4061095b9224232b153ae36e8bd1b3d301f56080..8a0ed10e591b0c84b8b5f65850a9d2ef9b999805 100644 --- a/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.cpp +++ b/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.cpp @@ -83,22 +83,22 @@ bool VisiblyPushdownDPDA::removeInputSymbol(const alphabet::Symbol& symbol) { return callInputAlphabet.erase(symbol) || returnInputAlphabet.erase(symbol) || localInputAlphabet.erase(symbol); } -bool VisiblyPushdownDPDA::removeStackSymbol(const alphabet::Symbol& symbol) { +bool VisiblyPushdownDPDA::removePushdownStoreSymbol(const alphabet::Symbol& symbol) { for (const std::pair<const std::pair<State, alphabet::Symbol>, std::pair<State, alphabet::Symbol> >& callTransition : callTransitions) { if (symbol == callTransition.second.second) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } for (const std::pair<const std::tuple<State, alphabet::Symbol, alphabet::Symbol>, State>& returnTransition : returnTransitions) { if (symbol == std::get<2>(returnTransition.first)) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } if(bottomOfTheStackSymbol == symbol) { - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is start symbol."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is start symbol."); } - return stackAlphabet.erase(symbol); + return pushdownStoreAlphabet.erase(symbol); } bool VisiblyPushdownDPDA::addCallTransition(State from, alphabet::Symbol input, State to, alphabet::Symbol push) { @@ -114,8 +114,8 @@ bool VisiblyPushdownDPDA::addCallTransition(State from, alphabet::Symbol input, throw AutomatonException("State \"" + (std::string) to.getName() + "\" doesn't exist."); } - if (stackAlphabet.find(push) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) push + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(push) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) push + "\" doesn't exist."); } std::pair<State, alphabet::Symbol> key(std::move(from), std::move(input)); @@ -153,8 +153,8 @@ bool VisiblyPushdownDPDA::addReturnTransition(State from, alphabet::Symbol input throw AutomatonException("State \"" + (std::string) to.getName() + "\" doesn't exist."); } - if (stackAlphabet.find(pop) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) pop + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(pop) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) pop + "\" doesn't exist."); } std::tuple<State, alphabet::Symbol, alphabet::Symbol> key(std::move(from), std::move(input), std::move(pop)); @@ -271,8 +271,8 @@ const std::map<std::pair<State, alphabet::Symbol>, State>& VisiblyPushdownDPDA:: } int VisiblyPushdownDPDA::compare(const VisiblyPushdownDPDA& other) const { - auto first = std::tie(states, callInputAlphabet, returnInputAlphabet, localInputAlphabet, initialState, finalStates, stackAlphabet, bottomOfTheStackSymbol, callTransitions, returnTransitions, localTransitions); - auto second = std::tie(other.states, other.callInputAlphabet, other.returnInputAlphabet, other.localInputAlphabet, other.initialState, other.finalStates, other.stackAlphabet, other.bottomOfTheStackSymbol, other.callTransitions, other.returnTransitions, other.localTransitions); + auto first = std::tie(states, callInputAlphabet, returnInputAlphabet, localInputAlphabet, initialState, finalStates, pushdownStoreAlphabet, bottomOfTheStackSymbol, callTransitions, returnTransitions, localTransitions); + auto second = std::tie(other.states, other.callInputAlphabet, other.returnInputAlphabet, other.localInputAlphabet, other.initialState, other.finalStates, other.pushdownStoreAlphabet, other.bottomOfTheStackSymbol, other.callTransitions, other.returnTransitions, other.localTransitions); std::compare<decltype(first)> comp; return comp(first, second); @@ -286,7 +286,7 @@ void VisiblyPushdownDPDA::operator>>(std::ostream& out) const { << "localInputAlphabet = " << localInputAlphabet << "initialState = " << initialState << "finalStates = " << finalStates - << "stackAlphabet = " << stackAlphabet + << "pushdownStoreAlphabet = " << pushdownStoreAlphabet << "bottomOfTheStackSymbol = " << bottomOfTheStackSymbol << "callTransitions = " << callTransitions << "returnTransitions = " << returnTransitions @@ -309,7 +309,7 @@ VisiblyPushdownDPDA VisiblyPushdownDPDA::parse(std::deque<sax::Token>::iterator& std::set<alphabet::Symbol> callInputAlphabet = AutomatonFromXMLParser::parseCallInputAlphabet(input); std::set<alphabet::Symbol> returnInputAlphabet = AutomatonFromXMLParser::parseReturnInputAlphabet(input); std::set<alphabet::Symbol> localInputAlphabet = AutomatonFromXMLParser::parseLocalInputAlphabet(input); - std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parseStackAlphabet(input); + std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parsePushdownStoreAlphabet(input); State initialState = AutomatonFromXMLParser::parseInitialState(input); alphabet::Symbol bottomOfTheStackSymbol = AutomatonFromXMLParser::parseBottomOfTheStackSymbol(input); std::set<State> finalStates = AutomatonFromXMLParser::parseFinalStates(input); @@ -319,7 +319,7 @@ VisiblyPushdownDPDA VisiblyPushdownDPDA::parse(std::deque<sax::Token>::iterator& automaton.setCallInputAlphabet(std::move(callInputAlphabet)); automaton.setReturnInputAlphabet(std::move(returnInputAlphabet)); automaton.setLocalInputAlphabet(std::move(localInputAlphabet)); - automaton.setStackAlphabet(std::move(stackSymbols)); + automaton.setPushdownStoreAlphabet(std::move(stackSymbols)); automaton.setFinalStates(std::move(finalStates)); AutomatonFromXMLParser::parseTransitions<VisiblyPushdownDPDA>(input, automaton); @@ -365,7 +365,7 @@ void VisiblyPushdownDPDA::compose(std::deque<sax::Token>& out) const { AutomatonToXMLComposer::composeCallInputAlphabet(out, this->getCallInputAlphabet()); AutomatonToXMLComposer::composeReturnInputAlphabet(out, this->getReturnInputAlphabet()); AutomatonToXMLComposer::composeLocalInputAlphabet(out, this->getLocalInputAlphabet()); - AutomatonToXMLComposer::composeStackAlphabet(out, this->getStackAlphabet()); + AutomatonToXMLComposer::composePushdownStoreAlphabet(out, this->getPushdownStoreAlphabet()); AutomatonToXMLComposer::composeInitialState(out, this->getInitialState()); AutomatonToXMLComposer::composeBottomOfTheStackSymbol(out, this->getBottomOfTheStackSymbol()); AutomatonToXMLComposer::composeFinalStates(out, this->getFinalStates()); diff --git a/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.h b/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.h index eed64ad0cb6e2e6cae49b88f59d6c05c838e2935..1d89a890176795f62b0be22805c266087e50f465 100644 --- a/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.h +++ b/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.h @@ -46,9 +46,9 @@ public: virtual bool removeInputSymbol ( const alphabet::Symbol & symbol ); /* - * @copydoc Automaton::removeStackSymbol(const Symbol&) + * @copydoc Automaton::removePushdownStoreSymbol(const Symbol&) */ - virtual bool removeStackSymbol ( const alphabet::Symbol & symbol ); + virtual bool removePushdownStoreSymbol ( const alphabet::Symbol & symbol ); /** * Adds call transition defined by parameters to the automaton. diff --git a/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.cpp b/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.cpp index dd7bcb9be5819acc9328cced2d6f5c99d7e0b5e5..d38a6116eb3f91beb89d20a3034c6fec89cb2f20 100644 --- a/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.cpp +++ b/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.cpp @@ -89,24 +89,24 @@ bool VisiblyPushdownNPDA::removeInputSymbol(const alphabet::Symbol& symbol) { return callInputAlphabet.erase(symbol) || returnInputAlphabet.erase(symbol) || localInputAlphabet.erase(symbol); } -bool VisiblyPushdownNPDA::removeStackSymbol(const alphabet::Symbol& symbol) { +bool VisiblyPushdownNPDA::removePushdownStoreSymbol(const alphabet::Symbol& symbol) { for (const std::pair<const std::pair<State, alphabet::Symbol>, std::set<std::pair<State, alphabet::Symbol> > >& callTransition : callTransitions) { for(const std::pair<State, alphabet::Symbol>& to : callTransition.second) { if (symbol == to.second) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } } for (const std::pair<const std::tuple<State, alphabet::Symbol, alphabet::Symbol>, std::set<State> >& returnTransition : returnTransitions) { if (symbol == std::get<2>(returnTransition.first)) - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is used in transition."); } if(bottomOfTheStackSymbol == symbol) { - throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is start symbol."); + throw AutomatonException("Pushdown store symbol \"" + (std::string) symbol + "\" is start symbol."); } - return stackAlphabet.erase(symbol); + return pushdownStoreAlphabet.erase(symbol); } bool VisiblyPushdownNPDA::addCallTransition(State from, alphabet::Symbol input, State to, alphabet::Symbol push) { @@ -122,8 +122,8 @@ bool VisiblyPushdownNPDA::addCallTransition(State from, alphabet::Symbol input, throw AutomatonException("State \"" + (std::string) to.getName() + "\" doesn't exist."); } - if (stackAlphabet.find(push) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) push + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(push) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) push + "\" doesn't exist."); } std::pair<State, alphabet::Symbol> key(std::move(from), std::move(input)); @@ -145,8 +145,8 @@ bool VisiblyPushdownNPDA::addReturnTransition(State from, alphabet::Symbol input throw AutomatonException("State \"" + (std::string) to.getName() + "\" doesn't exist."); } - if (stackAlphabet.find(pop) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) pop + "\" doesn't exist."); + if (pushdownStoreAlphabet.find(pop) == pushdownStoreAlphabet.end()) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) pop + "\" doesn't exist."); } std::tuple<State, alphabet::Symbol, alphabet::Symbol> key(std::move(from), std::move(input), std::move(pop)); @@ -204,8 +204,8 @@ const std::map<std::pair<State, alphabet::Symbol>, std::set<State> >& VisiblyPus } int VisiblyPushdownNPDA::compare(const VisiblyPushdownNPDA& other) const { - auto first = std::tie(states, callInputAlphabet, returnInputAlphabet, localInputAlphabet, initialStates, finalStates, stackAlphabet, bottomOfTheStackSymbol, callTransitions, returnTransitions, localTransitions); - auto second = std::tie(other.states, other.callInputAlphabet, other.returnInputAlphabet, other.localInputAlphabet, other.initialStates, other.finalStates, other.stackAlphabet, other.bottomOfTheStackSymbol, other.callTransitions, other.returnTransitions, other.localTransitions); + auto first = std::tie(states, callInputAlphabet, returnInputAlphabet, localInputAlphabet, initialStates, finalStates, pushdownStoreAlphabet, bottomOfTheStackSymbol, callTransitions, returnTransitions, localTransitions); + auto second = std::tie(other.states, other.callInputAlphabet, other.returnInputAlphabet, other.localInputAlphabet, other.initialStates, other.finalStates, other.pushdownStoreAlphabet, other.bottomOfTheStackSymbol, other.callTransitions, other.returnTransitions, other.localTransitions); std::compare<decltype(first)> comp; return comp(first, second); @@ -219,7 +219,7 @@ void VisiblyPushdownNPDA::operator>>(std::ostream& out) const { << "localInputAlphabet = " << localInputAlphabet << "initialStates = " << initialStates << "finalStates = " << finalStates - << "stackAlphabet = " << stackAlphabet + << "pushdownStoreAlphabet = " << pushdownStoreAlphabet << "bottomOfTheStackSymbol = " << bottomOfTheStackSymbol << "callTransitions = " << callTransitions << "returnTransitions = " << returnTransitions @@ -242,7 +242,7 @@ VisiblyPushdownNPDA VisiblyPushdownNPDA::parse(std::deque<sax::Token>::iterator& std::set<alphabet::Symbol> callInputAlphabet = AutomatonFromXMLParser::parseCallInputAlphabet(input); std::set<alphabet::Symbol> returnInputAlphabet = AutomatonFromXMLParser::parseReturnInputAlphabet(input); std::set<alphabet::Symbol> localInputAlphabet = AutomatonFromXMLParser::parseLocalInputAlphabet(input); - std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parseStackAlphabet(input); + std::set<alphabet::Symbol> stackSymbols = AutomatonFromXMLParser::parsePushdownStoreAlphabet(input); std::set<State> initialStates = AutomatonFromXMLParser::parseInitialStates(input); alphabet::Symbol bottomOfTheStackSymbol = AutomatonFromXMLParser::parseBottomOfTheStackSymbol(input); std::set<State> finalStates = AutomatonFromXMLParser::parseFinalStates(input); @@ -252,7 +252,7 @@ VisiblyPushdownNPDA VisiblyPushdownNPDA::parse(std::deque<sax::Token>::iterator& automaton.setCallInputAlphabet(std::move(callInputAlphabet)); automaton.setReturnInputAlphabet(std::move(returnInputAlphabet)); automaton.setLocalInputAlphabet(std::move(localInputAlphabet)); - automaton.setStackAlphabet(std::move(stackSymbols)); + automaton.setPushdownStoreAlphabet(std::move(stackSymbols)); automaton.setInitialStates(std::move(initialStates)); automaton.setFinalStates(std::move(finalStates)); @@ -299,7 +299,7 @@ void VisiblyPushdownNPDA::compose(std::deque<sax::Token>& out) const { AutomatonToXMLComposer::composeCallInputAlphabet(out, this->getCallInputAlphabet()); AutomatonToXMLComposer::composeReturnInputAlphabet(out, this->getReturnInputAlphabet()); AutomatonToXMLComposer::composeLocalInputAlphabet(out, this->getLocalInputAlphabet()); - AutomatonToXMLComposer::composeStackAlphabet(out, this->getStackAlphabet()); + AutomatonToXMLComposer::composePushdownStoreAlphabet(out, this->getPushdownStoreAlphabet()); AutomatonToXMLComposer::composeInitialStates(out, this->getInitialStates()); AutomatonToXMLComposer::composeBottomOfTheStackSymbol(out, this->getBottomOfTheStackSymbol()); AutomatonToXMLComposer::composeFinalStates(out, this->getFinalStates()); diff --git a/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.h b/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.h index b1575124dcd848b84ec2aa05d38a0aa0175dbdcf..a105128de1c4d3683a40ea1163eb7d94f037ea23 100644 --- a/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.h +++ b/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.h @@ -46,9 +46,9 @@ public: virtual bool removeInputSymbol ( const alphabet::Symbol & symbol ); /* - * @copydoc Automaton::removeStackSymbol(const Symbol&) + * @copydoc Automaton::removePushdownStoreSymbol(const Symbol&) */ - virtual bool removeStackSymbol ( const alphabet::Symbol & symbol ); + virtual bool removePushdownStoreSymbol ( const alphabet::Symbol & symbol ); /** * Adds call transition defined by parameters to the automaton. diff --git a/alib2data/src/automaton/common/AutomatonFromXMLParser.cpp b/alib2data/src/automaton/common/AutomatonFromXMLParser.cpp index 6456937337df76e63a388eac54caf4a16b5419cc..89658fae52d598e25d2b729795686857d947e22a 100644 --- a/alib2data/src/automaton/common/AutomatonFromXMLParser.cpp +++ b/alib2data/src/automaton/common/AutomatonFromXMLParser.cpp @@ -111,25 +111,25 @@ std::set < State > AutomatonFromXMLParser::parseFinalStates ( std::deque < sax:: return finalStates; } -std::set < alphabet::Symbol > AutomatonFromXMLParser::parseStackAlphabet ( std::deque < sax::Token >::iterator & input ) { +std::set < alphabet::Symbol > AutomatonFromXMLParser::parsePushdownStoreAlphabet ( std::deque < sax::Token >::iterator & input ) { std::set < alphabet::Symbol > stackSymbols; - sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::START_ELEMENT, "stackAlphabet" ); + sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::START_ELEMENT, "pushdownStoreAlphabet" ); while ( sax::FromXMLParserHelper::isTokenType ( input, sax::Token::TokenType::START_ELEMENT ) ) stackSymbols.insert ( alib::xmlApi < alphabet::Symbol >::parse ( input ) ); - sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::END_ELEMENT, "stackAlphabet" ); + sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::END_ELEMENT, "pushdownStoreAlphabet" ); return stackSymbols; } -std::set < alphabet::Symbol > AutomatonFromXMLParser::parseInitialStackSymbols ( std::deque < sax::Token >::iterator & input ) { +std::set < alphabet::Symbol > AutomatonFromXMLParser::parseInitialPushdownStoreSymbols ( std::deque < sax::Token >::iterator & input ) { std::set < alphabet::Symbol > initialSymbols; - sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::START_ELEMENT, "initialStackSymbols" ); + sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::START_ELEMENT, "initialPushdownStoreSymbols" ); while ( sax::FromXMLParserHelper::isTokenType ( input, sax::Token::TokenType::START_ELEMENT ) ) initialSymbols.insert ( alib::xmlApi < alphabet::Symbol >::parse ( input ) ); - sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::END_ELEMENT, "initialStackSymbols" ); + sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::END_ELEMENT, "initialPushdownStoreSymbols" ); return initialSymbols; } @@ -144,10 +144,10 @@ std::set < alphabet::Symbol > AutomatonFromXMLParser::parseOutputAlphabet ( std: return outputSymbols; } -alphabet::Symbol AutomatonFromXMLParser::parseInitialStackSymbol ( std::deque < sax::Token >::iterator & input ) { - sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::START_ELEMENT, "initialStackSymbol" ); +alphabet::Symbol AutomatonFromXMLParser::parseInitialPushdownStoreSymbol ( std::deque < sax::Token >::iterator & input ) { + sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::START_ELEMENT, "initialPushdownStoreSymbol" ); alphabet::Symbol initialSymbol ( alib::xmlApi < alphabet::Symbol >::parse ( input ) ); - sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::END_ELEMENT, "initialStackSymbol" ); + sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::END_ELEMENT, "initialPushdownStoreSymbol" ); return initialSymbol; } diff --git a/alib2data/src/automaton/common/AutomatonFromXMLParser.h b/alib2data/src/automaton/common/AutomatonFromXMLParser.h index 5decfbeb5e7aafbcb80fe5ea808eb15d057ccde3..ff85035ee20f45856308e2c7a8e602d82c0e9093 100644 --- a/alib2data/src/automaton/common/AutomatonFromXMLParser.h +++ b/alib2data/src/automaton/common/AutomatonFromXMLParser.h @@ -33,9 +33,9 @@ public: static std::set<alphabet::Symbol> parseReturnInputAlphabet(std::deque<sax::Token>::iterator& input); static std::set<alphabet::Symbol> parseLocalInputAlphabet(std::deque<sax::Token>::iterator& input); static std::set<alphabet::RankedSymbol> parseRankedInputAlphabet(std::deque<sax::Token>::iterator& input); - static std::set<alphabet::Symbol> parseStackAlphabet(std::deque<sax::Token>::iterator& input); - static std::set<alphabet::Symbol> parseInitialStackSymbols(std::deque<sax::Token>::iterator& input); - static alphabet::Symbol parseInitialStackSymbol(std::deque<sax::Token>::iterator& input); + static std::set<alphabet::Symbol> parsePushdownStoreAlphabet(std::deque<sax::Token>::iterator& input); + static std::set<alphabet::Symbol> parseInitialPushdownStoreSymbols(std::deque<sax::Token>::iterator& input); + static alphabet::Symbol parseInitialPushdownStoreSymbol(std::deque<sax::Token>::iterator& input); static std::set<alphabet::Symbol> parseOutputAlphabet(std::deque<sax::Token>::iterator& input); static std::set<alphabet::Symbol> parseTapeAlphabet(std::deque<sax::Token>::iterator& input); static State parseInitialState(std::deque<sax::Token>::iterator& input); diff --git a/alib2data/src/automaton/common/AutomatonToXMLComposer.cpp b/alib2data/src/automaton/common/AutomatonToXMLComposer.cpp index d36ae5b7a4385e464e564d1b8d20c58759ec10c1..f7a49cf7e69b3ca21c4ef08f02fab3084682c90b 100644 --- a/alib2data/src/automaton/common/AutomatonToXMLComposer.cpp +++ b/alib2data/src/automaton/common/AutomatonToXMLComposer.cpp @@ -86,26 +86,26 @@ void AutomatonToXMLComposer::composeFinalStates(std::deque<sax::Token>& out, con out.emplace_back("finalStates", sax::Token::TokenType::END_ELEMENT); } -void AutomatonToXMLComposer::composeStackAlphabet(std::deque<sax::Token>& out, const std::set<alphabet::Symbol>& symbols) { - out.emplace_back("stackAlphabet", sax::Token::TokenType::START_ELEMENT); +void AutomatonToXMLComposer::composePushdownStoreAlphabet(std::deque<sax::Token>& out, const std::set<alphabet::Symbol>& symbols) { + out.emplace_back("pushdownStoreAlphabet", sax::Token::TokenType::START_ELEMENT); for (const auto& symbol : symbols) { alib::xmlApi<alphabet::Symbol>::compose(out, symbol); } - out.emplace_back("stackAlphabet", sax::Token::TokenType::END_ELEMENT); + out.emplace_back("pushdownStoreAlphabet", sax::Token::TokenType::END_ELEMENT); } -void AutomatonToXMLComposer::composeInitialStackSymbols(std::deque<sax::Token>& out, const std::set<alphabet::Symbol>& symbols) { - out.emplace_back("initialStackSymbols", sax::Token::TokenType::START_ELEMENT); +void AutomatonToXMLComposer::composeInitialPushdownStoreSymbols(std::deque<sax::Token>& out, const std::set<alphabet::Symbol>& symbols) { + out.emplace_back("initialPushdownStoreSymbols", sax::Token::TokenType::START_ELEMENT); for (const auto& symbol : symbols) { alib::xmlApi<alphabet::Symbol>::compose(out, symbol); } - out.emplace_back("initialStackSymbols", sax::Token::TokenType::END_ELEMENT); + out.emplace_back("initialPushdownStoreSymbols", sax::Token::TokenType::END_ELEMENT); } -void AutomatonToXMLComposer::composeInitialStackSymbol(std::deque<sax::Token>& out, const alphabet::Symbol& symbol) { - out.emplace_back("initialStackSymbol", sax::Token::TokenType::START_ELEMENT); +void AutomatonToXMLComposer::composeInitialPushdownStoreSymbol(std::deque<sax::Token>& out, const alphabet::Symbol& symbol) { + out.emplace_back("initialPushdownStoreSymbol", sax::Token::TokenType::START_ELEMENT); alib::xmlApi<alphabet::Symbol>::compose(out, symbol); - out.emplace_back("initialStackSymbol", sax::Token::TokenType::END_ELEMENT); + out.emplace_back("initialPushdownStoreSymbol", sax::Token::TokenType::END_ELEMENT); } void AutomatonToXMLComposer::composeOutputAlphabet(std::deque<sax::Token>& out, const std::set<alphabet::Symbol>& symbols) { diff --git a/alib2data/src/automaton/common/AutomatonToXMLComposer.h b/alib2data/src/automaton/common/AutomatonToXMLComposer.h index cc8fd67f37c31ee95a942f85523c5b6348733b69..a1b380b5c2b532209b53db7c82232c0f96f76aa8 100644 --- a/alib2data/src/automaton/common/AutomatonToXMLComposer.h +++ b/alib2data/src/automaton/common/AutomatonToXMLComposer.h @@ -36,9 +36,9 @@ public: static void composeInitialStates(std::deque<sax::Token>&, const std::set<State>& states); static void composeInitialState(std::deque<sax::Token>&, const State& state); static void composeFinalStates(std::deque<sax::Token>&, const std::set<State>& states); - static void composeStackAlphabet(std::deque<sax::Token>&, const std::set<alphabet::Symbol>& symbols); - static void composeInitialStackSymbols(std::deque<sax::Token>&, const std::set<alphabet::Symbol>& symbols); - static void composeInitialStackSymbol(std::deque<sax::Token>&, const alphabet::Symbol& symbols); + static void composePushdownStoreAlphabet(std::deque<sax::Token>&, const std::set<alphabet::Symbol>& symbols); + static void composeInitialPushdownStoreSymbols(std::deque<sax::Token>&, const std::set<alphabet::Symbol>& symbols); + static void composeInitialPushdownStoreSymbol(std::deque<sax::Token>&, const alphabet::Symbol& symbols); static void composeOutputAlphabet(std::deque<sax::Token>&, const std::set<alphabet::Symbol>& symbols); static void composeTapeAlphabet(std::deque<sax::Token>&, const std::set<alphabet::Symbol>& symbols); static void composeBlankSymbol(std::deque<sax::Token>&, const alphabet::Symbol& symbol); diff --git a/alib2data/src/automaton/common/BottomOfTheStackSymbolPushdownStoreAlphabet.cpp b/alib2data/src/automaton/common/BottomOfTheStackSymbolPushdownStoreAlphabet.cpp index 35d9a8d950a71dbc216c76276bff632095b5587f..1e5054360e1dc39f179cb45aa1d9c4165202fffc 100644 --- a/alib2data/src/automaton/common/BottomOfTheStackSymbolPushdownStoreAlphabet.cpp +++ b/alib2data/src/automaton/common/BottomOfTheStackSymbolPushdownStoreAlphabet.cpp @@ -12,12 +12,12 @@ namespace automaton { BottomOfTheStackSymbolPushdownStoreAlphabet::BottomOfTheStackSymbolPushdownStoreAlphabet(alphabet::Symbol bottomOfTheStackSymbol) : bottomOfTheStackSymbol(bottomOfTheStackSymbol) { - addStackSymbol(std::move(bottomOfTheStackSymbol)); + addPushdownStoreSymbol(std::move(bottomOfTheStackSymbol)); } void BottomOfTheStackSymbolPushdownStoreAlphabet::setBottomOfTheStackSymbol(alphabet::Symbol start) { - if (!stackAlphabet.count(start)) { - throw AutomatonException("Stack symbol \"" + (std::string) start + "\" doesn't exist."); + if (!pushdownStoreAlphabet.count(start)) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) start + "\" doesn't exist."); } bottomOfTheStackSymbol = std::move(start); diff --git a/alib2data/src/automaton/common/MultiInitialSymbolsPushdownStoreAlphabet.cpp b/alib2data/src/automaton/common/MultiInitialSymbolsPushdownStoreAlphabet.cpp index f153c5d2720175695a5e55e52ba625402897fc27..df6fc0928679d0592779cdb4326a10b2596f7622 100644 --- a/alib2data/src/automaton/common/MultiInitialSymbolsPushdownStoreAlphabet.cpp +++ b/alib2data/src/automaton/common/MultiInitialSymbolsPushdownStoreAlphabet.cpp @@ -12,7 +12,7 @@ namespace automaton { bool MultiInitialSymbolsPushdownStoreAlphabet::addInitialSymbol(alphabet::Symbol start) { - if (!stackAlphabet.count(start)) { + if (!pushdownStoreAlphabet.count(start)) { throw AutomatonException("Initial symbol \"" + (std::string) start + "\" not in a pushdown store alphabet."); } @@ -24,7 +24,7 @@ bool MultiInitialSymbolsPushdownStoreAlphabet::removeInitialSymbol(const alphabe } void MultiInitialSymbolsPushdownStoreAlphabet::setInitialSymbols(std::set<alphabet::Symbol> symbols) { - if(!std::includes(stackAlphabet.begin(), stackAlphabet.end(), symbols.begin(), symbols.end())) { + if(!std::includes(pushdownStoreAlphabet.begin(), pushdownStoreAlphabet.end(), symbols.begin(), symbols.end())) { throw AutomatonException("Initial symbol ? not in a pushdown store alphabet."); } diff --git a/alib2data/src/automaton/common/PushdownStoreAlphabet.cpp b/alib2data/src/automaton/common/PushdownStoreAlphabet.cpp index cbf73b370445a45d3fe0686e5c4e53cd5788f005..7d4893d7a90b480fed866a079f94d6fe320944b0 100644 --- a/alib2data/src/automaton/common/PushdownStoreAlphabet.cpp +++ b/alib2data/src/automaton/common/PushdownStoreAlphabet.cpp @@ -11,23 +11,23 @@ namespace automaton { -bool PushdownStoreAlphabet::addStackSymbol(alphabet::Symbol symbol) { - return stackAlphabet.insert(symbol).second; +bool PushdownStoreAlphabet::addPushdownStoreSymbol(alphabet::Symbol symbol) { + return pushdownStoreAlphabet.insert(symbol).second; } -void PushdownStoreAlphabet::setStackAlphabet(std::set<alphabet::Symbol> newSymbols) { +void PushdownStoreAlphabet::setPushdownStoreAlphabet(std::set<alphabet::Symbol> newSymbols) { std::set<alphabet::Symbol> removed; - std::set_difference(stackAlphabet.begin(), stackAlphabet.end(), newSymbols.begin(), newSymbols.end(), std::inserter(removed, removed.end())); + std::set_difference(pushdownStoreAlphabet.begin(), pushdownStoreAlphabet.end(), newSymbols.begin(), newSymbols.end(), std::inserter(removed, removed.end())); for(const alphabet::Symbol& removedSymbol : removed) { - removeStackSymbol(removedSymbol); + removePushdownStoreSymbol(removedSymbol); } - stackAlphabet = std::move(newSymbols); + pushdownStoreAlphabet = std::move(newSymbols); } -const std::set<alphabet::Symbol>& PushdownStoreAlphabet::getStackAlphabet() const { - return stackAlphabet; +const std::set<alphabet::Symbol>& PushdownStoreAlphabet::getPushdownStoreAlphabet() const { + return pushdownStoreAlphabet; } } /* namespace automaton */ diff --git a/alib2data/src/automaton/common/PushdownStoreAlphabet.h b/alib2data/src/automaton/common/PushdownStoreAlphabet.h index 98536964be351be7e49cccbef453712dfba97f32..d7a50e360679d5f74ad3399741f33098d0d58634 100644 --- a/alib2data/src/automaton/common/PushdownStoreAlphabet.h +++ b/alib2data/src/automaton/common/PushdownStoreAlphabet.h @@ -18,21 +18,21 @@ namespace automaton { */ class PushdownStoreAlphabet { protected: - std::set<alphabet::Symbol> stackAlphabet; + std::set<alphabet::Symbol> pushdownStoreAlphabet; public: /** * Adds symbol to the stack alphabet. * @param symbol Symbol to add * @throws AutomatonException when symbol is already present in stack alphabet */ - bool addStackSymbol(alphabet::Symbol symbol); + bool addPushdownStoreSymbol(alphabet::Symbol symbol); /** * Sets stack symbols of the automaton. * @param symbols Symbols to set * @throws AutomatonException when symbol is already present in stack alphabet */ - void setStackAlphabet(std::set<alphabet::Symbol> symbols); + void setPushdownStoreAlphabet(std::set<alphabet::Symbol> symbols); /** * Removes symbol from the stack alphabet. @@ -41,12 +41,12 @@ public: * (popped from or pushed to the stack), when it is a start symbol * or when it is not present in the stack alphabet */ - virtual bool removeStackSymbol(const alphabet::Symbol& symbol) = 0; + virtual bool removePushdownStoreSymbol(const alphabet::Symbol& symbol) = 0; /** * @return the stack alphabet */ - const std::set<alphabet::Symbol>& getStackAlphabet() const; + const std::set<alphabet::Symbol>& getPushdownStoreAlphabet() const; }; diff --git a/alib2data/src/automaton/common/SingleInitialSymbolPushdownStoreAlphabet.cpp b/alib2data/src/automaton/common/SingleInitialSymbolPushdownStoreAlphabet.cpp index 0b4a0275458eb9cf3e36612f2e92f29fd2ddd975..fef2ce2c17fa92e30480854b1237967155f1d950 100644 --- a/alib2data/src/automaton/common/SingleInitialSymbolPushdownStoreAlphabet.cpp +++ b/alib2data/src/automaton/common/SingleInitialSymbolPushdownStoreAlphabet.cpp @@ -12,12 +12,12 @@ namespace automaton { SingleInitialSymbolPushdownStoreAlphabet::SingleInitialSymbolPushdownStoreAlphabet(alphabet::Symbol initialSymbol) : initialSymbol(initialSymbol) { - addStackSymbol(std::move(initialSymbol)); + addPushdownStoreSymbol(std::move(initialSymbol)); } void SingleInitialSymbolPushdownStoreAlphabet::setInitialSymbol(alphabet::Symbol start) { - if (!stackAlphabet.count(start)) { - throw AutomatonException("Stack symbol \"" + (std::string) start + "\" doesn't exist."); + if (!pushdownStoreAlphabet.count(start)) { + throw AutomatonException("Pushdown store symbol \"" + (std::string) start + "\" doesn't exist."); } initialSymbol = std::move(start); diff --git a/alib2data/test-src/automaton/AutomatonTest.cpp b/alib2data/test-src/automaton/AutomatonTest.cpp index 2278c9ae97a3c1f2a3c2efaf245e539ebaae0e6a..2052587b3e481d0ba7ea0c6563337fa70ecc991a 100644 --- a/alib2data/test-src/automaton/AutomatonTest.cpp +++ b/alib2data/test-src/automaton/AutomatonTest.cpp @@ -71,9 +71,9 @@ void AutomatonTest::SinglePopDPDATransitions() { automaton.addInputSymbol(alphabet::symbolFrom("a")); automaton.addInputSymbol(alphabet::symbolFrom("b")); - automaton.addStackSymbol(alphabet::symbolFrom("S")); - automaton.addStackSymbol(alphabet::symbolFrom("X")); - automaton.addStackSymbol(alphabet::symbolFrom("Y")); + automaton.addPushdownStoreSymbol(alphabet::symbolFrom("S")); + automaton.addPushdownStoreSymbol(alphabet::symbolFrom("X")); + automaton.addPushdownStoreSymbol(alphabet::symbolFrom("Y")); automaton.addTransition(automaton::State(3), /* eps, */ alphabet::symbolFrom("X"), automaton::State(1), { alphabet::symbolFrom("X") } ); @@ -111,9 +111,9 @@ void AutomatonTest::DPDATransitions() { automaton.addInputSymbol(alphabet::symbolFrom("a")); automaton.addInputSymbol(alphabet::symbolFrom("b")); - automaton.addStackSymbol(alphabet::symbolFrom("S")); - automaton.addStackSymbol(alphabet::symbolFrom("X")); - automaton.addStackSymbol(alphabet::symbolFrom("Y")); + automaton.addPushdownStoreSymbol(alphabet::symbolFrom("S")); + automaton.addPushdownStoreSymbol(alphabet::symbolFrom("X")); + automaton.addPushdownStoreSymbol(alphabet::symbolFrom("Y")); automaton.addTransition(automaton::State(3), /* eps, */ { alphabet::symbolFrom("X") }, automaton::State(1), { alphabet::symbolFrom("X") } ); @@ -185,7 +185,7 @@ void AutomatonTest::testNPDATransitions() { automaton.setStates({automaton::State(0), automaton::State(1), automaton::State(2), automaton::State(3), automaton::State(4)}); automaton.setInputAlphabet({alphabet::symbolFrom("a2"), alphabet::symbolFrom("a1"), alphabet::symbolFrom("a0")}); - automaton.setStackAlphabet({alphabet::symbolFrom("T"), alphabet::symbolFrom("R")}); + automaton.setPushdownStoreAlphabet({alphabet::symbolFrom("T"), alphabet::symbolFrom("R")}); automaton.addTransition(automaton::State(0), alphabet::symbolFrom("a2"), {alphabet::symbolFrom("T")}, automaton::State(0), {alphabet::symbolFrom("T"), alphabet::symbolFrom("T")}); automaton.addTransition(automaton::State(0), alphabet::symbolFrom("a1"), {alphabet::symbolFrom("T")}, automaton::State(0), {alphabet::symbolFrom("T")}); @@ -222,7 +222,7 @@ void AutomatonTest::testRHPDATransitions() { automaton.setInitialStates({automaton::State(1)}); automaton.setInputAlphabet({alphabet::symbolFrom("a"), alphabet::symbolFrom("b")}); - automaton.setStackAlphabet({alphabet::BottomOfTheStackSymbol::BOTTOM_OF_THE_STACK_SYMBOL, alphabet::symbolFrom("X"), alphabet::symbolFrom("Y")}); + automaton.setPushdownStoreAlphabet({alphabet::BottomOfTheStackSymbol::BOTTOM_OF_THE_STACK_SYMBOL, alphabet::symbolFrom("X"), alphabet::symbolFrom("Y")}); automaton.addCallTransition(automaton::State(1), alphabet::symbolFrom("a"), automaton::State(2), alphabet::symbolFrom("X")); automaton.addCallTransition(automaton::State(2), automaton::State(3), alphabet::symbolFrom("X")); diff --git a/examples2/automaton/DPDA1.xml b/examples2/automaton/DPDA1.xml index 2b361628e48ccd7b59dcef9912aafda70430b7f8..dc38061b86c32b3f4fa823b9d6b90bcc31f48c86 100644 --- a/examples2/automaton/DPDA1.xml +++ b/examples2/automaton/DPDA1.xml @@ -8,15 +8,15 @@ <LabeledSymbol><PrimitiveLabel><Character>{</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>}</Character></PrimitiveLabel></LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialState> <PrimitiveLabel><String>a</String></PrimitiveLabel> </initialState> - <initialStackSymbol> + <initialPushdownStoreSymbol> <LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol> - </initialStackSymbol> + </initialPushdownStoreSymbol> <finalStates> </finalStates> <transitions> diff --git a/examples2/automaton/NIDPDA0.DET.xml b/examples2/automaton/NIDPDA0.DET.xml index c4017ceea6418782e63496cfe1bef1274d03eebf..3e01d974c0e462a138730498acdb5365836a7a01 100644 --- a/examples2/automaton/NIDPDA0.DET.xml +++ b/examples2/automaton/NIDPDA0.DET.xml @@ -33,13 +33,13 @@ </PrimitiveLabel> </LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol> <PrimitiveLabel> <Character>S</Character> </PrimitiveLabel> </LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialState> <LabelSetLabel> <PrimitiveLabel> @@ -47,13 +47,13 @@ </PrimitiveLabel> </LabelSetLabel> </initialState> - <initialStackSymbol> + <initialPushdownStoreSymbol> <LabeledSymbol> <PrimitiveLabel> <Character>S</Character> </PrimitiveLabel> </LabeledSymbol> - </initialStackSymbol> + </initialPushdownStoreSymbol> <finalStates> <LabelSetLabel> <PrimitiveLabel> diff --git a/examples2/automaton/NIDPDA0.xml b/examples2/automaton/NIDPDA0.xml index 972ab76ab6e0ccc845c13377b7db967e09a6b659..89257a4c777110365d07d32c21e3a97f836d8a0e 100644 --- a/examples2/automaton/NIDPDA0.xml +++ b/examples2/automaton/NIDPDA0.xml @@ -12,19 +12,19 @@ <PrimitiveLabel><String>b</String></PrimitiveLabel> </LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol> <PrimitiveLabel><Character>S</Character></PrimitiveLabel> </LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialState> <PrimitiveLabel><Integer>1</Integer></PrimitiveLabel> </initialState> - <initialStackSymbol> + <initialPushdownStoreSymbol> <LabeledSymbol> <PrimitiveLabel><Character>S</Character></PrimitiveLabel> </LabeledSymbol> - </initialStackSymbol> + </initialPushdownStoreSymbol> <finalStates> <PrimitiveLabel><Integer>3</Integer></PrimitiveLabel> </finalStates> diff --git a/examples2/automaton/NIDPDA1.DET.xml b/examples2/automaton/NIDPDA1.DET.xml index 38762778cc8d1eef29debd91cc94a802753c5a60..53edb17f10be0099e2f95a6ca4b6b13f1b29340d 100644 --- a/examples2/automaton/NIDPDA1.DET.xml +++ b/examples2/automaton/NIDPDA1.DET.xml @@ -53,7 +53,7 @@ </PrimitiveLabel> </LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol> <PrimitiveLabel> <Character>a</Character> @@ -65,7 +65,7 @@ </PrimitiveLabel> </LabeledSymbol> <BottomOfTheStackSymbol/> - </stackAlphabet> + </pushdownStoreAlphabet> <initialState> <LabelSetLabel> <PrimitiveLabel> @@ -73,9 +73,9 @@ </PrimitiveLabel> </LabelSetLabel> </initialState> - <initialStackSymbol> + <initialPushdownStoreSymbol> <BottomOfTheStackSymbol/> - </initialStackSymbol> + </initialPushdownStoreSymbol> <finalStates> <LabelSetLabel> <PrimitiveLabel> diff --git a/examples2/automaton/NIDPDA1.xml b/examples2/automaton/NIDPDA1.xml index f281664d37821011381e29b947373001f1af1eda..19615161393f977f3a5d40c234163a062637955d 100644 --- a/examples2/automaton/NIDPDA1.xml +++ b/examples2/automaton/NIDPDA1.xml @@ -11,17 +11,17 @@ <LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <BottomOfTheStackSymbol /> <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialState> <PrimitiveLabel><String>0</String></PrimitiveLabel> </initialState> - <initialStackSymbol> + <initialPushdownStoreSymbol> <BottomOfTheStackSymbol /> - </initialStackSymbol> + </initialPushdownStoreSymbol> <finalStates> <PrimitiveLabel><String>3</String></PrimitiveLabel> </finalStates> diff --git a/examples2/automaton/NIDPDA2.DET.xml b/examples2/automaton/NIDPDA2.DET.xml index e9752e76cf470a24eabd78658b4457fb90bdc214..db10f5a1365ead25cacc94b6c5f0aff8dd99bff9 100644 --- a/examples2/automaton/NIDPDA2.DET.xml +++ b/examples2/automaton/NIDPDA2.DET.xml @@ -49,14 +49,14 @@ </PrimitiveLabel> </LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol> <PrimitiveLabel> <Character>a</Character> </PrimitiveLabel> </LabeledSymbol> <BottomOfTheStackSymbol/> - </stackAlphabet> + </pushdownStoreAlphabet> <initialState> <LabelSetLabel> <PrimitiveLabel> @@ -64,9 +64,9 @@ </PrimitiveLabel> </LabelSetLabel> </initialState> - <initialStackSymbol> + <initialPushdownStoreSymbol> <BottomOfTheStackSymbol/> - </initialStackSymbol> + </initialPushdownStoreSymbol> <finalStates> <LabelSetLabel> <PrimitiveLabel> diff --git a/examples2/automaton/NIDPDA2.xml b/examples2/automaton/NIDPDA2.xml index c11d137c27db417154f496a953eeaba803cd7890..2d9ac7bfad1febeaac7b36bafcb409ab2637824f 100644 --- a/examples2/automaton/NIDPDA2.xml +++ b/examples2/automaton/NIDPDA2.xml @@ -9,16 +9,16 @@ <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <BottomOfTheStackSymbol /> <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialState> <PrimitiveLabel><String>0</String></PrimitiveLabel> </initialState> - <initialStackSymbol> + <initialPushdownStoreSymbol> <BottomOfTheStackSymbol /> - </initialStackSymbol> + </initialPushdownStoreSymbol> <finalStates> <PrimitiveLabel><String>0</String></PrimitiveLabel> <PrimitiveLabel><String>1</String></PrimitiveLabel> diff --git a/examples2/automaton/NIDPDA3.DET.xml b/examples2/automaton/NIDPDA3.DET.xml index 170d0a0bf39651741a589c340951359821a985ae..1bd3ce163a4273a5231d7990bc556c7d73dc96a3 100644 --- a/examples2/automaton/NIDPDA3.DET.xml +++ b/examples2/automaton/NIDPDA3.DET.xml @@ -78,14 +78,14 @@ </PrimitiveLabel> </LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol> <PrimitiveLabel> <Character>a</Character> </PrimitiveLabel> </LabeledSymbol> <BottomOfTheStackSymbol/> - </stackAlphabet> + </pushdownStoreAlphabet> <initialState> <LabelSetLabel> <PrimitiveLabel> @@ -93,9 +93,9 @@ </PrimitiveLabel> </LabelSetLabel> </initialState> - <initialStackSymbol> + <initialPushdownStoreSymbol> <BottomOfTheStackSymbol/> - </initialStackSymbol> + </initialPushdownStoreSymbol> <finalStates> <LabelSetLabel> <PrimitiveLabel> diff --git a/examples2/automaton/NIDPDA3.xml b/examples2/automaton/NIDPDA3.xml index 4c9877662f09348f9afd0e42374b9084a7b979de..3a894774ac1b025f7b0aeb3d596809f468ce593e 100644 --- a/examples2/automaton/NIDPDA3.xml +++ b/examples2/automaton/NIDPDA3.xml @@ -14,16 +14,16 @@ <LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <BottomOfTheStackSymbol /> <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialState> <PrimitiveLabel><String>0</String></PrimitiveLabel> </initialState> - <initialStackSymbol> + <initialPushdownStoreSymbol> <BottomOfTheStackSymbol /> - </initialStackSymbol> + </initialPushdownStoreSymbol> <finalStates> <PrimitiveLabel><String>4</String></PrimitiveLabel> </finalStates> diff --git a/examples2/automaton/NPDA1.DET.xml b/examples2/automaton/NPDA1.DET.xml index 6e29c64bea0ddf7e12097afadcb6c6b9b9f36ade..c73e8d58ab60f0b1130a859a2a6fb605849d4c72 100644 --- a/examples2/automaton/NPDA1.DET.xml +++ b/examples2/automaton/NPDA1.DET.xml @@ -1,2 +1,6699 @@ <?xml version="1.0"?> -<DPDA><states><PrimitiveLabel><Integer>0</Integer></PrimitiveLabel><PrimitiveLabel><Integer>1</Integer></PrimitiveLabel><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel><PrimitiveLabel><Integer>4</Integer></PrimitiveLabel><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel><PrimitiveLabel><Integer>11</Integer></PrimitiveLabel><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel><PrimitiveLabel><Integer>16</Integer></PrimitiveLabel><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></states><inputAlphabet><LabeledSymbol><PrimitiveLabel><String>a0</String></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><String>a1</String></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><String>a2</String></PrimitiveLabel></LabeledSymbol></inputAlphabet><stackAlphabet><LabeledSymbol><PrimitiveLabel><Integer>0</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>1</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>4</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>11</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>16</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>18</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>19</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>20</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>21</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>24</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>25</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>26</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>27</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>28</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>29</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>30</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>31</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>32</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>33</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>34</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>35</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>36</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>37</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>38</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>39</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>40</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>41</Integer></PrimitiveLabel></LabeledSymbol></stackAlphabet><initialState><LabelRef id="0"/></initialState><initialStackSymbol><LabeledSymbol><PrimitiveLabel><Integer>0</Integer></PrimitiveLabel></LabeledSymbol></initialStackSymbol><finalStates><PrimitiveLabel><Integer>11</Integer></PrimitiveLabel><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel><PrimitiveLabel><Integer>16</Integer></PrimitiveLabel><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></finalStates><transitions><transition><from><PrimitiveLabel><Integer>0</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>0</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>1</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>0</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>1</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>1</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>0</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>0</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>0</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>1</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>0</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="4"/></pop><to><PrimitiveLabel><Integer>0</Integer></PrimitiveLabel></to><push><SymbolRef id="4"/></push></transition><transition><from><PrimitiveLabel><Integer>0</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="3"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>0</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="4"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>4</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>4</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>4</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>16</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>19</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="7"/></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="7"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="7"/></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="10"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="10"/></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="12"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="12"/></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="15"/></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="15"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="15"/></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>19</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="18"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="18"/></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="19"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="19"/></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="22"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="22"/></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="5"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="7"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="8"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="8"/><LabeledSymbol><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="10"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="8"/><LabeledSymbol><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="12"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>11</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="15"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="16"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><LabeledSymbol><PrimitiveLabel><Integer>20</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="18"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="19"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><LabeledSymbol><PrimitiveLabel><Integer>18</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="22"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><LabeledSymbol><PrimitiveLabel><Integer>20</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>11</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>4</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>4</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>4</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="18"/></push></transition><transition><from><PrimitiveLabel><Integer>4</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="19"/></push></transition><transition><from><PrimitiveLabel><Integer>4</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><LabeledSymbol><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>4</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><LabeledSymbol><PrimitiveLabel><Integer>18</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><SymbolRef id="14"/></pop><to><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="14"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>21</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="14"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol><SymbolRef id="14"/></push></transition><transition><from><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>11</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>32</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>21</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>11</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>21</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>32</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>21</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>11</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="14"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol><SymbolRef id="14"/></push></transition><transition><from><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>32</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol><SymbolRef id="14"/></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>18</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>20</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>34</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>35</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>36</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>37</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>40</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>41</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>18</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>20</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>34</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>35</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>36</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>37</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>40</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>41</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><LabeledSymbol><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><LabeledSymbol><PrimitiveLabel><Integer>18</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="20"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="21"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>20</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>34</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>35</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>36</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>37</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>40</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>41</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><SymbolRef id="20"/></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><SymbolRef id="21"/></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>20</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>24</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="20"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="21"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>20</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>25</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="20"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="21"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>9</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>20</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>21</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>11</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>24</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>25</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>26</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>11</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>27</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>28</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>29</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>30</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>31</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>16</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>33</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>38</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>16</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>39</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>21</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>26</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>27</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>28</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>24</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>29</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>25</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>30</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="29"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="29"/></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="30"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="30"/></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="31"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="31"/></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="32"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="32"/></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="33"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="33"/></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>31</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="41"/></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>33</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>39</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="41"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="41"/></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="42"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="42"/></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>21</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>31</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>32</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>33</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>34</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="36"/><LabeledSymbol><PrimitiveLabel><Integer>35</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>24</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>33</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>36</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>25</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="36"/><LabeledSymbol><PrimitiveLabel><Integer>37</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="29"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>31</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>32</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="30"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>33</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>34</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="31"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="36"/><LabeledSymbol><PrimitiveLabel><Integer>35</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="32"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>33</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>36</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="33"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="36"/><LabeledSymbol><PrimitiveLabel><Integer>37</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="34"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>33</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>40</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="36"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="36"/><LabeledSymbol><PrimitiveLabel><Integer>41</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="41"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>33</Integer></PrimitiveLabel></LabeledSymbol><LabeledSymbol><PrimitiveLabel><Integer>40</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="42"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="36"/><LabeledSymbol><PrimitiveLabel><Integer>41</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><SymbolRef id="14"/></pop><to><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>32</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>3</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>21</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="14"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>21</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>32</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>21</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="6"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol><SymbolRef id="14"/></push></transition><transition><from><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="14"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol><SymbolRef id="14"/></push></transition><transition><from><PrimitiveLabel><Integer>12</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>32</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol><SymbolRef id="14"/></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><SymbolRef id="20"/></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><SymbolRef id="21"/></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>20</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>34</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>35</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>36</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>37</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>40</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>41</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>6</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="20"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="21"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>20</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>34</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>35</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>36</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>37</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>40</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>41</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="9"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="11"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="20"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="21"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>20</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>34</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>35</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>36</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>37</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>40</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>13</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>41</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><SymbolRef id="14"/></pop><to><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>32</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="14"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>21</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>32</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="24"/></push></transition><transition><from><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="14"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol><SymbolRef id="14"/></push></transition><transition><from><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="35"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="13"/><SymbolRef id="14"/></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><SymbolRef id="20"/></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><SymbolRef id="21"/></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>20</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>34</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>35</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>36</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>37</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>40</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>41</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>14</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="20"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><SymbolRef id="21"/></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>20</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>34</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>35</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>36</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="25"/></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>37</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="26"/></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>40</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>41</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="17"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="20"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="21"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="23"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="37"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="38"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="39"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="40"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="43"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>15</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><SymbolRef id="44"/></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>16</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>32</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>5</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>16</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>32</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>21</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>16</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>32</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></LabeledSymbol><SymbolRef id="14"/></push></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>34</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>35</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>36</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>37</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>40</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>7</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="0"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>41</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>8</Integer></PrimitiveLabel></to><push/></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>34</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>35</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>36</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>22</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>37</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><LabeledSymbol><PrimitiveLabel><Integer>23</Integer></PrimitiveLabel></LabeledSymbol></push></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>40</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="27"/></push></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="1"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>41</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>10</Integer></PrimitiveLabel></to><push><SymbolRef id="28"/></push></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>34</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>35</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>36</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>37</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>40</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="20"/></push></transition><transition><from><PrimitiveLabel><Integer>17</Integer></PrimitiveLabel></from><input><SymbolRef id="2"/></input><pop><LabeledSymbol><PrimitiveLabel><Integer>41</Integer></PrimitiveLabel></LabeledSymbol></pop><to><PrimitiveLabel><Integer>2</Integer></PrimitiveLabel></to><push><SymbolRef id="16"/><SymbolRef id="21"/></push></transition></transitions></DPDA> +<DPDA> + <states> + <PrimitiveLabel> + <Integer>0</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>1</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>4</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>11</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>16</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </states> + <inputAlphabet> + <LabeledSymbol> + <PrimitiveLabel> + <String>a0</String> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <String>a1</String> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <String>a2</String> + </PrimitiveLabel> + </LabeledSymbol> + </inputAlphabet> + <pushdownStoreAlphabet> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>0</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>1</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>4</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>11</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>16</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>18</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>19</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>20</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>21</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>24</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>25</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>26</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>27</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>28</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>29</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>30</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>31</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>32</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>33</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>34</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>35</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>36</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>37</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>38</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>39</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>40</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>41</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pushdownStoreAlphabet> + <initialState> + <LabelRef id="0"/> + </initialState> + <initialPushdownStoreSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>0</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </initialPushdownStoreSymbol> + <finalStates> + <PrimitiveLabel> + <Integer>11</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>16</Integer> + </PrimitiveLabel> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </finalStates> + <transitions> + <transition> + <from> + <PrimitiveLabel> + <Integer>0</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>0</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>1</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>0</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>1</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>1</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>0</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>0</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>0</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>1</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>0</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="4"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>0</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="4"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>0</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="3"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>0</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="4"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>4</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>4</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>4</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>16</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>19</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="7"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="7"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="7"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="10"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="10"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="12"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="12"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="15"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="15"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="15"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>19</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="18"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="18"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="19"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="19"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="22"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="22"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="5"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="7"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="8"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="8"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="10"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="8"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="12"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>11</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="15"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="16"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>20</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="18"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="19"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>18</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="22"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>20</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>11</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>4</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>4</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>4</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="18"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>4</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="19"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>4</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>4</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>18</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <SymbolRef id="14"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="14"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>21</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="14"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <SymbolRef id="14"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>11</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>32</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>21</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>11</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>21</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>32</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>21</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>11</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="14"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <SymbolRef id="14"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>32</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <SymbolRef id="14"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>18</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>20</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>34</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>35</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>36</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>37</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>40</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>41</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>18</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>20</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>34</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>35</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>36</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>37</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>40</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>41</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>18</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="20"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="21"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>20</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>34</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>35</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>36</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>37</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>40</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>41</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <SymbolRef id="20"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <SymbolRef id="21"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>20</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>24</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="20"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="21"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>20</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>25</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="20"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="21"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>9</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>20</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>21</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>11</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>24</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>25</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>26</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>11</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>27</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>28</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>29</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>30</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>31</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>16</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>33</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>38</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>16</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>39</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>21</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>26</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>27</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>28</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>24</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>29</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>25</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>30</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="29"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="29"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="30"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="30"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="31"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="31"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="32"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="32"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="33"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="33"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>31</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="41"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>33</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>39</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="41"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="41"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="42"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="42"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>21</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>31</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>32</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>33</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>34</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="36"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>35</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>24</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>33</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>36</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>25</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="36"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>37</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="29"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>31</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>32</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="30"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>33</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>34</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="31"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="36"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>35</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="32"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>33</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>36</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="33"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="36"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>37</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="34"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>33</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>40</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="36"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="36"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>41</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="41"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>33</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>40</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="42"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="36"/> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>41</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <SymbolRef id="14"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>32</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>3</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>21</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="14"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>21</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>32</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>21</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="6"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <SymbolRef id="14"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="14"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <SymbolRef id="14"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>12</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>32</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <SymbolRef id="14"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <SymbolRef id="20"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <SymbolRef id="21"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>20</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>34</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>35</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>36</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>37</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>40</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>41</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>6</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="20"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="21"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>20</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>34</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>35</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>36</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>37</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>40</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>41</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="9"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="11"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="20"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="21"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>20</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>34</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>35</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>36</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>37</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>40</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>13</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>41</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <SymbolRef id="14"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>32</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="14"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>21</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>32</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="24"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="14"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <SymbolRef id="14"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="35"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="13"/> + <SymbolRef id="14"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <SymbolRef id="20"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <SymbolRef id="21"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>20</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>34</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>35</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>36</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>37</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>40</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>41</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>14</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="20"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <SymbolRef id="21"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>20</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>34</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>35</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>36</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="25"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>37</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="26"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>40</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>41</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="17"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="20"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="21"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="23"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="37"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="38"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="39"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="40"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="43"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>15</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <SymbolRef id="44"/> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>16</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>32</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>5</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>16</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>32</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>21</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>16</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>32</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </LabeledSymbol> + <SymbolRef id="14"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>34</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>35</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>36</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>37</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>40</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>7</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="0"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>41</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>8</Integer> + </PrimitiveLabel> + </to> + <push/> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>34</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>35</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>36</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>22</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>37</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>23</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>40</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="27"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="1"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>41</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>10</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="28"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>34</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>35</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>36</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>37</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>40</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="20"/> + </push> + </transition> + <transition> + <from> + <PrimitiveLabel> + <Integer>17</Integer> + </PrimitiveLabel> + </from> + <input> + <SymbolRef id="2"/> + </input> + <pop> + <LabeledSymbol> + <PrimitiveLabel> + <Integer>41</Integer> + </PrimitiveLabel> + </LabeledSymbol> + </pop> + <to> + <PrimitiveLabel> + <Integer>2</Integer> + </PrimitiveLabel> + </to> + <push> + <SymbolRef id="16"/> + <SymbolRef id="21"/> + </push> + </transition> + </transitions> +</DPDA> diff --git a/examples2/automaton/NPDA1.xml b/examples2/automaton/NPDA1.xml index d9390d9093042c6cdfa4d436648ca50d3c23140b..da63e32d2181e72cf34aa7f862c5d543b0a9be01 100644 --- a/examples2/automaton/NPDA1.xml +++ b/examples2/automaton/NPDA1.xml @@ -18,22 +18,22 @@ <PrimitiveLabel><String>a2</String></PrimitiveLabel> </LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol> <PrimitiveLabel><String>R</String></PrimitiveLabel> </LabeledSymbol> <LabeledSymbol> <PrimitiveLabel><String>T</String></PrimitiveLabel> </LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialState> <PrimitiveLabel><Integer>0</Integer></PrimitiveLabel> </initialState> - <initialStackSymbol> + <initialPushdownStoreSymbol> <LabeledSymbol> <PrimitiveLabel><String>T</String></PrimitiveLabel> </LabeledSymbol> - </initialStackSymbol> + </initialPushdownStoreSymbol> <finalStates> <PrimitiveLabel><Integer>4</Integer></PrimitiveLabel> </finalStates> diff --git a/examples2/automaton/NPDA2.fix.xml b/examples2/automaton/NPDA2.fix.xml index 242636c792793cad6fd3389541f67fb27b8eaa65..c8435f14dd240aa7983db120a9671c62411e71ba 100644 --- a/examples2/automaton/NPDA2.fix.xml +++ b/examples2/automaton/NPDA2.fix.xml @@ -22,17 +22,17 @@ VPDA stackops: to RHPDA stackops <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>|</Character></PrimitiveLabel></LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol><PrimitiveLabel><String>SQ2</String></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><String>SQ3</String></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><String>Z</String></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialState> <PrimitiveLabel><String>q0</String></PrimitiveLabel> </initialState> - <initialStackSymbol> + <initialPushdownStoreSymbol> <LabeledSymbol><PrimitiveLabel><String>Z</String></PrimitiveLabel></LabeledSymbol> - </initialStackSymbol> + </initialPushdownStoreSymbol> <finalStates> <PrimitiveLabel><String>|4</String></PrimitiveLabel> </finalStates> diff --git a/examples2/automaton/NPDA2.xml b/examples2/automaton/NPDA2.xml index 0f954b444328ea784e42ee9352da3ccec4013bd5..2be699df2718e17f6429bf260aa99ba90d1e1f4f 100644 --- a/examples2/automaton/NPDA2.xml +++ b/examples2/automaton/NPDA2.xml @@ -11,17 +11,17 @@ <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>|</Character></PrimitiveLabel></LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol><PrimitiveLabel><String>SQ2</String></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><String>SQ3</String></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><String>Z</String></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialState> <PrimitiveLabel><String>q0</String></PrimitiveLabel> </initialState> - <initialStackSymbol> + <initialPushdownStoreSymbol> <LabeledSymbol><PrimitiveLabel><String>Z</String></PrimitiveLabel></LabeledSymbol> - </initialStackSymbol> + </initialPushdownStoreSymbol> <finalStates> <PrimitiveLabel><String>|4</String></PrimitiveLabel> </finalStates> diff --git a/examples2/automaton/NPDA4.xml b/examples2/automaton/NPDA4.xml index 7974e6b58b49c976d230657990eaf379413d7111..276ecb356d100d3d587790511ce3017596c205a9 100644 --- a/examples2/automaton/NPDA4.xml +++ b/examples2/automaton/NPDA4.xml @@ -9,19 +9,19 @@ <LabeledSymbol><PrimitiveLabel><String>b0</String></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><String>EOF</String></PrimitiveLabel></LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol><PrimitiveLabel><String>a2_1</String></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><String>a2_2</String></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><String>b0_3</String></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><String>b0_4</String></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><String>Z0</String></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialState> <PrimitiveLabel><String>q</String></PrimitiveLabel> </initialState> - <initialStackSymbol> + <initialPushdownStoreSymbol> <LabeledSymbol><PrimitiveLabel><String>Z0</String></PrimitiveLabel></LabeledSymbol> - </initialStackSymbol> + </initialPushdownStoreSymbol> <finalStates> <PrimitiveLabel><String>f</String></PrimitiveLabel> </finalStates> diff --git a/examples2/automaton/NPDA5.xml b/examples2/automaton/NPDA5.xml index 0b4747ff297b84812a8a46baff5d858f73e19aab..98dcb9f81bea1acdc5611ffc805d515b81a9bb23 100644 --- a/examples2/automaton/NPDA5.xml +++ b/examples2/automaton/NPDA5.xml @@ -9,19 +9,19 @@ <LabeledSymbol><PrimitiveLabel><String>b0</String></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><String>EOF</String></PrimitiveLabel></LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol><PrimitiveLabel><String>a2_1</String></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><String>a2_2</String></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><String>b0_3</String></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><String>b0_4</String></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><String>Z0</String></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialState> <PrimitiveLabel><String>q</String></PrimitiveLabel> </initialState> - <initialStackSymbol> + <initialPushdownStoreSymbol> <LabeledSymbol><PrimitiveLabel><String>Z0</String></PrimitiveLabel></LabeledSymbol> - </initialStackSymbol> + </initialPushdownStoreSymbol> <finalStates> <PrimitiveLabel><String>f</String></PrimitiveLabel> </finalStates> diff --git a/examples2/automaton/NVPA1.xml b/examples2/automaton/NVPA1.xml index f70ebab083cee855f34d0efa719edf7c0d9f4f12..1cbf94fe207d4319e4676c60b181a094669ae4c7 100644 --- a/examples2/automaton/NVPA1.xml +++ b/examples2/automaton/NVPA1.xml @@ -12,10 +12,10 @@ <localInputAlphabet> <LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol> </localInputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol><PrimitiveLabel><Character>s</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>⊥</Character></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialStates> <PrimitiveLabel><String>0</String></PrimitiveLabel> </initialStates> diff --git a/examples2/automaton/NVPA2.xml b/examples2/automaton/NVPA2.xml index 10a046a8322a21774195a288116325c6bced2945..8ff3be5d44dd9e1e81b055f42b553b74ed30596b 100644 --- a/examples2/automaton/NVPA2.xml +++ b/examples2/automaton/NVPA2.xml @@ -13,11 +13,11 @@ <localInputAlphabet> <LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol> </localInputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>⊥</Character></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialStates> <PrimitiveLabel><String>0</String></PrimitiveLabel> </initialStates> diff --git a/examples2/automaton/NVPA3.xml b/examples2/automaton/NVPA3.xml index 1cdd32d6bb69ad77e49e00d879d69ac584645fc4..9d46b8a5820f6561398b80b0073138c055988797 100644 --- a/examples2/automaton/NVPA3.xml +++ b/examples2/automaton/NVPA3.xml @@ -13,11 +13,11 @@ <localInputAlphabet> <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> </localInputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>#</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>⊥</Character></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialStates> <PrimitiveLabel><String>0</String></PrimitiveLabel> </initialStates> diff --git a/examples2/automaton/NVPA4.xml b/examples2/automaton/NVPA4.xml index 34c41aa55ed51cd0d8b6afc1ebeadf9840fffb8b..05245afc9ae7ec130e5c936c5aaa14a4c9f81fc3 100644 --- a/examples2/automaton/NVPA4.xml +++ b/examples2/automaton/NVPA4.xml @@ -20,7 +20,7 @@ </LabeledSymbol> </returnInputAlphabet> <localInputAlphabet/> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol> <PrimitiveLabel><Character>A</Character></PrimitiveLabel> </LabeledSymbol> @@ -43,7 +43,7 @@ <PrimitiveLabel><Character>T</Character></PrimitiveLabel> </LabeledSymbol> <BottomOfTheStackSymbol/> - </stackAlphabet> + </pushdownStoreAlphabet> <initialStates> <PrimitiveLabel><Integer>0</Integer></PrimitiveLabel> </initialStates> diff --git a/examples2/automaton/RHDPDA1.xml b/examples2/automaton/RHDPDA1.xml index 232e256fa93a04d5293186641e2909caf2c75700..6c1b3407c51f9229faf9666a58e5ddddc5f51424 100644 --- a/examples2/automaton/RHDPDA1.xml +++ b/examples2/automaton/RHDPDA1.xml @@ -9,11 +9,11 @@ <LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>_</Character></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialStates> <PrimitiveLabel><String>0</String></PrimitiveLabel> </initialStates> diff --git a/examples2/automaton/RHDPDA2.xml b/examples2/automaton/RHDPDA2.xml index d3323fa25ab52edf41f88ae1d18d92dab57cd890..36e4305400cc521eaddbb2a63d9efe438ba63f71 100644 --- a/examples2/automaton/RHDPDA2.xml +++ b/examples2/automaton/RHDPDA2.xml @@ -10,11 +10,11 @@ <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>x</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>_</Character></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialStates> <PrimitiveLabel><String>0</String></PrimitiveLabel> </initialStates> diff --git a/examples2/automaton/RHDPDA3.xml b/examples2/automaton/RHDPDA3.xml index da6fec62932f9e1a140edfcdf18214c172eb5525..78c0d048cc6dcb0a8b9acbd4753c010e51b3cbd8 100644 --- a/examples2/automaton/RHDPDA3.xml +++ b/examples2/automaton/RHDPDA3.xml @@ -6,10 +6,10 @@ <inputAlphabet> <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>_</Character></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialStates> <PrimitiveLabel><String>0</String></PrimitiveLabel> </initialStates> diff --git a/examples2/automaton/RHDPDA4.xml b/examples2/automaton/RHDPDA4.xml index f8a7848437a3ecdb37cb79bc945295869109ee84..ffab7238fa0562447ee92e56a7c1d2811f3e6159 100644 --- a/examples2/automaton/RHDPDA4.xml +++ b/examples2/automaton/RHDPDA4.xml @@ -6,10 +6,10 @@ <inputAlphabet> <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>_</Character></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialStates> <PrimitiveLabel><String>0</String></PrimitiveLabel> </initialStates> diff --git a/examples2/automaton/RHDPDA5.xml b/examples2/automaton/RHDPDA5.xml index a2e514c48b1e3f444b17500aadeaf19597450f0a..c8a98feb625e43be21f0656db3c920a0583bb714 100644 --- a/examples2/automaton/RHDPDA5.xml +++ b/examples2/automaton/RHDPDA5.xml @@ -13,7 +13,7 @@ <PrimitiveLabel><String>b</String></PrimitiveLabel> </LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol> <PrimitiveLabel><String>X</String></PrimitiveLabel> </LabeledSymbol> @@ -21,7 +21,7 @@ <PrimitiveLabel><String>Y</String></PrimitiveLabel> </LabeledSymbol> <BottomOfTheStackSymbol/> - </stackAlphabet> + </pushdownStoreAlphabet> <initialStates> <PrimitiveLabel><Integer>1</Integer></PrimitiveLabel> </initialStates> diff --git a/examples2/automaton/RHDPDA6.xml b/examples2/automaton/RHDPDA6.xml index b59de52f42d43d362bb2fa3c2055a044c3d9d1dc..9963f8d8fdcb62710b523355c6da620ec4849e6e 100644 --- a/examples2/automaton/RHDPDA6.xml +++ b/examples2/automaton/RHDPDA6.xml @@ -8,11 +8,11 @@ <LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol> </inputAlphabet> - <stackAlphabet> + <pushdownStoreAlphabet> <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol> <LabeledSymbol><PrimitiveLabel><Character>_</Character></PrimitiveLabel></LabeledSymbol> - </stackAlphabet> + </pushdownStoreAlphabet> <initialStates> <PrimitiveLabel><String>0</String></PrimitiveLabel> </initialStates>