From 6f2b33c214110ed5983a762b0da3280933fa3934 Mon Sep 17 00:00:00 2001 From: Oszkar Semerath Date: Thu, 30 Apr 2020 18:21:20 +0200 Subject: UP rule precondition provider --- .../logic2viatra/patterns/PConstraintTransformer.xtend | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PConstraintTransformer.xtend') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PConstraintTransformer.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PConstraintTransformer.xtend index a421d1fd..608ab994 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PConstraintTransformer.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PConstraintTransformer.xtend @@ -240,4 +240,17 @@ class PConstraintTransformer { dispatch def transformConstraint(PConstraint c, Modality modality, List variableMapping) { throw new UnsupportedOperationException('''Unknown constraint type: "«c.class.name»"!''') } + + dispatch def transformConstraintUnset(ExpressionEvaluation e, List variableMapping) { + return ''' + «FOR variable: e.affectedVariables» + PrimitiveElement.valueSet(«variable.canonizeName»,«variable.valueSetted»); «hasValueExpression(variableMapping,variable,variable.valueVariable)» + «ENDFOR» + check(«FOR variable: e.affectedVariables SEPARATOR " || "»!«variable.valueSetted»«ENDFOR»); + ''' + } + + dispatch def transformConstraintUnset(PConstraint c, List variableMapping) { + throw new UnsupportedOperationException('''Unknown constraint type: "«c.class.name»"!''') + } } \ No newline at end of file -- cgit v1.2.3-70-g09d2