From ba21246f4a5d4636379767ed3ae2c2b209015b87 Mon Sep 17 00:00:00 2001 From: Franck Dary <franck.dary@lis-lab.fr> Date: Wed, 6 Nov 2019 11:14:02 +0100 Subject: [PATCH] Fixed oracle for sequential tagparser --- transition_machine/src/Oracle.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/transition_machine/src/Oracle.cpp b/transition_machine/src/Oracle.cpp index 1283b7c..ccb2d6a 100644 --- a/transition_machine/src/Oracle.cpp +++ b/transition_machine/src/Oracle.cpp @@ -669,6 +669,21 @@ void Oracle::createDatabase() newState = "tagger"; movement = lastIndexDone[newState]-c.getHead()+1; lastIndexDone[previousState] = c.getHead(); + if (lastIndexDone[newState]+1 >= c.getTape("FORM").size()) + { + newState = "morpho"; + movement = lastIndexDone[newState]-c.getHead()+1; + if (lastIndexDone[newState]+1 >= c.getTape("FORM").size()) + { + newState = "lemmatizer_rules"; + movement = lastIndexDone["lemmatizer_case"]-c.getHead()+1; + if (lastIndexDone["lemmatizer_case"]+1 >= c.getTape("FORM").size()) + { + newState = "parser"; + movement = lastIndexDone[newState]-c.getHead()+1; + } + } + } if (c.endOfTapes()) { newState = "parser"; -- GitLab