diff options
author | Kristóf Marussy <marussy@mit.bme.hu> | 2020-05-19 21:18:06 +0200 |
---|---|---|
committer | Kristóf Marussy <marussy@mit.bme.hu> | 2020-05-19 21:18:06 +0200 |
commit | b3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b (patch) | |
tree | ad3222182065b8fac7d9b3d528c4efabf2aa0dd2 /Application/org.eclipse.viatra.solver.language/model | |
parent | Merge branch 'master' of github.com:viatra/VIATRA-Generator (diff) | |
download | VIATRA-Generator-b3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b.tar.gz VIATRA-Generator-b3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b.tar.zst VIATRA-Generator-b3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b.zip |
Config language WIP
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language/model')
-rw-r--r-- | Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore (renamed from Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore) | 106 | ||||
-rw-r--r-- | Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel (renamed from Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel) | 98 |
2 files changed, 145 insertions, 59 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore index bd516038..905e5a90 100644 --- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore +++ b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore | |||
@@ -26,38 +26,63 @@ | |||
26 | <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression" | 26 | <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression" |
27 | containment="true"/> | 27 | containment="true"/> |
28 | </eClassifiers> | 28 | </eClassifiers> |
29 | <eClassifiers xsi:type="ecore:EClass" name="ExternPredicateDefinition" eSuperTypes="#//Statement"> | ||
30 | <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/> | ||
31 | </eClassifiers> | ||
32 | <eClassifiers xsi:type="ecore:EEnum" name="MetricType"> | ||
33 | <eLiterals name="INT" literal="int"/> | ||
34 | <eLiterals name="REAL" value="1" literal="real"/> | ||
35 | </eClassifiers> | ||
36 | <eClassifiers xsi:type="ecore:EClass" name="MetricDefinition" eSuperTypes="#//Statement"> | 29 | <eClassifiers xsi:type="ecore:EClass" name="MetricDefinition" eSuperTypes="#//Statement"> |
37 | <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression" | 30 | <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression" |
38 | containment="true"/> | 31 | containment="true"/> |
39 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | 32 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" |
40 | containment="true"/> | 33 | containment="true"/> |
41 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//MetricType"/> | 34 | <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/> |
35 | </eClassifiers> | ||
36 | <eClassifiers xsi:type="ecore:EClass" name="ExternPredicateDefinition" eSuperTypes="#//Statement"> | ||
37 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
38 | <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList" | ||
39 | containment="true"/> | ||
42 | </eClassifiers> | 40 | </eClassifiers> |
43 | <eClassifiers xsi:type="ecore:EClass" name="ExternMetricDefinition" eSuperTypes="#//Statement"> | 41 | <eClassifiers xsi:type="ecore:EClass" name="ExternMetricDefinition" eSuperTypes="#//Statement"> |
44 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//MetricType"/> | 42 | <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/> |
45 | <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/> | 43 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
44 | <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList" | ||
45 | containment="true"/> | ||
46 | </eClassifiers> | ||
47 | <eClassifiers xsi:type="ecore:EClass" name="ExternAggregatorDefinition" eSuperTypes="#//Statement"> | ||
48 | <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/> | ||
49 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
50 | <eStructuralFeatures xsi:type="ecore:EReference" name="inputType" eType="#//NamedElement"/> | ||
51 | </eClassifiers> | ||
52 | <eClassifiers xsi:type="ecore:EClass" name="ExternDatatypeDefinition" eSuperTypes="#//Statement"> | ||
53 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
54 | <eStructuralFeatures xsi:type="ecore:EReference" name="supertypes" unique="false" | ||
55 | upperBound="-1" eType="#//NamedElement"/> | ||
46 | </eClassifiers> | 56 | </eClassifiers> |
47 | <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="#//Statement"/> | 57 | <eClassifiers xsi:type="ecore:EClass" name="NamedElement"> |
58 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
59 | </eClassifiers> | ||
60 | <eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true" eSuperTypes="#//Statement"/> | ||
48 | <eClassifiers xsi:type="ecore:EClass" name="IfElse" eSuperTypes="#//Expression"> | 61 | <eClassifiers xsi:type="ecore:EClass" name="IfElse" eSuperTypes="#//Expression"> |
49 | <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" | ||
50 | containment="true"/> | ||
51 | <eStructuralFeatures xsi:type="ecore:EReference" name="then" eType="#//Expression" | 62 | <eStructuralFeatures xsi:type="ecore:EReference" name="then" eType="#//Expression" |
52 | containment="true"/> | 63 | containment="true"/> |
53 | <eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//Expression" | 64 | <eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//Expression" |
54 | containment="true"/> | 65 | containment="true"/> |
55 | </eClassifiers> | ||
56 | <eClassifiers xsi:type="ecore:EClass" name="Case" eSuperTypes="#//Expression"> | ||
57 | <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" | 66 | <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" |
58 | containment="true"/> | 67 | containment="true"/> |
68 | </eClassifiers> | ||
69 | <eClassifiers xsi:type="ecore:EClass" name="Let" eSuperTypes="#//Expression"> | ||
70 | <eStructuralFeatures xsi:type="ecore:EReference" name="bindings" upperBound="-1" | ||
71 | eType="#//LetBinding" containment="true"/> | ||
72 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
73 | containment="true"/> | ||
74 | </eClassifiers> | ||
75 | <eClassifiers xsi:type="ecore:EClass" name="LetBinding"> | ||
76 | <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//NamedElement" | ||
77 | containment="true"/> | ||
78 | <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Expression" | ||
79 | containment="true"/> | ||
80 | </eClassifiers> | ||
81 | <eClassifiers xsi:type="ecore:EClass" name="Case" eSuperTypes="#//Expression"> | ||
59 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | 82 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" |
60 | containment="true"/> | 83 | containment="true"/> |
84 | <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" | ||
85 | containment="true"/> | ||
61 | </eClassifiers> | 86 | </eClassifiers> |
62 | <eClassifiers xsi:type="ecore:EEnum" name="BinaryOperator"> | 87 | <eClassifiers xsi:type="ecore:EEnum" name="BinaryOperator"> |
63 | <eLiterals name="EQ" literal="EQ"/> | 88 | <eLiterals name="EQ" literal="EQ"/> |
@@ -72,6 +97,7 @@ | |||
72 | <eLiterals name="MUL" value="9" literal="MUL"/> | 97 | <eLiterals name="MUL" value="9" literal="MUL"/> |
73 | <eLiterals name="DIV" value="10" literal="DIV"/> | 98 | <eLiterals name="DIV" value="10" literal="DIV"/> |
74 | <eLiterals name="POW" value="11" literal="POW"/> | 99 | <eLiterals name="POW" value="11" literal="POW"/> |
100 | <eLiterals name="IMPLIES" value="12"/> | ||
75 | </eClassifiers> | 101 | </eClassifiers> |
76 | <eClassifiers xsi:type="ecore:EEnum" name="UnaryOp"> | 102 | <eClassifiers xsi:type="ecore:EEnum" name="UnaryOp"> |
77 | <eLiterals name="NEG" literal="!"/> | 103 | <eLiterals name="NEG" literal="!"/> |
@@ -81,20 +107,21 @@ | |||
81 | <eLiterals name="MUST" value="4" literal="must"/> | 107 | <eLiterals name="MUST" value="4" literal="must"/> |
82 | <eLiterals name="CURRENT" value="5" literal="current"/> | 108 | <eLiterals name="CURRENT" value="5" literal="current"/> |
83 | </eClassifiers> | 109 | </eClassifiers> |
84 | <eClassifiers xsi:type="ecore:EClass" name="Count" eSuperTypes="#//Expression"> | 110 | <eClassifiers xsi:type="ecore:EClass" name="LocalVariables"> |
111 | <eStructuralFeatures xsi:type="ecore:EReference" name="variables" upperBound="-1" | ||
112 | eType="#//NamedElement" containment="true"/> | ||
113 | </eClassifiers> | ||
114 | <eClassifiers xsi:type="ecore:EClass" name="QuantifiedExpression" eSuperTypes="#//Expression"> | ||
115 | <eStructuralFeatures xsi:type="ecore:EReference" name="localVariables" eType="#//LocalVariables" | ||
116 | containment="true"/> | ||
85 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | 117 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" |
86 | containment="true"/> | 118 | containment="true"/> |
87 | </eClassifiers> | 119 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="quantifier" eType="#//Quantifier"/> |
88 | <eClassifiers xsi:type="ecore:EEnum" name="AggregationOp"> | ||
89 | <eLiterals name="ONLY" literal="only"/> | ||
90 | <eLiterals name="SUM" value="1" literal="sum"/> | ||
91 | <eLiterals name="PROD" value="2" literal="prod"/> | ||
92 | <eLiterals name="AVG" value="3" literal="avg"/> | ||
93 | <eLiterals name="MIN" value="4" literal="min"/> | ||
94 | <eLiterals name="MAX" value="5" literal="max"/> | ||
95 | </eClassifiers> | 120 | </eClassifiers> |
96 | <eClassifiers xsi:type="ecore:EClass" name="Aggregation" eSuperTypes="#//Expression"> | 121 | <eClassifiers xsi:type="ecore:EClass" name="Aggregation" eSuperTypes="#//Expression"> |
97 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//AggregationOp"/> | 122 | <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//NamedElement"/> |
123 | <eStructuralFeatures xsi:type="ecore:EReference" name="localVariables" eType="#//LocalVariables" | ||
124 | containment="true"/> | ||
98 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | 125 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" |
99 | containment="true"/> | 126 | containment="true"/> |
100 | <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" | 127 | <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" |
@@ -200,15 +227,15 @@ | |||
200 | <eStructuralFeatures xsi:type="ecore:EReference" name="objective" eType="#//Expression" | 227 | <eStructuralFeatures xsi:type="ecore:EReference" name="objective" eType="#//Expression" |
201 | containment="true"/> | 228 | containment="true"/> |
202 | </eClassifiers> | 229 | </eClassifiers> |
203 | <eClassifiers xsi:type="ecore:EClass" name="NamedElement"> | 230 | <eClassifiers xsi:type="ecore:EClass" name="Interpretation" eSuperTypes="#//Statement"> |
204 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
205 | </eClassifiers> | ||
206 | <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement"> | ||
207 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | 231 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" |
208 | containment="true"/> | 232 | containment="true"/> |
209 | <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression" | 233 | <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression" |
210 | containment="true"/> | 234 | containment="true"/> |
211 | </eClassifiers> | 235 | </eClassifiers> |
236 | <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//NamedElement"> | ||
237 | <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/> | ||
238 | </eClassifiers> | ||
212 | <eClassifiers xsi:type="ecore:EClass" name="Disjunction" eSuperTypes="#//Expression"> | 239 | <eClassifiers xsi:type="ecore:EClass" name="Disjunction" eSuperTypes="#//Expression"> |
213 | <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1" | 240 | <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1" |
214 | eType="#//Expression" containment="true"/> | 241 | eType="#//Expression" containment="true"/> |
@@ -235,9 +262,30 @@ | |||
235 | <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression" | 262 | <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression" |
236 | containment="true"/> | 263 | containment="true"/> |
237 | </eClassifiers> | 264 | </eClassifiers> |
265 | <eClassifiers xsi:type="ecore:EClass" name="CastExpression" eSuperTypes="#//Expression"> | ||
266 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
267 | containment="true"/> | ||
268 | <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/> | ||
269 | </eClassifiers> | ||
238 | <eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" eSuperTypes="#//Expression"> | 270 | <eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" eSuperTypes="#//Expression"> |
239 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//UnaryOp"/> | 271 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//UnaryOp"/> |
240 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | 272 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" |
241 | containment="true"/> | 273 | containment="true"/> |
242 | </eClassifiers> | 274 | </eClassifiers> |
275 | <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//NamedElement"> | ||
276 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="withId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
277 | </eClassifiers> | ||
278 | <eClassifiers xsi:type="ecore:EClass" name="Functor" abstract="true" eSuperTypes="#//NamedElement"> | ||
279 | <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" | ||
280 | eType="#//Variable"/> | ||
281 | </eClassifiers> | ||
282 | <eClassifiers xsi:type="ecore:EClass" name="Predicate" eSuperTypes="#//Functor"/> | ||
283 | <eClassifiers xsi:type="ecore:EClass" name="Metric" eSuperTypes="#//Functor"> | ||
284 | <eStructuralFeatures xsi:type="ecore:EReference" name="returnType" eType="#//NamedElement"/> | ||
285 | </eClassifiers> | ||
286 | <eClassifiers xsi:type="ecore:EEnum" name="Quantifier"> | ||
287 | <eLiterals name="EXISTS"/> | ||
288 | <eLiterals name="FORALL" value="1"/> | ||
289 | <eLiterals name="COUNT" value="2"/> | ||
290 | </eClassifiers> | ||
243 | </ecore:EPackage> | 291 | </ecore:EPackage> |
diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel index 53c17e2a..2325d668 100644 --- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel +++ b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel | |||
@@ -1,15 +1,13 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" | 2 | <genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" |
3 | xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="generated by Xtext 2.21.0" modelDirectory="/org.eclipse.viatra.solver.language/src-gen" | 3 | xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="generated by Xtext 2.21.0" modelDirectory="/org.eclipse.viatra.solver.language/ecore-gen" |
4 | modelPluginID="org.eclipse.viatra.solver.language" forceOverwrite="true" modelName="SolverLanguage" | 4 | modelPluginID="org.eclipse.viatra.solver.language" forceOverwrite="true" modelName="SolverLanguage" |
5 | updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" | 5 | updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" |
6 | complianceLevel="8.0" copyrightFields="false" runtimeVersion="2.20"> | 6 | importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false" |
7 | runtimeVersion="2.20"> | ||
8 | <foreignModel>SolverLanguage.ecore</foreignModel> | ||
7 | <genPackages prefix="SolverLanguage" basePackage="org.eclipse.viatra.solver.language" | 9 | <genPackages prefix="SolverLanguage" basePackage="org.eclipse.viatra.solver.language" |
8 | disposableProviderFactory="true" fileExtensions="vsc" ecorePackage="SolverLanguage.ecore#/"> | 10 | disposableProviderFactory="true" fileExtensions="vsc" ecorePackage="SolverLanguage.ecore#/"> |
9 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//MetricType"> | ||
10 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//MetricType/INT"/> | ||
11 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//MetricType/REAL"/> | ||
12 | </genEnums> | ||
13 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//BinaryOperator"> | 11 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//BinaryOperator"> |
14 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/EQ"/> | 12 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/EQ"/> |
15 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/NOT_EQ"/> | 13 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/NOT_EQ"/> |
@@ -23,6 +21,7 @@ | |||
23 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/MUL"/> | 21 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/MUL"/> |
24 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/DIV"/> | 22 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/DIV"/> |
25 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/POW"/> | 23 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/POW"/> |
24 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/IMPLIES"/> | ||
26 | </genEnums> | 25 | </genEnums> |
27 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//UnaryOp"> | 26 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//UnaryOp"> |
28 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/NEG"/> | 27 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/NEG"/> |
@@ -32,14 +31,6 @@ | |||
32 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MUST"/> | 31 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MUST"/> |
33 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/CURRENT"/> | 32 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/CURRENT"/> |
34 | </genEnums> | 33 | </genEnums> |
35 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//AggregationOp"> | ||
36 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/ONLY"/> | ||
37 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/SUM"/> | ||
38 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/PROD"/> | ||
39 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/AVG"/> | ||
40 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/MIN"/> | ||
41 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/MAX"/> | ||
42 | </genEnums> | ||
43 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//LogicValue"> | 34 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//LogicValue"> |
44 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/TRUE"/> | 35 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/TRUE"/> |
45 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/FALSE"/> | 36 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/FALSE"/> |
@@ -50,6 +41,11 @@ | |||
50 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MINIMIZE"/> | 41 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MINIMIZE"/> |
51 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MAXIMIZE"/> | 42 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MAXIMIZE"/> |
52 | </genEnums> | 43 | </genEnums> |
44 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//Quantifier"> | ||
45 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//Quantifier/EXISTS"/> | ||
46 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//Quantifier/FORALL"/> | ||
47 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//Quantifier/COUNT"/> | ||
48 | </genEnums> | ||
53 | <genClasses ecoreClass="SolverLanguage.ecore#//Problem"> | 49 | <genClasses ecoreClass="SolverLanguage.ecore#//Problem"> |
54 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Problem/statements"/> | 50 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Problem/statements"/> |
55 | </genClasses> | 51 | </genClasses> |
@@ -68,33 +64,61 @@ | |||
68 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/head"/> | 64 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/head"/> |
69 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/range"/> | 65 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/range"/> |
70 | </genClasses> | 66 | </genClasses> |
71 | <genClasses ecoreClass="SolverLanguage.ecore#//ExternPredicateDefinition"> | ||
72 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternPredicateDefinition/head"/> | ||
73 | </genClasses> | ||
74 | <genClasses ecoreClass="SolverLanguage.ecore#//MetricDefinition"> | 67 | <genClasses ecoreClass="SolverLanguage.ecore#//MetricDefinition"> |
75 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/head"/> | 68 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/head"/> |
76 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/body"/> | 69 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/body"/> |
77 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MetricDefinition/type"/> | 70 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/type"/> |
71 | </genClasses> | ||
72 | <genClasses ecoreClass="SolverLanguage.ecore#//ExternPredicateDefinition"> | ||
73 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternPredicateDefinition/name"/> | ||
74 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternPredicateDefinition/argumentList"/> | ||
78 | </genClasses> | 75 | </genClasses> |
79 | <genClasses ecoreClass="SolverLanguage.ecore#//ExternMetricDefinition"> | 76 | <genClasses ecoreClass="SolverLanguage.ecore#//ExternMetricDefinition"> |
80 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternMetricDefinition/type"/> | 77 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternMetricDefinition/type"/> |
81 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternMetricDefinition/head"/> | 78 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternMetricDefinition/name"/> |
79 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternMetricDefinition/argumentList"/> | ||
80 | </genClasses> | ||
81 | <genClasses ecoreClass="SolverLanguage.ecore#//ExternAggregatorDefinition"> | ||
82 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternAggregatorDefinition/type"/> | ||
83 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternAggregatorDefinition/name"/> | ||
84 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternAggregatorDefinition/inputType"/> | ||
85 | </genClasses> | ||
86 | <genClasses ecoreClass="SolverLanguage.ecore#//ExternDatatypeDefinition"> | ||
87 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternDatatypeDefinition/name"/> | ||
88 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternDatatypeDefinition/supertypes"/> | ||
89 | </genClasses> | ||
90 | <genClasses ecoreClass="SolverLanguage.ecore#//NamedElement"> | ||
91 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NamedElement/name"/> | ||
82 | </genClasses> | 92 | </genClasses> |
83 | <genClasses ecoreClass="SolverLanguage.ecore#//Expression"/> | 93 | <genClasses ecoreClass="SolverLanguage.ecore#//Expression"/> |
84 | <genClasses ecoreClass="SolverLanguage.ecore#//IfElse"> | 94 | <genClasses ecoreClass="SolverLanguage.ecore#//IfElse"> |
85 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/condition"/> | ||
86 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/then"/> | 95 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/then"/> |
87 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/else"/> | 96 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/else"/> |
97 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/condition"/> | ||
98 | </genClasses> | ||
99 | <genClasses ecoreClass="SolverLanguage.ecore#//Let"> | ||
100 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Let/bindings"/> | ||
101 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Let/body"/> | ||
102 | </genClasses> | ||
103 | <genClasses ecoreClass="SolverLanguage.ecore#//LetBinding"> | ||
104 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//LetBinding/variable"/> | ||
105 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//LetBinding/value"/> | ||
88 | </genClasses> | 106 | </genClasses> |
89 | <genClasses ecoreClass="SolverLanguage.ecore#//Case"> | 107 | <genClasses ecoreClass="SolverLanguage.ecore#//Case"> |
90 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/condition"/> | ||
91 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/body"/> | 108 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/body"/> |
109 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/condition"/> | ||
110 | </genClasses> | ||
111 | <genClasses ecoreClass="SolverLanguage.ecore#//LocalVariables"> | ||
112 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//LocalVariables/variables"/> | ||
92 | </genClasses> | 113 | </genClasses> |
93 | <genClasses ecoreClass="SolverLanguage.ecore#//Count"> | 114 | <genClasses ecoreClass="SolverLanguage.ecore#//QuantifiedExpression"> |
94 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Count/body"/> | 115 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//QuantifiedExpression/localVariables"/> |
116 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//QuantifiedExpression/body"/> | ||
117 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//QuantifiedExpression/quantifier"/> | ||
95 | </genClasses> | 118 | </genClasses> |
96 | <genClasses ecoreClass="SolverLanguage.ecore#//Aggregation"> | 119 | <genClasses ecoreClass="SolverLanguage.ecore#//Aggregation"> |
97 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Aggregation/op"/> | 120 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/op"/> |
121 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/localVariables"/> | ||
98 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/body"/> | 122 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/body"/> |
99 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/condition"/> | 123 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/condition"/> |
100 | </genClasses> | 124 | </genClasses> |
@@ -177,12 +201,12 @@ | |||
177 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ObjectiveDefinition/kind"/> | 201 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ObjectiveDefinition/kind"/> |
178 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ObjectiveDefinition/objective"/> | 202 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ObjectiveDefinition/objective"/> |
179 | </genClasses> | 203 | </genClasses> |
180 | <genClasses ecoreClass="SolverLanguage.ecore#//NamedElement"> | 204 | <genClasses ecoreClass="SolverLanguage.ecore#//Interpretation"> |
181 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NamedElement/name"/> | 205 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interpretation/body"/> |
206 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interpretation/range"/> | ||
182 | </genClasses> | 207 | </genClasses> |
183 | <genClasses ecoreClass="SolverLanguage.ecore#//Assertion"> | 208 | <genClasses ecoreClass="SolverLanguage.ecore#//Variable"> |
184 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Assertion/body"/> | 209 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Variable/type"/> |
185 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Assertion/range"/> | ||
186 | </genClasses> | 210 | </genClasses> |
187 | <genClasses ecoreClass="SolverLanguage.ecore#//Disjunction"> | 211 | <genClasses ecoreClass="SolverLanguage.ecore#//Disjunction"> |
188 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Disjunction/children"/> | 212 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Disjunction/children"/> |
@@ -203,9 +227,23 @@ | |||
203 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BinaryExpression/op"/> | 227 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BinaryExpression/op"/> |
204 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BinaryExpression/right"/> | 228 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BinaryExpression/right"/> |
205 | </genClasses> | 229 | </genClasses> |
230 | <genClasses ecoreClass="SolverLanguage.ecore#//CastExpression"> | ||
231 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//CastExpression/body"/> | ||
232 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//CastExpression/type"/> | ||
233 | </genClasses> | ||
206 | <genClasses ecoreClass="SolverLanguage.ecore#//UnaryExpression"> | 234 | <genClasses ecoreClass="SolverLanguage.ecore#//UnaryExpression"> |
207 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//UnaryExpression/op"/> | 235 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//UnaryExpression/op"/> |
208 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnaryExpression/body"/> | 236 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnaryExpression/body"/> |
209 | </genClasses> | 237 | </genClasses> |
238 | <genClasses ecoreClass="SolverLanguage.ecore#//Node"> | ||
239 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Node/withId"/> | ||
240 | </genClasses> | ||
241 | <genClasses image="false" ecoreClass="SolverLanguage.ecore#//Functor"> | ||
242 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Functor/parameters"/> | ||
243 | </genClasses> | ||
244 | <genClasses ecoreClass="SolverLanguage.ecore#//Predicate"/> | ||
245 | <genClasses ecoreClass="SolverLanguage.ecore#//Metric"> | ||
246 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Metric/returnType"/> | ||
247 | </genClasses> | ||
210 | </genPackages> | 248 | </genPackages> |
211 | </genmodel:GenModel> | 249 | </genmodel:GenModel> |