diff --git a/transition_machine/src/Oracle.cpp b/transition_machine/src/Oracle.cpp index ccb2d6a75f572e419c1e57f988ba3f2b9fd83770..8838de4a121dd259c8b3b87bf2e21db66cd214a6 100644 --- a/transition_machine/src/Oracle.cpp +++ b/transition_machine/src/Oracle.cpp @@ -699,6 +699,13 @@ void Oracle::createDatabase() else newState = "unknown("+std::string(ERRINFO)+")("+previousState+")("+previousAction+")"; + if (c.isFinal()) + { + done = {{"tagger",0},{"morpho",0},{"lemmatizer_case",0},{"parser",0}}; + lastIndexDone = {{"tagger",-1},{"morpho",-1},{"lemmatizer_case",-1},{"parser",-1}}; + todo = {{"tagger",3*lookahead+1},{"morpho",2*lookahead+1},{"lemmatizer_case",lookahead+1}}; + } + return "MOVE " + newState + " " + std::to_string(movement); }, [](Config &, Oracle *, const std::string &)