diff options
Diffstat (limited to 'Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic')
2 files changed, 10 insertions, 2 deletions
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend index ffbca0af..b8c52af4 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend +++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend | |||
@@ -335,7 +335,11 @@ class Constraint2Logic { | |||
335 | { | 335 | { |
336 | val outputVariable = constraint.outputVariable | 336 | val outputVariable = constraint.outputVariable |
337 | val expression = expressionExtractor.extractExpression(constraint.evaluator) | 337 | val expression = expressionExtractor.extractExpression(constraint.evaluator) |
338 | return expressionEvaliation2Logic.transformEval(outputVariable,expression,variable2Variable) | 338 | if(outputVariable === null) { |
339 | return expressionEvaliation2Logic.transformCheck(expression,variable2Variable) | ||
340 | } else { | ||
341 | return expressionEvaliation2Logic.transformEval(outputVariable,expression,variable2Variable) | ||
342 | } | ||
339 | } | 343 | } |
340 | 344 | ||
341 | def dispatch Term transformConstraint(PConstraint constraint, | 345 | def dispatch Term transformConstraint(PConstraint constraint, |
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend index 0f97d3fe..a098945d 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend +++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend | |||
@@ -248,6 +248,10 @@ class Viatra2Logic { | |||
248 | innerPositiveVariables += logicVariable | 248 | innerPositiveVariables += logicVariable |
249 | } | 249 | } |
250 | variable2Variable.put(innerVariable,logicVariable) | 250 | variable2Variable.put(innerVariable,logicVariable) |
251 | body.pattern.lookup(viatra2LogicTrace.query2Annotation).variableTrace += createVariableMapping=>[ | ||
252 | it.sourcePVariable = innerVariable | ||
253 | it.targetLogicVariable = logicVariable | ||
254 | ] | ||
251 | } | 255 | } |
252 | } | 256 | } |
253 | } | 257 | } |
@@ -267,7 +271,7 @@ class Viatra2Logic { | |||
267 | } else { | 271 | } else { |
268 | Exists(innerPositiveVariables,allNegativeVariablesAreSatisfied); | 272 | Exists(innerPositiveVariables,allNegativeVariablesAreSatisfied); |
269 | } | 273 | } |
270 | 274 | ||
271 | return allVariablesAreExisting | 275 | return allVariablesAreExisting |
272 | } | 276 | } |
273 | 277 | ||