From 35cf93a26e949e2d53422d50f5cd2842e7a52660 Mon Sep 17 00:00:00 2001 From: Franck Dary <franck.dary@lis-lab.fr> Date: Wed, 12 Feb 2020 14:31:55 +0100 Subject: [PATCH] Quickfix --- transition_machine/src/Config.cpp | 5 ++++- transition_machine/src/Oracle.cpp | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/transition_machine/src/Config.cpp b/transition_machine/src/Config.cpp index ca4a2cb..42c993b 100644 --- a/transition_machine/src/Config.cpp +++ b/transition_machine/src/Config.cpp @@ -735,7 +735,10 @@ bool Config::Tape::headIsAtEnd() const if (head >= ref.getLastIndex()) return true; - return !getHyp(0).empty() && getHyp(1).empty(); + if (ProgramParameters::rawInput) + return !getHyp(0).empty() && getHyp(1).empty(); + + return !getRef(0).empty() && getRef(1).empty(); } int Config::Tape::size() diff --git a/transition_machine/src/Oracle.cpp b/transition_machine/src/Oracle.cpp index 2a2a945..508fc3d 100644 --- a/transition_machine/src/Oracle.cpp +++ b/transition_machine/src/Oracle.cpp @@ -414,6 +414,9 @@ void Oracle::createDatabase() movement = 1; } + if (c.isFinal()) + return std::string(""); + return "MOVE " + newState + " " + std::to_string(movement); }, [](Config &, Oracle *, const std::string &) @@ -451,6 +454,8 @@ void Oracle::createDatabase() { newState = "lemmatizer_lookup"; movement = 1; + if (c.isFinal()) + return std::string(""); } return "MOVE " + newState + " " + std::to_string(movement); @@ -591,6 +596,9 @@ void Oracle::createDatabase() { newState = "parser"; movement = 1; + + if (c.isFinal()) + return std::string(""); } else if (previousState == "error_parser") { @@ -654,6 +662,8 @@ void Oracle::createDatabase() { newState = "tagger"; movement = 1; + if (c.isFinal()) + return std::string(""); } else newState = "unknown("+std::string(ERRINFO)+")("+previousState+")("+previousAction+")"; -- GitLab