diff --git a/src/automata.cpp b/src/automata.cpp index 7896118..57a08e5 100644 --- a/src/automata.cpp +++ b/src/automata.cpp @@ -1,5 +1,6 @@ #include "Lexesis/automata.h" +#include #include #include #include @@ -103,8 +104,9 @@ namespace lxs { while(!statequeue.empty()) { auto state = statequeue.front(); statequeue.pop(); - const auto& newStates = epsilonTransitions.find(state)->second; - for(auto newstate: newStates) { + const auto newStatesIt = epsilonTransitions.find(state); + if (newStatesIt == epsilonTransitions.end()) continue; + for(const auto& newstate: newStatesIt->second) { if(states.find(newstate) == states.end()) { states.insert(newstate); statequeue.push(newstate);