diff --git a/alib2algo/src/fa2re/BrzozowskiAlgebraic.cpp b/alib2algo/src/fa2re/BrzozowskiAlgebraic.cpp index 53746f5902f9e028866b48e017b09225745d7a24..3cee454517073274ba4065689c66e10a52d1faa4 100644 --- a/alib2algo/src/fa2re/BrzozowskiAlgebraic.cpp +++ b/alib2algo/src/fa2re/BrzozowskiAlgebraic.cpp @@ -48,10 +48,11 @@ regexp::UnboundedRegExp BrzozowskiAlgebraic::convert( void ) regexp::UnboundedRegExpAlternation* alt = new regexp::UnboundedRegExpAlternation( ); alt->appendElement( regexp::UnboundedRegExpEmpty { } ); - for( const auto & symbol : m_automaton.getInputAlphabet( ) ) - if ( isInSet( q , m_automaton.getTransitionsFromState( p )[std::make_pair( p, symbol )] ) ) + for( const auto & symbol : m_automaton.getInputAlphabet( ) ) { + auto toStates = m_automaton.getTransitionsFromState(p)[std::make_pair(p, symbol)]; + if ( isInSet( q , toStates ) ) alt->appendElement( regexp::UnboundedRegExpSymbol { symbol } ); - + } solver.addEquation( alphabet::Symbol( alphabet::LabeledSymbol ( p.getName( ) ) ), alphabet::Symbol( alphabet::LabeledSymbol( q.getName( ) ) ), alt ); } }