diff options
author | 2024-03-05 22:01:10 +0100 | |
---|---|---|
committer | 2024-04-07 14:55:46 +0200 | |
commit | c14d8efd509f834b80573bc0339bb990698b265c (patch) | |
tree | dc3ca21785ea17bc75a861f373ee69ec64d6e97f /subprojects/language-model/src/main/resources/model/problem.genmodel | |
parent | feat(language): validate assignment expressions (diff) | |
download | refinery-c14d8efd509f834b80573bc0339bb990698b265c.tar.gz refinery-c14d8efd509f834b80573bc0339bb990698b265c.tar.zst refinery-c14d8efd509f834b80573bc0339bb990698b265c.zip |
feat(language): type inference
* Customizable operator overloads.
* Customizable aggregation operators.
* Simplify ProblemQualifiedNameProvider.
Diffstat (limited to 'subprojects/language-model/src/main/resources/model/problem.genmodel')
-rw-r--r-- | subprojects/language-model/src/main/resources/model/problem.genmodel | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/subprojects/language-model/src/main/resources/model/problem.genmodel b/subprojects/language-model/src/main/resources/model/problem.genmodel index 927ec609..2a1d8522 100644 --- a/subprojects/language-model/src/main/resources/model/problem.genmodel +++ b/subprojects/language-model/src/main/resources/model/problem.genmodel | |||
@@ -16,12 +16,6 @@ | |||
16 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/UNKNOWN"/> | 16 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/UNKNOWN"/> |
17 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/ERROR"/> | 17 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/ERROR"/> |
18 | </genEnums> | 18 | </genEnums> |
19 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//Modality"> | ||
20 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//Modality/DEFAULT"/> | ||
21 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//Modality/MAY"/> | ||
22 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//Modality/MUST"/> | ||
23 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//Modality/CURRENT"/> | ||
24 | </genEnums> | ||
25 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//ComparisonOp"> | 19 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//ComparisonOp"> |
26 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/LESS"/> | 20 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/LESS"/> |
27 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/LESS_EQ"/> | 21 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/LESS_EQ"/> |
@@ -30,10 +24,8 @@ | |||
30 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/EQ"/> | 24 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/EQ"/> |
31 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/NOT_EQ"/> | 25 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/NOT_EQ"/> |
32 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/IN"/> | 26 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/IN"/> |
33 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/SUBSUMES"/> | 27 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/NODE_EQ"/> |
34 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/SUBSUMED_BY"/> | 28 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/NODE_NOT_EQ"/> |
35 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/ABS_EQ"/> | ||
36 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/ABS_NOT_EQ"/> | ||
37 | </genEnums> | 29 | </genEnums> |
38 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//ReferenceKind"> | 30 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//ReferenceKind"> |
39 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/DEFAULT"/> | 31 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/DEFAULT"/> |
@@ -51,12 +43,9 @@ | |||
51 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/MUL"/> | 43 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/MUL"/> |
52 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/DIV"/> | 44 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/DIV"/> |
53 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/POW"/> | 45 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/POW"/> |
54 | </genEnums> | 46 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/AND"/> |
55 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//AggregationOp"> | 47 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/OR"/> |
56 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//AggregationOp/SUM"/> | 48 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/XOR"/> |
57 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//AggregationOp/PROD"/> | ||
58 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//AggregationOp/MIN"/> | ||
59 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//AggregationOp/MAX"/> | ||
60 | </genEnums> | 49 | </genEnums> |
61 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//ModuleKind"> | 50 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//ModuleKind"> |
62 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ModuleKind/PROBLEM"/> | 51 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ModuleKind/PROBLEM"/> |
@@ -200,7 +189,7 @@ | |||
200 | <genClasses ecoreClass="problem.ecore#//AggregationExpr"> | 189 | <genClasses ecoreClass="problem.ecore#//AggregationExpr"> |
201 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//AggregationExpr/value"/> | 190 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//AggregationExpr/value"/> |
202 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//AggregationExpr/condition"/> | 191 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//AggregationExpr/condition"/> |
203 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//AggregationExpr/op"/> | 192 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//AggregationExpr/aggregator"/> |
204 | </genClasses> | 193 | </genClasses> |
205 | <genClasses ecoreClass="problem.ecore#//ComparisonExpr"> | 194 | <genClasses ecoreClass="problem.ecore#//ComparisonExpr"> |
206 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ComparisonExpr/op"/> | 195 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ComparisonExpr/op"/> |
@@ -224,9 +213,6 @@ | |||
224 | <genClasses ecoreClass="problem.ecore#//NegationExpr"/> | 213 | <genClasses ecoreClass="problem.ecore#//NegationExpr"/> |
225 | <genClasses ecoreClass="problem.ecore#//CountExpr"/> | 214 | <genClasses ecoreClass="problem.ecore#//CountExpr"/> |
226 | <genClasses ecoreClass="problem.ecore#//Relation"/> | 215 | <genClasses ecoreClass="problem.ecore#//Relation"/> |
227 | <genClasses ecoreClass="problem.ecore#//ModalExpr"> | ||
228 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ModalExpr/modality"/> | ||
229 | </genClasses> | ||
230 | <genClasses ecoreClass="problem.ecore#//RangeExpr"/> | 216 | <genClasses ecoreClass="problem.ecore#//RangeExpr"/> |
231 | <genClasses ecoreClass="problem.ecore#//LogicConstant"> | 217 | <genClasses ecoreClass="problem.ecore#//LogicConstant"> |
232 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//LogicConstant/logicValue"/> | 218 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//LogicConstant/logicValue"/> |
@@ -244,5 +230,7 @@ | |||
244 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//CastExpr/targetType"/> | 230 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//CastExpr/targetType"/> |
245 | </genClasses> | 231 | </genClasses> |
246 | <genClasses ecoreClass="problem.ecore#//AssignmentExpr"/> | 232 | <genClasses ecoreClass="problem.ecore#//AssignmentExpr"/> |
233 | <genClasses ecoreClass="problem.ecore#//InfiniteConstant"/> | ||
234 | <genClasses ecoreClass="problem.ecore#//AggregatorDeclaration"/> | ||
247 | </genPackages> | 235 | </genPackages> |
248 | </genmodel:GenModel> | 236 | </genmodel:GenModel> |