From af6ee382ab41a55c41d7ed17fc8bb7062d68164d Mon Sep 17 00:00:00 2001
From: Derval Guillaume <gderval@uliege.be>
Date: Tue, 25 Jun 2024 11:54:22 +0200
Subject: [PATCH] EqLoop -> LikeLoop

---
 src/gboml/ast/__init__.py | 2 +-
 src/gboml/ast/loops.py    | 2 +-
 src/gboml/gboml.lark      | 4 ++--
 src/gboml/parsing.py      | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/gboml/ast/__init__.py b/src/gboml/ast/__init__.py
index 2289b63..6b22528 100644
--- a/src/gboml/ast/__init__.py
+++ b/src/gboml/ast/__init__.py
@@ -1,7 +1,7 @@
 __all__ = [
     "Meta", "GBOMLObject", "VarScope", "VarType", "SOSType", "ObjType",
     "Operator", "ExpressionObj", "Expression", "BoolExpression", "VarOrParamLeaf",
-    "VarOrParam", "Array", "Loop", "BaseLoop", "EqLoop", "Function", "BoolExpressionOp",
+    "VarOrParam", "Array", "Loop", "BaseLoop", "LikeLoop", "Function", "BoolExpressionOp",
     "BoolExpressionComparison", "ScopeChange", "ImportFile", "Definition", "Constraint",
     "StdConstraint", "SOSConstraint", "Objective", "VariableDefinition", "Node",
     "HyperEdge", "NodeDefinition", "HyperEdgeDefinition",
diff --git a/src/gboml/ast/loops.py b/src/gboml/ast/loops.py
index ce17bda..d6d1573 100644
--- a/src/gboml/ast/loops.py
+++ b/src/gboml/ast/loops.py
@@ -22,7 +22,7 @@ class BaseLoop(Loop):
 
 
 @dataclass
-class EqLoop(Loop):
+class LikeLoop(Loop):
     varid: str
     on: VarOrParam
     condition: Optional[BoolExpression]
diff --git a/src/gboml/gboml.lark b/src/gboml/gboml.lark
index a7e96bf..99f898e 100644
--- a/src/gboml/gboml.lark
+++ b/src/gboml/gboml.lark
@@ -83,9 +83,9 @@ OBJ_TYPE: "min" | "max"
 
 // LOOPS
 ?loop: multi_loop | implicit_loop
-?multi_loop: (base_loop | eq_loop)+
+?multi_loop: (base_loop | like_loop)+
 base_loop: "for" ID "in" iterable ["where" bool_expression]
-eq_loop: "for" ID "=" var_or_param ["where" bool_expression]
+like_loop: "for" ID "like" var_or_param ["where" bool_expression] //var_or_param must point to an indexing param
 implicit_loop: "where" bool_expression
 
 // BOOLEAN EXPRESSIONS
diff --git a/src/gboml/parsing.py b/src/gboml/parsing.py
index 4b3bc64..a875841 100644
--- a/src/gboml/parsing.py
+++ b/src/gboml/parsing.py
@@ -92,7 +92,7 @@ class GBOMLParser:
                 "constraint_sos": SOSConstraint,
                 "objective": Objective,
                 "base_loop": BaseLoop,
-                "eq_loop": EqLoop,
+                "like_loop": LikeLoop,
                 "implicit_loop": ImplicitLoop,
                 "subtraction": _op_transform(Operator.minus),
                 "sum": _op_transform(Operator.plus),
-- 
GitLab