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