]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/parser/SCLParserImpl.java
(refs #7371) Support for select keyword for CHR constraints
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / internal / parsing / parser / SCLParserImpl.java
index 34f8d6a9f0da95e4e6a01a95021d82f893176ca8..dd614f964630aa8b7de8846a1de65616923f57b9 100644 (file)
@@ -31,6 +31,7 @@ import org.simantics.scl.compiler.elaboration.expressions.EListComprehension;
 import org.simantics.scl.compiler.elaboration.expressions.EListLiteral;
 import org.simantics.scl.compiler.elaboration.expressions.ELiteral;
 import org.simantics.scl.compiler.elaboration.expressions.EMatch;
+import org.simantics.scl.compiler.elaboration.expressions.EPreCHRSelect;
 import org.simantics.scl.compiler.elaboration.expressions.ERange;
 import org.simantics.scl.compiler.elaboration.expressions.ERealLiteral;
 import org.simantics.scl.compiler.elaboration.expressions.ERecord;
@@ -1305,12 +1306,17 @@ public class SCLParserImpl extends SCLParser {
         return new IncludeStatement(name, value);
     }
 
-    @Override
+    /*@Override
     protected Object reduceConstraintSpec() {
         Expression[] expressions = new Expression[length()/2-1];
         for(int i=0;i<expressions.length;++i)
             expressions[i] = (Expression)get(2*i+1);
         return expressions;
+    }*/
+
+    @Override
+    protected Object reduceCHRSelect() {
+        return new EPreCHRSelect((ListQualifier[])get(3), (Expression)get(1));
     }
 
 }