From df1f7beee59c5f45cad7a79e62ac4fedd80bb261 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Mon, 30 May 2016 21:05:17 +0200 Subject: [PATCH] Stack to PushdownStore rename --- acompare2/src/AutomatonCompare.cpp | 60 +- .../exact/ExactPatternMatchingAutomaton.cpp | 4 +- .../exact/ExactSubtreeMatchingAutomaton.cpp | 2 +- .../determinize/DeterminizeIDPDAPart.cxx | 2 +- .../determinize/DeterminizeRHDPDAPart.cxx | 4 +- .../determinize/DeterminizeVPAPart.cxx | 4 +- .../src/automaton/simplify/Normalize.cpp | 25 +- alib2algo/src/automaton/simplify/Rename.cpp | 72 +- .../src/automaton/transform/PDAToRHPDA.cpp | 12 +- .../src/automaton/transform/RHPDAToPDA.cpp | 8 +- alib2algo/src/grammar/convert/ToAutomaton.cpp | 7 +- .../grammar/convert/ToAutomatonBottomUp.cpp | 4 +- .../automaton/determinize/determinizeTest.cpp | 14 +- .../grammar/convert/GrammarCFGtoPDATest.cpp | 4 +- alib2data/src/automaton/PDA/DPDA.cpp | 36 +- alib2data/src/automaton/PDA/DPDA.h | 4 +- .../src/automaton/PDA/InputDrivenDPDA.cpp | 36 +- alib2data/src/automaton/PDA/InputDrivenDPDA.h | 4 +- .../src/automaton/PDA/InputDrivenNPDA.cpp | 36 +- alib2data/src/automaton/PDA/InputDrivenNPDA.h | 4 +- alib2data/src/automaton/PDA/NPDA.cpp | 36 +- alib2data/src/automaton/PDA/NPDA.h | 4 +- alib2data/src/automaton/PDA/NPDTA.cpp | 36 +- alib2data/src/automaton/PDA/NPDTA.h | 4 +- .../PDA/RealTimeHeightDeterministicDPDA.cpp | 30 +- .../PDA/RealTimeHeightDeterministicDPDA.h | 4 +- .../PDA/RealTimeHeightDeterministicNPDA.cpp | 30 +- .../PDA/RealTimeHeightDeterministicNPDA.h | 4 +- alib2data/src/automaton/PDA/SinglePopDPDA.cpp | 36 +- alib2data/src/automaton/PDA/SinglePopDPDA.h | 4 +- alib2data/src/automaton/PDA/SinglePopNPDA.cpp | 36 +- alib2data/src/automaton/PDA/SinglePopNPDA.h | 4 +- .../src/automaton/PDA/VisiblyPushdownDPDA.cpp | 30 +- .../src/automaton/PDA/VisiblyPushdownDPDA.h | 4 +- .../src/automaton/PDA/VisiblyPushdownNPDA.cpp | 30 +- .../src/automaton/PDA/VisiblyPushdownNPDA.h | 4 +- .../common/AutomatonFromXMLParser.cpp | 18 +- .../automaton/common/AutomatonFromXMLParser.h | 6 +- .../common/AutomatonToXMLComposer.cpp | 18 +- .../automaton/common/AutomatonToXMLComposer.h | 6 +- ...mOfTheStackSymbolPushdownStoreAlphabet.cpp | 6 +- ...ltiInitialSymbolsPushdownStoreAlphabet.cpp | 4 +- .../common/PushdownStoreAlphabet.cpp | 16 +- .../automaton/common/PushdownStoreAlphabet.h | 10 +- ...ngleInitialSymbolPushdownStoreAlphabet.cpp | 6 +- .../test-src/automaton/AutomatonTest.cpp | 16 +- examples2/automaton/DPDA1.xml | 8 +- examples2/automaton/NIDPDA0.DET.xml | 8 +- examples2/automaton/NIDPDA0.xml | 8 +- examples2/automaton/NIDPDA1.DET.xml | 8 +- examples2/automaton/NIDPDA1.xml | 8 +- examples2/automaton/NIDPDA2.DET.xml | 8 +- examples2/automaton/NIDPDA2.xml | 8 +- examples2/automaton/NIDPDA3.DET.xml | 8 +- examples2/automaton/NIDPDA3.xml | 8 +- examples2/automaton/NPDA1.DET.xml | 6699 ++++++++++++++++- examples2/automaton/NPDA1.xml | 8 +- examples2/automaton/NPDA2.fix.xml | 8 +- examples2/automaton/NPDA2.xml | 8 +- examples2/automaton/NPDA4.xml | 8 +- examples2/automaton/NPDA5.xml | 8 +- examples2/automaton/NVPA1.xml | 4 +- examples2/automaton/NVPA2.xml | 4 +- examples2/automaton/NVPA3.xml | 4 +- examples2/automaton/NVPA4.xml | 4 +- examples2/automaton/RHDPDA1.xml | 4 +- examples2/automaton/RHDPDA2.xml | 4 +- examples2/automaton/RHDPDA3.xml | 4 +- examples2/automaton/RHDPDA4.xml | 4 +- examples2/automaton/RHDPDA5.xml | 4 +- examples2/automaton/RHDPDA6.xml | 4 +- 71 files changed, 7139 insertions(+), 456 deletions(-) diff --git a/acompare2/src/AutomatonCompare.cpp b/acompare2/src/AutomatonCompare.cpp index 367f07379a..5de663f789 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 e79c62ad0d..38bb106d3c 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 6a3cd905d2..d0fcf3c0f0 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 df4fc1aad6..42b390ef68 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 4cc74f14aa..aa33077851 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 5f7f1522be..29bd240028 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 4dec16d9e5..7b1bd3f937 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 a58df12807..f079e0efa0 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 6c428137a7..39f91b586b 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 2ed51df462..52d10caabf 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 e75bbe00ef..058c08548a 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 f118086eae..7d4b6ad2bf 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 f3bb704b9f..c74a0edece 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 4959feeb4e..d89a9ca38e 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 cffc1add3d..18e41d117b 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 96614613bf..a372e242e4 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 0f4248278c..1e10178cce 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 41b247490a..4d16d637e7 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 478b716100..e1141b5aaf 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 a4143448ed..98265164e4 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 3b5f5449ea..743b4f6c81 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 8072f33719..845b5d13c2 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 d80fc2109d..775ffb5a03 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 19eea0d1ce..fa5ec5fbdd 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 e89ad381a2..c2899f6d13 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 a271c76afb..9dce54bcfa 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 7094310ddb..64ca6c9f63 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 9fcc086eb0..04edb4b7c6 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 31103721d3..c2094a2044 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 7fc933bbd1..5d31f7ceb3 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 4e9e167eb4..ffe86ce47d 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 5befcb64c7..0490d8bc5f 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 4061095b92..8a0ed10e59 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 eed64ad0cb..1d89a89017 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 dd7bcb9be5..d38a6116eb 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 b1575124dc..a105128de1 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 6456937337..89658fae52 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 5decfbeb5e..ff85035ee2 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 d36ae5b7a4..f7a49cf7e6 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 cc8fd67f37..a1b380b5c2 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 35d9a8d950..1e5054360e 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 f153c5d272..df6fc09286 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 cbf73b3704..7d4893d7a9 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 98536964be..d7a50e3606 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 0b4a027545..fef2ce2c17 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 2278c9ae97..2052587b3e 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 2b361628e4..dc38061b86 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 c4017ceea6..3e01d974c0 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 972ab76ab6..89257a4c77 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 38762778cc..53edb17f10 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 f281664d37..1961516139 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 e9752e76cf..db10f5a136 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 c11d137c27..2d9ac7bfad 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 170d0a0bf3..1bd3ce163a 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 4c9877662f..3a894774ac 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 6e29c64bea..c73e8d58ab 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 d9390d9093..da63e32d21 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 242636c792..c8435f14dd 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 0f954b4443..2be699df27 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 7974e6b58b..276ecb356d 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 0b4747ff29..98dcb9f81b 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 f70ebab083..1cbf94fe20 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 10a046a832..8ff3be5d44 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 1cdd32d6bb..9d46b8a582 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 34c41aa55e..05245afc9a 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 232e256fa9..6c1b3407c5 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 d3323fa25a..36e4305400 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 da6fec6293..78c0d048cc 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 f8a7848437..ffab7238fa 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 a2e514c48b..c8a98feb62 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 b59de52f42..9963f8d8fd 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> -- GitLab