diff --git a/alib2algo/src/automaton/transform/ZAToPDA.h b/alib2algo/src/automaton/transform/ZAToPDA.h index 501ebff14200ed2f946c98f3b55bbb1213364c5a..dcd33067db3c5c49817988536c6a4e5776bb5719 100644 --- a/alib2algo/src/automaton/transform/ZAToPDA.h +++ b/alib2algo/src/automaton/transform/ZAToPDA.h @@ -55,16 +55,17 @@ automaton::NPDA<SymbolType, StateType, char> ZAToPDA::convert(const automaton::A for (const auto& transition : zautomaton.getTransitions()) { if (transition.first.template is<ext::pair<StateType, StateType>>()) { const auto& trf = transition.first.template get<ext::pair<StateType, StateType>>(); - res.addTransition('q', bar, {trf.first, trf.second}, 'q', {transition.second}); + res.addTransition('q', bar, {trf.second, trf.first /* top is on the left */}, 'q', {transition.second}); } else { res.addTransition('q', transition.first.template get<SymbolType>(), {}, 'q', {transition.second}); } } - res.addTransition('r', {}, 'q', {}); + /* res.addTransition('r', {}, 'q', {}); */ for (const auto& finalState : zautomaton.getFinalStates()) { - res.addTransition('q', bar, {finalState, bots}, 'r', {}); + res.addTransition('q', bar, {finalState}, 'r', {}); } + res.addTransition('r', {bots}, 'r', {}); return res; }