diff options
author | 2021-06-27 23:21:42 +0200 | |
---|---|---|
committer | 2021-06-27 23:30:25 +0200 | |
commit | 7febe0b4781c5bb0fab34895ad642040ae143a8b (patch) | |
tree | 5bc49f9195b18a938382f2527ee4ab273527a07a /language-model/src/main/resources/model | |
parent | Electric semicolons (diff) | |
download | refinery-7febe0b4781c5bb0fab34895ad642040ae143a8b.tar.gz refinery-7febe0b4781c5bb0fab34895ad642040ae143a8b.tar.zst refinery-7febe0b4781c5bb0fab34895ad642040ae143a8b.zip |
Add data constant support
Diffstat (limited to 'language-model/src/main/resources/model')
-rw-r--r-- | language-model/src/main/resources/model/problem.ecore | 36 | ||||
-rw-r--r-- | language-model/src/main/resources/model/problem.genmodel | 33 |
2 files changed, 62 insertions, 7 deletions
diff --git a/language-model/src/main/resources/model/problem.ecore b/language-model/src/main/resources/model/problem.ecore index 99404f61..43d69a86 100644 --- a/language-model/src/main/resources/model/problem.ecore +++ b/language-model/src/main/resources/model/problem.ecore | |||
@@ -61,9 +61,9 @@ | |||
61 | </eClassifiers> | 61 | </eClassifiers> |
62 | <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement"> | 62 | <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement"> |
63 | <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/> | 63 | <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/> |
64 | <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" | ||
65 | eType="#//Node"/> | ||
66 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/> | 64 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/> |
65 | <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" | ||
66 | eType="#//AssertionArgument" containment="true"/> | ||
67 | </eClassifiers> | 67 | </eClassifiers> |
68 | <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//VariableOrNode"/> | 68 | <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//VariableOrNode"/> |
69 | <eClassifiers xsi:type="ecore:EEnum" name="LogicValue"> | 69 | <eClassifiers xsi:type="ecore:EEnum" name="LogicValue"> |
@@ -94,7 +94,7 @@ | |||
94 | defaultValueLiteral="1"/> | 94 | defaultValueLiteral="1"/> |
95 | </eClassifiers> | 95 | </eClassifiers> |
96 | <eClassifiers xsi:type="ecore:EClass" name="UnboundedMultiplicity" eSuperTypes="#//Multiplicity"/> | 96 | <eClassifiers xsi:type="ecore:EClass" name="UnboundedMultiplicity" eSuperTypes="#//Multiplicity"/> |
97 | <eClassifiers xsi:type="ecore:EClass" name="Argument"> | 97 | <eClassifiers xsi:type="ecore:EClass" name="VariableOrNodeArgument" eSuperTypes="#//Argument"> |
98 | <eStructuralFeatures xsi:type="ecore:EReference" name="variableOrNode" eType="#//VariableOrNode"/> | 98 | <eStructuralFeatures xsi:type="ecore:EReference" name="variableOrNode" eType="#//VariableOrNode"/> |
99 | <eStructuralFeatures xsi:type="ecore:EReference" name="singletonVariable" eType="#//ImplicitVariable" | 99 | <eStructuralFeatures xsi:type="ecore:EReference" name="singletonVariable" eType="#//ImplicitVariable" |
100 | containment="true"/> | 100 | containment="true"/> |
@@ -104,4 +104,34 @@ | |||
104 | eType="#//Node" containment="true"/> | 104 | eType="#//Node" containment="true"/> |
105 | </eClassifiers> | 105 | </eClassifiers> |
106 | <eClassifiers xsi:type="ecore:EClass" name="VariableOrNode" abstract="true" eSuperTypes="#//NamedElement"/> | 106 | <eClassifiers xsi:type="ecore:EClass" name="VariableOrNode" abstract="true" eSuperTypes="#//NamedElement"/> |
107 | <eClassifiers xsi:type="ecore:EClass" name="Constant" abstract="true"/> | ||
108 | <eClassifiers xsi:type="ecore:EClass" name="IntConstant" eSuperTypes="#//Constant"> | ||
109 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="intValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" | ||
110 | defaultValueLiteral="0"/> | ||
111 | </eClassifiers> | ||
112 | <eClassifiers xsi:type="ecore:EClass" name="RealConstant" eSuperTypes="#//Constant"> | ||
113 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="realValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | ||
114 | defaultValueLiteral="0.0"/> | ||
115 | </eClassifiers> | ||
116 | <eClassifiers xsi:type="ecore:EClass" name="StringConstant" eSuperTypes="#//Constant"> | ||
117 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="stringValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
118 | </eClassifiers> | ||
119 | <eClassifiers xsi:type="ecore:EClass" name="ConstantArgument" eSuperTypes="#//Argument"> | ||
120 | <eStructuralFeatures xsi:type="ecore:EReference" name="constant" eType="#//Constant" | ||
121 | containment="true"/> | ||
122 | </eClassifiers> | ||
123 | <eClassifiers xsi:type="ecore:EClass" name="Argument" abstract="true"/> | ||
124 | <eClassifiers xsi:type="ecore:EClass" name="NodeAssertionArgument" eSuperTypes="#//AssertionArgument"> | ||
125 | <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//Node"/> | ||
126 | </eClassifiers> | ||
127 | <eClassifiers xsi:type="ecore:EClass" name="AssertionArgument" abstract="true"/> | ||
128 | <eClassifiers xsi:type="ecore:EClass" name="ConstantAssertionArgument" eSuperTypes="#//AssertionArgument"> | ||
129 | <eStructuralFeatures xsi:type="ecore:EReference" name="constant" eType="#//Constant" | ||
130 | containment="true"/> | ||
131 | </eClassifiers> | ||
132 | <eClassifiers xsi:type="ecore:EClass" name="NodeValueAssertion" eSuperTypes="#//Statement"> | ||
133 | <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//Node"/> | ||
134 | <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Constant" | ||
135 | containment="true"/> | ||
136 | </eClassifiers> | ||
107 | </ecore:EPackage> | 137 | </ecore:EPackage> |
diff --git a/language-model/src/main/resources/model/problem.genmodel b/language-model/src/main/resources/model/problem.genmodel index 8a881ff7..fb93d60e 100644 --- a/language-model/src/main/resources/model/problem.genmodel +++ b/language-model/src/main/resources/model/problem.genmodel | |||
@@ -62,8 +62,8 @@ | |||
62 | </genClasses> | 62 | </genClasses> |
63 | <genClasses ecoreClass="problem.ecore#//Assertion"> | 63 | <genClasses ecoreClass="problem.ecore#//Assertion"> |
64 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/relation"/> | 64 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/relation"/> |
65 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/arguments"/> | ||
66 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Assertion/value"/> | 65 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Assertion/value"/> |
66 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/arguments"/> | ||
67 | </genClasses> | 67 | </genClasses> |
68 | <genClasses ecoreClass="problem.ecore#//Node"/> | 68 | <genClasses ecoreClass="problem.ecore#//Node"/> |
69 | <genClasses ecoreClass="problem.ecore#//ScopeDeclaration"> | 69 | <genClasses ecoreClass="problem.ecore#//ScopeDeclaration"> |
@@ -84,13 +84,38 @@ | |||
84 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ExactMultiplicity/exactValue"/> | 84 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ExactMultiplicity/exactValue"/> |
85 | </genClasses> | 85 | </genClasses> |
86 | <genClasses ecoreClass="problem.ecore#//UnboundedMultiplicity"/> | 86 | <genClasses ecoreClass="problem.ecore#//UnboundedMultiplicity"/> |
87 | <genClasses ecoreClass="problem.ecore#//Argument"> | 87 | <genClasses ecoreClass="problem.ecore#//VariableOrNodeArgument"> |
88 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Argument/variableOrNode"/> | 88 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//VariableOrNodeArgument/variableOrNode"/> |
89 | <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Argument/singletonVariable"/> | 89 | <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//VariableOrNodeArgument/singletonVariable"/> |
90 | </genClasses> | 90 | </genClasses> |
91 | <genClasses ecoreClass="problem.ecore#//EnumDeclaration"> | 91 | <genClasses ecoreClass="problem.ecore#//EnumDeclaration"> |
92 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//EnumDeclaration/literals"/> | 92 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//EnumDeclaration/literals"/> |
93 | </genClasses> | 93 | </genClasses> |
94 | <genClasses ecoreClass="problem.ecore#//VariableOrNode"/> | 94 | <genClasses ecoreClass="problem.ecore#//VariableOrNode"/> |
95 | <genClasses ecoreClass="problem.ecore#//Constant"/> | ||
96 | <genClasses ecoreClass="problem.ecore#//IntConstant"> | ||
97 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//IntConstant/intValue"/> | ||
98 | </genClasses> | ||
99 | <genClasses ecoreClass="problem.ecore#//RealConstant"> | ||
100 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//RealConstant/realValue"/> | ||
101 | </genClasses> | ||
102 | <genClasses ecoreClass="problem.ecore#//StringConstant"> | ||
103 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//StringConstant/stringValue"/> | ||
104 | </genClasses> | ||
105 | <genClasses ecoreClass="problem.ecore#//ConstantArgument"> | ||
106 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ConstantArgument/constant"/> | ||
107 | </genClasses> | ||
108 | <genClasses ecoreClass="problem.ecore#//Argument"/> | ||
109 | <genClasses ecoreClass="problem.ecore#//NodeAssertionArgument"> | ||
110 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//NodeAssertionArgument/node"/> | ||
111 | </genClasses> | ||
112 | <genClasses ecoreClass="problem.ecore#//AssertionArgument"/> | ||
113 | <genClasses ecoreClass="problem.ecore#//ConstantAssertionArgument"> | ||
114 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ConstantAssertionArgument/constant"/> | ||
115 | </genClasses> | ||
116 | <genClasses ecoreClass="problem.ecore#//NodeValueAssertion"> | ||
117 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//NodeValueAssertion/node"/> | ||
118 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//NodeValueAssertion/value"/> | ||
119 | </genClasses> | ||
95 | </genPackages> | 120 | </genPackages> |
96 | </genmodel:GenModel> | 121 | </genmodel:GenModel> |