diff --git a/aconversions/src/fa2re/StateElimination.cpp b/aconversions/src/fa2re/StateElimination.cpp index 76cc3e41f080d0ccd5dfa87a07ab7c79f5cd9336..177a3a0b7ba60b668c0982ea499201edf3614113 100644 --- a/aconversions/src/fa2re/StateElimination.cpp +++ b/aconversions/src/fa2re/StateElimination.cpp @@ -17,8 +17,7 @@ namespace conversions StateElimination::StateElimination( const FSM & automaton ) : m_automaton( automaton ) { - if( automaton.getFinalStates( ).size( ) <= 0 ) - throw AlibException( "aconversion: Automaton's final states set must not be empty." ); + } StateElimination::~StateElimination( void ) @@ -34,6 +33,13 @@ void StateElimination::deleteTransitions( void ) RegExp StateElimination::convert( void ) { + if( m_automaton.getFinalStates( ).size( ) <= 0 ) + { + RegExp ret; + ret.setRegExp( new RegExpEmpty( ) ); + return ret; + } + m_MR = ExtendedNFA( ); // steps 1 + 2