diff --git a/alib2algo/src/automaton/convert/ToRegExpStateElimination.cpp b/alib2algo/src/automaton/convert/ToRegExpStateElimination.cpp index de830f19cf75f3663475adaebf268722a23c48e2..4620ee7b607f130fb36765914d23e0b071db5453 100644 --- a/alib2algo/src/automaton/convert/ToRegExpStateElimination.cpp +++ b/alib2algo/src/automaton/convert/ToRegExpStateElimination.cpp @@ -101,16 +101,16 @@ void ToRegExpStateElimination::extendExtendedNFA(automaton::ExtendedNFA < > & au if(automaton.getFinalStates().size() > 1) { DefaultStateType f = common::createUnique(label::FinalStateLabel::instance < DefaultStateType > ( ), automaton.getStates()); - automaton.addState(f); + automaton.addState ( f ); for(const auto &state : automaton.getFinalStates() ) { regexp::UnboundedRegExpStructure < DefaultSymbolType > regexp { regexp::UnboundedRegExpEpsilon < DefaultSymbolType > () }; automaton.addTransition(state, regexp, f); - - automaton.removeFinalState(state); } - automaton.addFinalState(f); + std::set < DefaultStateType > newFinalStates; + newFinalStates.insert ( f ); + automaton.setFinalStates ( newFinalStates ); } }