diff --git a/alib2algo/src/grammar/simplify/ToCNF.cpp b/alib2algo/src/grammar/simplify/ToCNF.cpp index 6120caac84827b392785ca957794d1c0a26aa01a..b5d5ff21eeeebf02e1f560c0e39383fb386f9f88 100644 --- a/alib2algo/src/grammar/simplify/ToCNF.cpp +++ b/alib2algo/src/grammar/simplify/ToCNF.cpp @@ -71,8 +71,7 @@ grammar::CNF < > convertInternal( const T & origGrammar ) { else if(origRhs.size() > 2) { auto second = splitToPairs(grammarTmp, origRhs, 0, origRhs.size(), createdSymbols); grammarTmp.addRawRule(origRule.first, {std::move(second.first), std::move(second.second)}); - } else - throw exception::CommonException("Invalid rule in grammar"); + } } } diff --git a/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.h b/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.h index db77caedfd5fa2da89c19dc752fb1691a58613ef..a5744fe7b1e529e7e006c0d34b8d5a8b71e8129d 100644 --- a/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.h +++ b/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.h @@ -409,7 +409,7 @@ ext::map < SymbolType, ext::set < ext::vector < SymbolType > > > EpsilonFreeCFG if ( getGeneratesEpsilon ( ) ) res [ getInitialSymbol ( ) ].insert ( ext::vector < SymbolType > { } ); - return rules; + return res; } template < class SymbolType >