From c6c5f877908bdea4223109a7a22ad546e4f990df Mon Sep 17 00:00:00 2001 From: Tomas Pecka <peckato1@fit.cvut.cz> Date: Tue, 22 Sep 2015 13:47:06 +0200 Subject: [PATCH] Fix DPDA run (missing initial pda symbol, variable shadowing) --- alib2algo/src/automaton/run/Accept.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/alib2algo/src/automaton/run/Accept.cpp b/alib2algo/src/automaton/run/Accept.cpp index 8dd9ad780c..da4e7e7896 100644 --- a/alib2algo/src/automaton/run/Accept.cpp +++ b/alib2algo/src/automaton/run/Accept.cpp @@ -117,13 +117,13 @@ auto AcceptNFALinearString = Accept::RegistratorWrapper<bool, automaton::NFA, st bool Accept::accept(const automaton::DPDA& automaton, const string::LinearString& string) { automaton::State state = automaton.getInitialState(); - std::deque<alphabet::Symbol> pushdownStore; + std::deque<alphabet::Symbol> pushdownStore({automaton.getInitialSymbol()}); for(const alphabet::Symbol& symbol : string.getContent()) { auto transitions = automaton.getTransitionsFromState(state); auto transition = transitions.begin(); int pushdownStoreSize = pushdownStore.size(); - for(auto transition = transitions.begin(); transition != transitions.end(); transition++) { + for( ; transition != transitions.end(); transition++) { if(std::get<1>(transition->first) != symbol) continue; const std::vector<alphabet::Symbol> & pop = std::get<2>(transition->first); -- GitLab