From f90a266706093d8650b47b44795113ea102152a6 Mon Sep 17 00:00:00 2001
From: apvrille <ludovic.apvrille@eurecom.fr>
Date: Fri, 9 Feb 2018 17:21:32 +0100
Subject: [PATCH] Update on syntax checker of TML

---
 src/main/java/tmltranslator/TMLChoice.java         | 5 ++---
 src/main/java/tmltranslator/TMLSyntaxChecking.java | 9 +++++++++
 src/main/java/ui/GTMLModeling.java                 | 4 ++--
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/main/java/tmltranslator/TMLChoice.java b/src/main/java/tmltranslator/TMLChoice.java
index 87a4bfe865..b4c8703865 100755
--- a/src/main/java/tmltranslator/TMLChoice.java
+++ b/src/main/java/tmltranslator/TMLChoice.java
@@ -78,13 +78,12 @@ public class TMLChoice extends TMLActivityElement{
     public boolean isNonDeterministicGuard(int i) {
         if (i < getNbGuard()) {
             String guard = guards.get(i);
-            guard = getGuard(i);
-            guard = Conversion.replaceAllChar(guard, '[', " ");
-            guard = Conversion.replaceAllChar(guard, ']', " ");
             guard = guard.trim();
             if (guard.length() == 0) {
                 return true;
             }
+            guard = Conversion.replaceAllChar(guard, ' ', "");
+            return (guard.compareTo("[]") == 0);
         }
         return false;
     }
diff --git a/src/main/java/tmltranslator/TMLSyntaxChecking.java b/src/main/java/tmltranslator/TMLSyntaxChecking.java
index 337b834db1..4d579b16dc 100755
--- a/src/main/java/tmltranslator/TMLSyntaxChecking.java
+++ b/src/main/java/tmltranslator/TMLSyntaxChecking.java
@@ -365,9 +365,18 @@ public class TMLSyntaxChecking {
                     elseg = choice.getElseGuard();
                     afterg = choice.getAfterGuard();
                     for(j=0; j<choice.getNbGuard(); j++) {
+                        /*if (action.length() == 1) {
+                            if ((action.compareTo("[") == 0) || (action.compareTo("]") == 0)) {
+                                addError(t, elt, SYNTAX_ERROR  + " in expression " + action, TMLError.ERROR_BEHAVIOR);
+                            }
+
+                        }*/
+                        //TraceManager.addDev("Testing guard: " + choice.getGuard(j));
                         if (!choice.isNonDeterministicGuard(j) && !choice.isStochasticGuard(j)) {
                             if ((j!= elseg) && (j!=afterg)) {
                                 action = choice.getGuard(j);
+                                action = action.trim();
+
                                 parsing(t, elt, "guard", action);
                             }
                         }
diff --git a/src/main/java/ui/GTMLModeling.java b/src/main/java/ui/GTMLModeling.java
index 72c21d70ac..ba9cb7de50 100755
--- a/src/main/java/ui/GTMLModeling.java
+++ b/src/main/java/ui/GTMLModeling.java
@@ -2405,7 +2405,7 @@ public class GTMLModeling  {
                 int nbNonDeter = tmlchoice.nbOfNonDeterministicGuard();
                 int nbStocha = tmlchoice.nbOfStochasticGuard();
                 if ((nbNonDeter > 0) && (nbStocha > 0)) {
-                    UICheckingError ce = new UICheckingError(CheckingError.BEHAVIOR_ERROR, "Badly formatted choice: it has both non-determinitic and stochastic guards");
+                    UICheckingError ce = new UICheckingError(CheckingError.BEHAVIOR_ERROR, "Badly formatted choice: it has both non-deterministic and stochastic guards");
                     ce.setTDiagramPanel(tadp);
                     ce.setTGComponent(tgc);
                     checkingErrors.add(ce);
@@ -2414,7 +2414,7 @@ public class GTMLModeling  {
                 if (nb > 0) {
                     nb = nb + tmlchoice.nbOfElseAndAfterGuards();
                     if (nb != tmlchoice.getNbGuard()) {
-                        UICheckingError ce = new UICheckingError(CheckingError.BEHAVIOR_ERROR, "Badly formatted choice: it has both non-determinitic/ stochastic and regular guards)");
+                        UICheckingError ce = new UICheckingError(CheckingError.BEHAVIOR_ERROR, "Badly formatted choice: it has both non-deterministic/ stochastic and regular guards");
                         ce.setTDiagramPanel(tadp);
                         ce.setTGComponent(tgc);
                         checkingErrors.add(ce);
-- 
GitLab