diff options
author | Kristóf Marussy <marussy@mit.bme.hu> | 2020-05-08 18:28:19 +0200 |
---|---|---|
committer | Kristóf Marussy <marussy@mit.bme.hu> | 2020-05-08 18:28:19 +0200 |
commit | 419e76265ecbdf65e960e0624be006d31ed1e191 (patch) | |
tree | dad200fe9fd0beae7adde969206b77691a51b85a /Application/org.eclipse.viatra.solver.language/model/generated | |
parent | Fix check expressions in generated VIATRA (diff) | |
download | VIATRA-Generator-419e76265ecbdf65e960e0624be006d31ed1e191.tar.gz VIATRA-Generator-419e76265ecbdf65e960e0624be006d31ed1e191.tar.zst VIATRA-Generator-419e76265ecbdf65e960e0624be006d31ed1e191.zip |
Update solver language grammar
First version, still needs TokenSource and Linker to work.
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language/model/generated')
-rw-r--r-- | Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore | 302 | ||||
-rw-r--r-- | Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel | 313 |
2 files changed, 394 insertions, 221 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore index c18e4184..aa1c579f 100644 --- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore +++ b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore | |||
@@ -6,147 +6,237 @@ | |||
6 | <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1" | 6 | <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1" |
7 | eType="#//Statement" containment="true"/> | 7 | eType="#//Statement" containment="true"/> |
8 | </eClassifiers> | 8 | </eClassifiers> |
9 | <eClassifiers xsi:type="ecore:EClass" name="Statement"/> | 9 | <eClassifiers xsi:type="ecore:EClass" name="Statement"> |
10 | <eClassifiers xsi:type="ecore:EClass" name="BooleanValue"/> | 10 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
11 | <eClassifiers xsi:type="ecore:EClass" name="TruthValue"/> | ||
12 | <eClassifiers xsi:type="ecore:EClass" name="Interpretation" eSuperTypes="#//Statement"/> | ||
13 | <eClassifiers xsi:type="ecore:EClass" name="BasicInterpretation" eSuperTypes="#//Interpretation"> | ||
14 | <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//Symbol" | ||
15 | containment="true"/> | ||
16 | <eStructuralFeatures xsi:type="ecore:EReference" name="objects" upperBound="-1" | ||
17 | eType="#//ComplexObject" containment="true"/> | ||
18 | <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//TruthValue" | ||
19 | containment="true"/> | ||
20 | </eClassifiers> | ||
21 | <eClassifiers xsi:type="ecore:EClass" name="Symbol"/> | ||
22 | <eClassifiers xsi:type="ecore:EClass" name="ModelSymbol" eSuperTypes="#//Symbol"> | ||
23 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
24 | </eClassifiers> | ||
25 | <eClassifiers xsi:type="ecore:EClass" name="PartialitySymbol" eSuperTypes="#//Symbol"/> | ||
26 | <eClassifiers xsi:type="ecore:EClass" name="ExistSymbol" eSuperTypes="#//PartialitySymbol"/> | ||
27 | <eClassifiers xsi:type="ecore:EClass" name="EqualsSymbol" eSuperTypes="#//PartialitySymbol"/> | ||
28 | <eClassifiers xsi:type="ecore:EClass" name="DataSymbol" eSuperTypes="#//Symbol"/> | ||
29 | <eClassifiers xsi:type="ecore:EClass" name="BooleanSymbol" eSuperTypes="#//DataSymbol"/> | ||
30 | <eClassifiers xsi:type="ecore:EClass" name="IntegerSymbol" eSuperTypes="#//DataSymbol"/> | ||
31 | <eClassifiers xsi:type="ecore:EClass" name="RealSymbol" eSuperTypes="#//DataSymbol"/> | ||
32 | <eClassifiers xsi:type="ecore:EClass" name="StringSymbol" eSuperTypes="#//DataSymbol"/> | ||
33 | <eClassifiers xsi:type="ecore:EClass" name="ComplexObject"/> | ||
34 | <eClassifiers xsi:type="ecore:EClass" name="Object" eSuperTypes="#//ComplexObject"/> | ||
35 | <eClassifiers xsi:type="ecore:EClass" name="NamedObject" eSuperTypes="#//Object #//Literal"> | ||
36 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | 11 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
12 | <eStructuralFeatures xsi:type="ecore:EReference" name="superclasses" unique="false" | ||
13 | upperBound="-1" eType="#//NamedElement"/> | ||
14 | <eStructuralFeatures xsi:type="ecore:EReference" name="members" upperBound="-1" | ||
15 | eType="#//MemberDefinition" containment="true"/> | ||
37 | </eClassifiers> | 16 | </eClassifiers> |
38 | <eClassifiers xsi:type="ecore:EClass" name="UnnamedObject" eSuperTypes="#//Object"> | 17 | <eClassifiers xsi:type="ecore:EClass" name="PredicateDefinition" eSuperTypes="#//Statement"> |
39 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | 18 | <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression" |
19 | containment="true"/> | ||
20 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
21 | containment="true"/> | ||
22 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="functional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
23 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="error" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
40 | </eClassifiers> | 24 | </eClassifiers> |
41 | <eClassifiers xsi:type="ecore:EClass" name="DataObject" eSuperTypes="#//Object #//Literal"/> | 25 | <eClassifiers xsi:type="ecore:EClass" name="UnnamedErrorPrediateDefinition" eSuperTypes="#//Statement"> |
42 | <eClassifiers xsi:type="ecore:EClass" name="BooleanObject" eSuperTypes="#//DataObject"> | 26 | <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList" |
43 | <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//BooleanValue" | 27 | containment="true"/> |
28 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
44 | containment="true"/> | 29 | containment="true"/> |
45 | </eClassifiers> | 30 | </eClassifiers> |
46 | <eClassifiers xsi:type="ecore:EClass" name="IntObject" eSuperTypes="#//DataObject"> | 31 | <eClassifiers xsi:type="ecore:EClass" name="DefaultDefinition" eSuperTypes="#//Statement"> |
47 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | 32 | <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/> |
33 | <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression" | ||
34 | containment="true"/> | ||
48 | </eClassifiers> | 35 | </eClassifiers> |
49 | <eClassifiers xsi:type="ecore:EClass" name="RealObject" eSuperTypes="#//DataObject"> | 36 | <eClassifiers xsi:type="ecore:EClass" name="ExternPredicateDefinition" eSuperTypes="#//Statement"> |
50 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/> | 37 | <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/> |
51 | </eClassifiers> | 38 | </eClassifiers> |
52 | <eClassifiers xsi:type="ecore:EClass" name="StringObject" eSuperTypes="#//DataObject"> | 39 | <eClassifiers xsi:type="ecore:EEnum" name="MetricType"> |
53 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | 40 | <eLiterals name="INT" literal="int"/> |
41 | <eLiterals name="REAL" value="1" literal="real"/> | ||
54 | </eClassifiers> | 42 | </eClassifiers> |
55 | <eClassifiers xsi:type="ecore:EClass" name="Predicate" eSuperTypes="#//Statement"> | 43 | <eClassifiers xsi:type="ecore:EClass" name="MetricDefinition" eSuperTypes="#//Statement"> |
56 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="isError" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | 44 | <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression" |
57 | <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" | 45 | containment="true"/> |
46 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
58 | containment="true"/> | 47 | containment="true"/> |
59 | <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" | 48 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//MetricType"/> |
60 | eType="#//Parameter" containment="true"/> | ||
61 | <eStructuralFeatures xsi:type="ecore:EReference" name="bodies" upperBound="-1" | ||
62 | eType="#//PatternBody" containment="true"/> | ||
63 | </eClassifiers> | 49 | </eClassifiers> |
64 | <eClassifiers xsi:type="ecore:EClass" name="Parameter"> | 50 | <eClassifiers xsi:type="ecore:EClass" name="ExternMetricDefinition" eSuperTypes="#//Statement"> |
65 | <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//Variable" | 51 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//MetricType"/> |
52 | <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/> | ||
53 | </eClassifiers> | ||
54 | <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="#//Statement"/> | ||
55 | <eClassifiers xsi:type="ecore:EClass" name="IfElse" eSuperTypes="#//Expression"> | ||
56 | <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" | ||
66 | containment="true"/> | 57 | containment="true"/> |
67 | <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Symbol" | 58 | <eStructuralFeatures xsi:type="ecore:EReference" name="then" eType="#//Expression" |
59 | containment="true"/> | ||
60 | <eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//Expression" | ||
68 | containment="true"/> | 61 | containment="true"/> |
69 | </eClassifiers> | 62 | </eClassifiers> |
70 | <eClassifiers xsi:type="ecore:EClass" name="PatternBody"> | 63 | <eClassifiers xsi:type="ecore:EClass" name="Case" eSuperTypes="#//Expression"> |
71 | <eStructuralFeatures xsi:type="ecore:EReference" name="constraints" upperBound="-1" | 64 | <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" |
72 | eType="#//Constraint" containment="true"/> | ||
73 | </eClassifiers> | ||
74 | <eClassifiers xsi:type="ecore:EClass" name="Polarity"/> | ||
75 | <eClassifiers xsi:type="ecore:EClass" name="Constraint"> | ||
76 | <eStructuralFeatures xsi:type="ecore:EReference" name="polarity" eType="#//Polarity" | ||
77 | containment="true"/> | 65 | containment="true"/> |
78 | <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" | 66 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" |
79 | containment="true"/> | 67 | containment="true"/> |
80 | <eStructuralFeatures xsi:type="ecore:EReference" name="params" upperBound="-1" | 68 | </eClassifiers> |
81 | eType="#//Literal" containment="true"/> | 69 | <eClassifiers xsi:type="ecore:EEnum" name="BinaryOperator"> |
82 | <eStructuralFeatures xsi:type="ecore:EReference" name="closureType" eType="#//ClosureType" | 70 | <eLiterals name="EQ" literal="EQ"/> |
71 | <eLiterals name="NOT_EQ" value="1" literal="NOT_EQ"/> | ||
72 | <eLiterals name="LESS" value="2" literal="LESS"/> | ||
73 | <eLiterals name="LESS_EQ" value="3" literal="LESS_EQ"/> | ||
74 | <eLiterals name="GREATER" value="4" literal="GREATER"/> | ||
75 | <eLiterals name="GREATER_EQ" value="5" literal="GREATER_EQ"/> | ||
76 | <eLiterals name="IN" value="6" literal="IN"/> | ||
77 | <eLiterals name="ADD" value="7" literal="ADD"/> | ||
78 | <eLiterals name="SUB" value="8" literal="SUB"/> | ||
79 | <eLiterals name="MUL" value="9" literal="MUL"/> | ||
80 | <eLiterals name="DIV" value="10" literal="DIV"/> | ||
81 | <eLiterals name="POW" value="11" literal="POW"/> | ||
82 | </eClassifiers> | ||
83 | <eClassifiers xsi:type="ecore:EEnum" name="UnaryOp"> | ||
84 | <eLiterals name="NEG" literal="!"/> | ||
85 | <eLiterals name="PLUS" value="1" literal="+"/> | ||
86 | <eLiterals name="MINUS" value="2" literal="-"/> | ||
87 | <eLiterals name="MAY" value="3" literal="may"/> | ||
88 | <eLiterals name="MUST" value="4" literal="must"/> | ||
89 | <eLiterals name="CURRENT" value="5" literal="current"/> | ||
90 | </eClassifiers> | ||
91 | <eClassifiers xsi:type="ecore:EClass" name="Count" eSuperTypes="#//Expression"> | ||
92 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
83 | containment="true"/> | 93 | containment="true"/> |
84 | </eClassifiers> | 94 | </eClassifiers> |
85 | <eClassifiers xsi:type="ecore:EClass" name="ClosureType"/> | 95 | <eClassifiers xsi:type="ecore:EEnum" name="AggregationOp"> |
86 | <eClassifiers xsi:type="ecore:EClass" name="Literal"/> | 96 | <eLiterals name="ONLY" literal="only"/> |
87 | <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//Literal"> | 97 | <eLiterals name="SUM" value="1" literal="sum"/> |
88 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | 98 | <eLiterals name="PROD" value="2" literal="prod"/> |
99 | <eLiterals name="AVG" value="3" literal="avg"/> | ||
100 | <eLiterals name="MIN" value="4" literal="min"/> | ||
101 | <eLiterals name="MAX" value="5" literal="max"/> | ||
89 | </eClassifiers> | 102 | </eClassifiers> |
90 | <eClassifiers xsi:type="ecore:EClass" name="AllInstances" eSuperTypes="#//ComplexObject"> | 103 | <eClassifiers xsi:type="ecore:EClass" name="Aggregation" eSuperTypes="#//Expression"> |
91 | <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//Symbol" | 104 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//AggregationOp"/> |
105 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
106 | containment="true"/> | ||
107 | <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" | ||
92 | containment="true"/> | 108 | containment="true"/> |
93 | </eClassifiers> | 109 | </eClassifiers> |
94 | <eClassifiers xsi:type="ecore:EClass" name="AllObjects" eSuperTypes="#//ComplexObject"/> | 110 | <eClassifiers xsi:type="ecore:EClass" name="Call" eSuperTypes="#//Expression"> |
95 | <eClassifiers xsi:type="ecore:EClass" name="DefaultInterpretation" eSuperTypes="#//Interpretation"> | 111 | <eStructuralFeatures xsi:type="ecore:EReference" name="functor" eType="#//Reference" |
96 | <eStructuralFeatures xsi:type="ecore:EReference" name="interpretation" eType="#//BasicInterpretation" | 112 | containment="true"/> |
113 | <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList" | ||
97 | containment="true"/> | 114 | containment="true"/> |
115 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
116 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="reflexiveTransitiveClosure" | ||
117 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
98 | </eClassifiers> | 118 | </eClassifiers> |
99 | <eClassifiers xsi:type="ecore:EClass" name="CDInterpretation" eSuperTypes="#//Interpretation"/> | 119 | <eClassifiers xsi:type="ecore:EClass" name="ArgumentList"> |
100 | <eClassifiers xsi:type="ecore:EClass" name="ClassInterpretation" eSuperTypes="#//CDInterpretation"> | 120 | <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" |
101 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | 121 | eType="#//Argument" containment="true"/> |
102 | <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" | 122 | </eClassifiers> |
123 | <eClassifiers xsi:type="ecore:EClass" name="Argument"/> | ||
124 | <eClassifiers xsi:type="ecore:EClass" name="ExpressionArgument" eSuperTypes="#//Argument"> | ||
125 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
103 | containment="true"/> | 126 | containment="true"/> |
104 | <eStructuralFeatures xsi:type="ecore:EReference" name="supertypes" upperBound="-1" | ||
105 | eType="#//ModelSymbol" containment="true"/> | ||
106 | <eStructuralFeatures xsi:type="ecore:EReference" name="fielt" upperBound="-1" | ||
107 | eType="#//FieldRelationInterpretation" containment="true"/> | ||
108 | </eClassifiers> | 127 | </eClassifiers> |
109 | <eClassifiers xsi:type="ecore:EClass" name="EnumInterpretation" eSuperTypes="#//CDInterpretation"> | 128 | <eClassifiers xsi:type="ecore:EClass" name="StarArgument" eSuperTypes="#//Argument"/> |
110 | <eStructuralFeatures xsi:type="ecore:EReference" name="Symbol" eType="#//ModelSymbol" | 129 | <eClassifiers xsi:type="ecore:EClass" name="TypedArgument" eSuperTypes="#//Argument"> |
130 | <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/> | ||
131 | <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//NamedElement"/> | ||
132 | </eClassifiers> | ||
133 | <eClassifiers xsi:type="ecore:EClass" name="TypedStarArgument" eSuperTypes="#//Argument"> | ||
134 | <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/> | ||
135 | </eClassifiers> | ||
136 | <eClassifiers xsi:type="ecore:EClass" name="Reference" eSuperTypes="#//Expression"> | ||
137 | <eStructuralFeatures xsi:type="ecore:EReference" name="referred" eType="#//NamedElement"/> | ||
138 | </eClassifiers> | ||
139 | <eClassifiers xsi:type="ecore:EClass" name="Interval" eSuperTypes="#//Expression"> | ||
140 | <eStructuralFeatures xsi:type="ecore:EReference" name="lowerBound" eType="#//Expression" | ||
111 | containment="true"/> | 141 | containment="true"/> |
112 | <eStructuralFeatures xsi:type="ecore:EReference" name="objects" upperBound="-1" | 142 | <eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" eType="#//Expression" |
113 | eType="#//NamedObject" containment="true"/> | 143 | containment="true"/> |
144 | </eClassifiers> | ||
145 | <eClassifiers xsi:type="ecore:EClass" name="Literal" eSuperTypes="#//Expression"/> | ||
146 | <eClassifiers xsi:type="ecore:EEnum" name="LogicValue"> | ||
147 | <eLiterals name="TRUE" literal="true"/> | ||
148 | <eLiterals name="FALSE" value="1" literal="false"/> | ||
149 | <eLiterals name="UNKNOWN" value="2" literal="unknown"/> | ||
150 | <eLiterals name="ERROR" value="3" literal="error"/> | ||
151 | </eClassifiers> | ||
152 | <eClassifiers xsi:type="ecore:EClass" name="LogicLiteral" eSuperTypes="#//Literal"> | ||
153 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/> | ||
154 | </eClassifiers> | ||
155 | <eClassifiers xsi:type="ecore:EClass" name="NumericLiteral" eSuperTypes="#//Literal"> | ||
156 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/> | ||
157 | </eClassifiers> | ||
158 | <eClassifiers xsi:type="ecore:EClass" name="InfinityLiteral" eSuperTypes="#//Literal"/> | ||
159 | <eClassifiers xsi:type="ecore:EClass" name="EmptyIntervalLiteral" eSuperTypes="#//Literal"/> | ||
160 | <eClassifiers xsi:type="ecore:EClass" name="StringLiteral" eSuperTypes="#//Literal"> | ||
161 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
114 | </eClassifiers> | 162 | </eClassifiers> |
115 | <eClassifiers xsi:type="ecore:EClass" name="FieldRelationInterpretation"> | 163 | <eClassifiers xsi:type="ecore:EClass" name="MemberDefinition"> |
116 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | 164 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
117 | <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" | 165 | <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/> |
166 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" | ||
118 | containment="true"/> | 167 | containment="true"/> |
119 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//MultiplicityDefinition" | 168 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
120 | containment="true"/> | 169 | <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//NamedElement"/> |
121 | <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Symbol" | 170 | </eClassifiers> |
171 | <eClassifiers xsi:type="ecore:EClass" name="Multiplicity"/> | ||
172 | <eClassifiers xsi:type="ecore:EClass" name="ManyMultiplicity" eSuperTypes="#//Multiplicity"/> | ||
173 | <eClassifiers xsi:type="ecore:EClass" name="ExactMultiplicity" eSuperTypes="#//Multiplicity"> | ||
174 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
175 | </eClassifiers> | ||
176 | <eClassifiers xsi:type="ecore:EClass" name="BoundedMultiplicity" eSuperTypes="#//Multiplicity"> | ||
177 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
178 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
179 | </eClassifiers> | ||
180 | <eClassifiers xsi:type="ecore:EClass" name="ScopeDefinition" eSuperTypes="#//Statement"> | ||
181 | <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/> | ||
182 | </eClassifiers> | ||
183 | <eClassifiers xsi:type="ecore:EClass" name="ExactScopeDefinition" eSuperTypes="#//ScopeDefinition"> | ||
184 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactScope" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
185 | </eClassifiers> | ||
186 | <eClassifiers xsi:type="ecore:EClass" name="BoundedScopeDefinition" eSuperTypes="#//ScopeDefinition"> | ||
187 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
188 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
189 | </eClassifiers> | ||
190 | <eClassifiers xsi:type="ecore:EClass" name="LowerBoundedScopeDefinition" eSuperTypes="#//ScopeDefinition"> | ||
191 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
192 | </eClassifiers> | ||
193 | <eClassifiers xsi:type="ecore:EEnum" name="ObjectiveKind"> | ||
194 | <eLiterals name="MINIMIZE" literal="minimize"/> | ||
195 | <eLiterals name="MAXIMIZE" value="1" literal="maximize"/> | ||
196 | </eClassifiers> | ||
197 | <eClassifiers xsi:type="ecore:EClass" name="ObjectiveDefinition" eSuperTypes="#//Statement"> | ||
198 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//ObjectiveKind"/> | ||
199 | <eStructuralFeatures xsi:type="ecore:EReference" name="objective" eType="#//Expression" | ||
122 | containment="true"/> | 200 | containment="true"/> |
123 | </eClassifiers> | 201 | </eClassifiers> |
124 | <eClassifiers xsi:type="ecore:EClass" name="GlobalRelationInterpretation" eSuperTypes="#//CDInterpretation"> | 202 | <eClassifiers xsi:type="ecore:EClass" name="NamedElement"> |
125 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | 203 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
126 | <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" | 204 | </eClassifiers> |
205 | <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement"> | ||
206 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
127 | containment="true"/> | 207 | containment="true"/> |
128 | <eStructuralFeatures xsi:type="ecore:EReference" name="sourceMultiplicity" eType="#//MultiplicityDefinition" | 208 | <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression" |
129 | containment="true"/> | 209 | containment="true"/> |
130 | <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//Symbol" | 210 | </eClassifiers> |
211 | <eClassifiers xsi:type="ecore:EClass" name="Disjunction" eSuperTypes="#//Expression"> | ||
212 | <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1" | ||
213 | eType="#//Expression" containment="true"/> | ||
214 | </eClassifiers> | ||
215 | <eClassifiers xsi:type="ecore:EClass" name="Switch" eSuperTypes="#//Expression"> | ||
216 | <eStructuralFeatures xsi:type="ecore:EReference" name="cases" upperBound="-1" | ||
217 | eType="#//Case" containment="true"/> | ||
218 | </eClassifiers> | ||
219 | <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//Expression"> | ||
220 | <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1" | ||
221 | eType="#//Expression" containment="true"/> | ||
222 | </eClassifiers> | ||
223 | <eClassifiers xsi:type="ecore:EClass" name="Comparison" eSuperTypes="#//Expression"> | ||
224 | <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression" | ||
131 | containment="true"/> | 225 | containment="true"/> |
132 | <eStructuralFeatures xsi:type="ecore:EReference" name="targetMultiplicity" eType="#//MultiplicityDefinition" | 226 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//BinaryOperator"/> |
227 | <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression" | ||
133 | containment="true"/> | 228 | containment="true"/> |
134 | <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Symbol" | 229 | </eClassifiers> |
230 | <eClassifiers xsi:type="ecore:EClass" name="BinaryExpression" eSuperTypes="#//Expression"> | ||
231 | <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression" | ||
232 | containment="true"/> | ||
233 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//BinaryOperator"/> | ||
234 | <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression" | ||
135 | containment="true"/> | 235 | containment="true"/> |
136 | </eClassifiers> | 236 | </eClassifiers> |
137 | <eClassifiers xsi:type="ecore:EClass" name="MultiplicityDefinition"> | 237 | <eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" eSuperTypes="#//Expression"> |
138 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | 238 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//UnaryOp"/> |
139 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | 239 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" |
140 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="unlimitedUpper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | 240 | containment="true"/> |
141 | </eClassifiers> | 241 | </eClassifiers> |
142 | <eClassifiers xsi:type="ecore:EClass" name="BooleanTrue" eSuperTypes="#//BooleanValue"/> | ||
143 | <eClassifiers xsi:type="ecore:EClass" name="BooleanFalse" eSuperTypes="#//BooleanValue"/> | ||
144 | <eClassifiers xsi:type="ecore:EClass" name="True" eSuperTypes="#//TruthValue"/> | ||
145 | <eClassifiers xsi:type="ecore:EClass" name="False" eSuperTypes="#//TruthValue"/> | ||
146 | <eClassifiers xsi:type="ecore:EClass" name="Unknown" eSuperTypes="#//TruthValue"/> | ||
147 | <eClassifiers xsi:type="ecore:EClass" name="Error" eSuperTypes="#//TruthValue"/> | ||
148 | <eClassifiers xsi:type="ecore:EClass" name="Positive" eSuperTypes="#//Polarity"/> | ||
149 | <eClassifiers xsi:type="ecore:EClass" name="Negative" eSuperTypes="#//Polarity"/> | ||
150 | <eClassifiers xsi:type="ecore:EClass" name="ReflexiveClosure" eSuperTypes="#//ClosureType"/> | ||
151 | <eClassifiers xsi:type="ecore:EClass" name="IrreflexiveClosure" eSuperTypes="#//ClosureType"/> | ||
152 | </ecore:EPackage> | 242 | </ecore:EPackage> |
diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel index 1da7a172..4c88d381 100644 --- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel +++ b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel | |||
@@ -1,127 +1,210 @@ | |||
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.18.0.M3" 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/src-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="6.0" copyrightFields="false" runtimeVersion="2.18"> | 6 | complianceLevel="8.0" copyrightFields="false" runtimeVersion="2.20"> |
7 | <genPackages prefix="SolverLanguage" basePackage="org.eclipse.viatra.solver.language" | 7 | <genPackages prefix="SolverLanguage" basePackage="org.eclipse.viatra.solver.language" |
8 | disposableProviderFactory="true" fileExtensions="vsc" ecorePackage="SolverLanguage.ecore#/"> | 8 | 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"> | ||
14 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/EQ"/> | ||
15 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/NOT_EQ"/> | ||
16 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/LESS"/> | ||
17 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/LESS_EQ"/> | ||
18 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/GREATER"/> | ||
19 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/GREATER_EQ"/> | ||
20 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/IN"/> | ||
21 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/ADD"/> | ||
22 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/SUB"/> | ||
23 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/MUL"/> | ||
24 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/DIV"/> | ||
25 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/POW"/> | ||
26 | </genEnums> | ||
27 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//UnaryOp"> | ||
28 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/NEG"/> | ||
29 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/PLUS"/> | ||
30 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MINUS"/> | ||
31 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MAY"/> | ||
32 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MUST"/> | ||
33 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/CURRENT"/> | ||
34 | </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"> | ||
44 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/TRUE"/> | ||
45 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/FALSE"/> | ||
46 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/UNKNOWN"/> | ||
47 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/ERROR"/> | ||
48 | </genEnums> | ||
49 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//ObjectiveKind"> | ||
50 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MINIMIZE"/> | ||
51 | <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MAXIMIZE"/> | ||
52 | </genEnums> | ||
9 | <genClasses ecoreClass="SolverLanguage.ecore#//Problem"> | 53 | <genClasses ecoreClass="SolverLanguage.ecore#//Problem"> |
10 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Problem/statements"/> | 54 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Problem/statements"/> |
11 | </genClasses> | 55 | </genClasses> |
12 | <genClasses ecoreClass="SolverLanguage.ecore#//Statement"/> | 56 | <genClasses ecoreClass="SolverLanguage.ecore#//Statement"> |
13 | <genClasses ecoreClass="SolverLanguage.ecore#//BooleanValue"/> | 57 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Statement/abstract"/> |
14 | <genClasses ecoreClass="SolverLanguage.ecore#//TruthValue"/> | 58 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Statement/name"/> |
15 | <genClasses ecoreClass="SolverLanguage.ecore#//Interpretation"/> | 59 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Statement/superclasses"/> |
16 | <genClasses ecoreClass="SolverLanguage.ecore#//BasicInterpretation"> | 60 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Statement/members"/> |
17 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BasicInterpretation/symbol"/> | 61 | </genClasses> |
18 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BasicInterpretation/objects"/> | 62 | <genClasses ecoreClass="SolverLanguage.ecore#//PredicateDefinition"> |
19 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BasicInterpretation/value"/> | 63 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//PredicateDefinition/head"/> |
20 | </genClasses> | 64 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//PredicateDefinition/body"/> |
21 | <genClasses ecoreClass="SolverLanguage.ecore#//Symbol"/> | 65 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//PredicateDefinition/functional"/> |
22 | <genClasses ecoreClass="SolverLanguage.ecore#//ModelSymbol"> | 66 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//PredicateDefinition/error"/> |
23 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ModelSymbol/name"/> | 67 | </genClasses> |
24 | </genClasses> | 68 | <genClasses ecoreClass="SolverLanguage.ecore#//UnnamedErrorPrediateDefinition"> |
25 | <genClasses ecoreClass="SolverLanguage.ecore#//PartialitySymbol"/> | 69 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnnamedErrorPrediateDefinition/argumentList"/> |
26 | <genClasses ecoreClass="SolverLanguage.ecore#//ExistSymbol"/> | 70 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnnamedErrorPrediateDefinition/body"/> |
27 | <genClasses ecoreClass="SolverLanguage.ecore#//EqualsSymbol"/> | 71 | </genClasses> |
28 | <genClasses ecoreClass="SolverLanguage.ecore#//DataSymbol"/> | 72 | <genClasses ecoreClass="SolverLanguage.ecore#//DefaultDefinition"> |
29 | <genClasses ecoreClass="SolverLanguage.ecore#//BooleanSymbol"/> | 73 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/head"/> |
30 | <genClasses ecoreClass="SolverLanguage.ecore#//IntegerSymbol"/> | 74 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/range"/> |
31 | <genClasses ecoreClass="SolverLanguage.ecore#//RealSymbol"/> | 75 | </genClasses> |
32 | <genClasses ecoreClass="SolverLanguage.ecore#//StringSymbol"/> | 76 | <genClasses ecoreClass="SolverLanguage.ecore#//ExternPredicateDefinition"> |
33 | <genClasses ecoreClass="SolverLanguage.ecore#//ComplexObject"/> | 77 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternPredicateDefinition/head"/> |
34 | <genClasses ecoreClass="SolverLanguage.ecore#//Object"/> | 78 | </genClasses> |
35 | <genClasses ecoreClass="SolverLanguage.ecore#//NamedObject"> | 79 | <genClasses ecoreClass="SolverLanguage.ecore#//MetricDefinition"> |
36 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NamedObject/name"/> | 80 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/head"/> |
37 | </genClasses> | 81 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/body"/> |
38 | <genClasses ecoreClass="SolverLanguage.ecore#//UnnamedObject"> | 82 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MetricDefinition/type"/> |
39 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//UnnamedObject/name"/> | 83 | </genClasses> |
40 | </genClasses> | 84 | <genClasses ecoreClass="SolverLanguage.ecore#//ExternMetricDefinition"> |
41 | <genClasses ecoreClass="SolverLanguage.ecore#//DataObject"/> | 85 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternMetricDefinition/type"/> |
42 | <genClasses ecoreClass="SolverLanguage.ecore#//BooleanObject"> | 86 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternMetricDefinition/head"/> |
43 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BooleanObject/value"/> | 87 | </genClasses> |
44 | </genClasses> | 88 | <genClasses ecoreClass="SolverLanguage.ecore#//Expression"/> |
45 | <genClasses ecoreClass="SolverLanguage.ecore#//IntObject"> | 89 | <genClasses ecoreClass="SolverLanguage.ecore#//IfElse"> |
46 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//IntObject/value"/> | 90 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/condition"/> |
47 | </genClasses> | 91 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/then"/> |
48 | <genClasses ecoreClass="SolverLanguage.ecore#//RealObject"> | 92 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/else"/> |
49 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//RealObject/value"/> | 93 | </genClasses> |
50 | </genClasses> | 94 | <genClasses ecoreClass="SolverLanguage.ecore#//Case"> |
51 | <genClasses ecoreClass="SolverLanguage.ecore#//StringObject"> | 95 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/condition"/> |
52 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//StringObject/value"/> | 96 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/body"/> |
53 | </genClasses> | 97 | </genClasses> |
54 | <genClasses ecoreClass="SolverLanguage.ecore#//Predicate"> | 98 | <genClasses ecoreClass="SolverLanguage.ecore#//Count"> |
55 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Predicate/isError"/> | 99 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Count/body"/> |
56 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Predicate/symbol"/> | 100 | </genClasses> |
57 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Predicate/parameters"/> | 101 | <genClasses ecoreClass="SolverLanguage.ecore#//Aggregation"> |
58 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Predicate/bodies"/> | 102 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Aggregation/op"/> |
59 | </genClasses> | 103 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/body"/> |
60 | <genClasses ecoreClass="SolverLanguage.ecore#//Parameter"> | 104 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/condition"/> |
61 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Parameter/variable"/> | 105 | </genClasses> |
62 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Parameter/type"/> | 106 | <genClasses ecoreClass="SolverLanguage.ecore#//Call"> |
63 | </genClasses> | 107 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Call/functor"/> |
64 | <genClasses ecoreClass="SolverLanguage.ecore#//PatternBody"> | 108 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Call/argumentList"/> |
65 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//PatternBody/constraints"/> | 109 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Call/transitiveClosure"/> |
66 | </genClasses> | 110 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Call/reflexiveTransitiveClosure"/> |
67 | <genClasses ecoreClass="SolverLanguage.ecore#//Polarity"/> | 111 | </genClasses> |
68 | <genClasses ecoreClass="SolverLanguage.ecore#//Constraint"> | 112 | <genClasses ecoreClass="SolverLanguage.ecore#//ArgumentList"> |
69 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Constraint/polarity"/> | 113 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ArgumentList/arguments"/> |
70 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Constraint/symbol"/> | 114 | </genClasses> |
71 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Constraint/params"/> | 115 | <genClasses ecoreClass="SolverLanguage.ecore#//Argument"/> |
72 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Constraint/closureType"/> | 116 | <genClasses ecoreClass="SolverLanguage.ecore#//ExpressionArgument"> |
73 | </genClasses> | 117 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExpressionArgument/body"/> |
74 | <genClasses ecoreClass="SolverLanguage.ecore#//ClosureType"/> | 118 | </genClasses> |
119 | <genClasses ecoreClass="SolverLanguage.ecore#//StarArgument"/> | ||
120 | <genClasses ecoreClass="SolverLanguage.ecore#//TypedArgument"> | ||
121 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedArgument/type"/> | ||
122 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedArgument/variable"/> | ||
123 | </genClasses> | ||
124 | <genClasses ecoreClass="SolverLanguage.ecore#//TypedStarArgument"> | ||
125 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedStarArgument/type"/> | ||
126 | </genClasses> | ||
127 | <genClasses ecoreClass="SolverLanguage.ecore#//Reference"> | ||
128 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Reference/referred"/> | ||
129 | </genClasses> | ||
130 | <genClasses ecoreClass="SolverLanguage.ecore#//Interval"> | ||
131 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interval/lowerBound"/> | ||
132 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interval/upperBound"/> | ||
133 | </genClasses> | ||
75 | <genClasses ecoreClass="SolverLanguage.ecore#//Literal"/> | 134 | <genClasses ecoreClass="SolverLanguage.ecore#//Literal"/> |
76 | <genClasses ecoreClass="SolverLanguage.ecore#//Variable"> | 135 | <genClasses ecoreClass="SolverLanguage.ecore#//LogicLiteral"> |
77 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Variable/name"/> | 136 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//LogicLiteral/value"/> |
78 | </genClasses> | 137 | </genClasses> |
79 | <genClasses ecoreClass="SolverLanguage.ecore#//AllInstances"> | 138 | <genClasses ecoreClass="SolverLanguage.ecore#//NumericLiteral"> |
80 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//AllInstances/symbol"/> | 139 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NumericLiteral/value"/> |
81 | </genClasses> | 140 | </genClasses> |
82 | <genClasses ecoreClass="SolverLanguage.ecore#//AllObjects"/> | 141 | <genClasses ecoreClass="SolverLanguage.ecore#//InfinityLiteral"/> |
83 | <genClasses ecoreClass="SolverLanguage.ecore#//DefaultInterpretation"> | 142 | <genClasses ecoreClass="SolverLanguage.ecore#//EmptyIntervalLiteral"/> |
84 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultInterpretation/interpretation"/> | 143 | <genClasses ecoreClass="SolverLanguage.ecore#//StringLiteral"> |
85 | </genClasses> | 144 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//StringLiteral/value"/> |
86 | <genClasses ecoreClass="SolverLanguage.ecore#//CDInterpretation"/> | 145 | </genClasses> |
87 | <genClasses ecoreClass="SolverLanguage.ecore#//ClassInterpretation"> | 146 | <genClasses ecoreClass="SolverLanguage.ecore#//MemberDefinition"> |
88 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ClassInterpretation/abstract"/> | 147 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MemberDefinition/containment"/> |
89 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassInterpretation/symbol"/> | 148 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/type"/> |
90 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassInterpretation/supertypes"/> | 149 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/multiplicity"/> |
91 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassInterpretation/fielt"/> | 150 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MemberDefinition/name"/> |
92 | </genClasses> | 151 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/opposite"/> |
93 | <genClasses ecoreClass="SolverLanguage.ecore#//EnumInterpretation"> | 152 | </genClasses> |
94 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//EnumInterpretation/Symbol"/> | 153 | <genClasses ecoreClass="SolverLanguage.ecore#//Multiplicity"/> |
95 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//EnumInterpretation/objects"/> | 154 | <genClasses ecoreClass="SolverLanguage.ecore#//ManyMultiplicity"/> |
96 | </genClasses> | 155 | <genClasses ecoreClass="SolverLanguage.ecore#//ExactMultiplicity"> |
97 | <genClasses ecoreClass="SolverLanguage.ecore#//FieldRelationInterpretation"> | 156 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExactMultiplicity/multiplicity"/> |
98 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//FieldRelationInterpretation/containment"/> | 157 | </genClasses> |
99 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//FieldRelationInterpretation/symbol"/> | 158 | <genClasses ecoreClass="SolverLanguage.ecore#//BoundedMultiplicity"> |
100 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//FieldRelationInterpretation/multiplicity"/> | 159 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedMultiplicity/lowerBound"/> |
101 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//FieldRelationInterpretation/target"/> | 160 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedMultiplicity/upperBound"/> |
102 | </genClasses> | 161 | </genClasses> |
103 | <genClasses ecoreClass="SolverLanguage.ecore#//GlobalRelationInterpretation"> | 162 | <genClasses ecoreClass="SolverLanguage.ecore#//ScopeDefinition"> |
104 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//GlobalRelationInterpretation/containment"/> | 163 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ScopeDefinition/type"/> |
105 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/symbol"/> | 164 | </genClasses> |
106 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/sourceMultiplicity"/> | 165 | <genClasses ecoreClass="SolverLanguage.ecore#//ExactScopeDefinition"> |
107 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/source"/> | 166 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExactScopeDefinition/exactScope"/> |
108 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/targetMultiplicity"/> | 167 | </genClasses> |
109 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/target"/> | 168 | <genClasses ecoreClass="SolverLanguage.ecore#//BoundedScopeDefinition"> |
110 | </genClasses> | 169 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedScopeDefinition/lowerBound"/> |
111 | <genClasses ecoreClass="SolverLanguage.ecore#//MultiplicityDefinition"> | 170 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedScopeDefinition/upperBound"/> |
112 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MultiplicityDefinition/lower"/> | 171 | </genClasses> |
113 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MultiplicityDefinition/upper"/> | 172 | <genClasses ecoreClass="SolverLanguage.ecore#//LowerBoundedScopeDefinition"> |
114 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MultiplicityDefinition/unlimitedUpper"/> | 173 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//LowerBoundedScopeDefinition/lowerBound"/> |
115 | </genClasses> | 174 | </genClasses> |
116 | <genClasses ecoreClass="SolverLanguage.ecore#//BooleanTrue"/> | 175 | <genClasses ecoreClass="SolverLanguage.ecore#//ObjectiveDefinition"> |
117 | <genClasses ecoreClass="SolverLanguage.ecore#//BooleanFalse"/> | 176 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ObjectiveDefinition/kind"/> |
118 | <genClasses ecoreClass="SolverLanguage.ecore#//True"/> | 177 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ObjectiveDefinition/objective"/> |
119 | <genClasses ecoreClass="SolverLanguage.ecore#//False"/> | 178 | </genClasses> |
120 | <genClasses ecoreClass="SolverLanguage.ecore#//Unknown"/> | 179 | <genClasses ecoreClass="SolverLanguage.ecore#//NamedElement"> |
121 | <genClasses ecoreClass="SolverLanguage.ecore#//Error"/> | 180 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NamedElement/name"/> |
122 | <genClasses ecoreClass="SolverLanguage.ecore#//Positive"/> | 181 | </genClasses> |
123 | <genClasses ecoreClass="SolverLanguage.ecore#//Negative"/> | 182 | <genClasses ecoreClass="SolverLanguage.ecore#//Assertion"> |
124 | <genClasses ecoreClass="SolverLanguage.ecore#//ReflexiveClosure"/> | 183 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Assertion/body"/> |
125 | <genClasses ecoreClass="SolverLanguage.ecore#//IrreflexiveClosure"/> | 184 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Assertion/range"/> |
185 | </genClasses> | ||
186 | <genClasses ecoreClass="SolverLanguage.ecore#//Disjunction"> | ||
187 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Disjunction/children"/> | ||
188 | </genClasses> | ||
189 | <genClasses ecoreClass="SolverLanguage.ecore#//Switch"> | ||
190 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Switch/cases"/> | ||
191 | </genClasses> | ||
192 | <genClasses ecoreClass="SolverLanguage.ecore#//Conjunction"> | ||
193 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Conjunction/children"/> | ||
194 | </genClasses> | ||
195 | <genClasses ecoreClass="SolverLanguage.ecore#//Comparison"> | ||
196 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Comparison/left"/> | ||
197 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Comparison/op"/> | ||
198 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Comparison/right"/> | ||
199 | </genClasses> | ||
200 | <genClasses ecoreClass="SolverLanguage.ecore#//BinaryExpression"> | ||
201 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BinaryExpression/left"/> | ||
202 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BinaryExpression/op"/> | ||
203 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BinaryExpression/right"/> | ||
204 | </genClasses> | ||
205 | <genClasses ecoreClass="SolverLanguage.ecore#//UnaryExpression"> | ||
206 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//UnaryExpression/op"/> | ||
207 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnaryExpression/body"/> | ||
208 | </genClasses> | ||
126 | </genPackages> | 209 | </genPackages> |
127 | </genmodel:GenModel> | 210 | </genmodel:GenModel> |