diff options
author | OszkarSemerath <oszkar.semerath@gmail.com> | 2018-09-14 16:39:37 +0200 |
---|---|---|
committer | OszkarSemerath <oszkar.semerath@gmail.com> | 2018-09-14 16:39:37 +0200 |
commit | b77c6762fb0f784811614e2bd53d5a74cdf866c0 (patch) | |
tree | 3df109b845b42744c574ef06a6f0cbd4aad01395 /Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend | |
parent | If scope available, then it is maintained during generation via VS (diff) | |
download | VIATRA-Generator-b77c6762fb0f784811614e2bd53d5a74cdf866c0.tar.gz VIATRA-Generator-b77c6762fb0f784811614e2bd53d5a74cdf866c0.tar.zst VIATRA-Generator-b77c6762fb0f784811614e2bd53d5a74cdf866c0.zip |
Alloy support for string literals
Diffstat (limited to 'Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend')
-rw-r--r-- | Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend index abedf9e4..95216835 100644 --- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend +++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend | |||
@@ -177,6 +177,7 @@ class AlloyModelInterpretation implements LogicModelInterpretation{ | |||
177 | else if(label == this.logicBooleanTrue) return true | 177 | else if(label == this.logicBooleanTrue) return true |
178 | else if(label == this.logicBooleanFalse) return false | 178 | else if(label == this.logicBooleanFalse) return false |
179 | else if(this.alloyAtom2LogicElement.containsKey(label)) return label.lookup(alloyAtom2LogicElement) | 179 | else if(this.alloyAtom2LogicElement.containsKey(label)) return label.lookup(alloyAtom2LogicElement) |
180 | else if(label.isString) return parseString(label) | ||
180 | else throw new IllegalArgumentException('''Unknown atom label: "«label»"!''') | 181 | else throw new IllegalArgumentException('''Unknown atom label: "«label»"!''') |
181 | } | 182 | } |
182 | def private isNumber(String s) { | 183 | def private isNumber(String s) { |
@@ -187,6 +188,12 @@ class AlloyModelInterpretation implements LogicModelInterpretation{ | |||
187 | return false | 188 | return false |
188 | } | 189 | } |
189 | } | 190 | } |
191 | def private isString(String label) { | ||
192 | label.startsWith("\"") && label.endsWith("\"") | ||
193 | } | ||
194 | def private parseString(String label) { | ||
195 | label.substring(1,label.length-1) | ||
196 | } | ||
190 | 197 | ||
191 | override getAllIntegersInStructure() { | 198 | override getAllIntegersInStructure() { |
192 | throw new UnsupportedOperationException("TODO: auto-generated method stub") | 199 | throw new UnsupportedOperationException("TODO: auto-generated method stub") |