aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language-model/src/main/resources/model
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2024-01-31 02:00:09 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2024-01-31 18:45:13 +0100
commitc63126d2f1ce5f571c316b37e00fb43d2da7c7d3 (patch)
tree16e9dd04624565f7c9ccedd17749a9f264e89cb0 /subprojects/language-model/src/main/resources/model
parentfix(build): avoid cyclic dependency (diff)
downloadrefinery-c63126d2f1ce5f571c316b37e00fb43d2da7c7d3.tar.gz
refinery-c63126d2f1ce5f571c316b37e00fb43d2da7c7d3.tar.zst
refinery-c63126d2f1ce5f571c316b37e00fb43d2da7c7d3.zip
refactor(language): module and node declarations
* New default file extension: .refinery (.problem is also supported). * Add module keyword for self-contained modules. * Rename indiv declarations to atom declaration. * Add node and multi declarations for explicitly declared nodes and multi-objects, respectively.
Diffstat (limited to 'subprojects/language-model/src/main/resources/model')
-rw-r--r--subprojects/language-model/src/main/resources/model/problem.ecore13
-rw-r--r--subprojects/language-model/src/main/resources/model/problem.genmodel15
2 files changed, 25 insertions, 3 deletions
diff --git a/subprojects/language-model/src/main/resources/model/problem.ecore b/subprojects/language-model/src/main/resources/model/problem.ecore
index 74229a89..aa05a2fe 100644
--- a/subprojects/language-model/src/main/resources/model/problem.ecore
+++ b/subprojects/language-model/src/main/resources/model/problem.ecore
@@ -6,6 +6,7 @@
6 eType="#//Node" transient="true" containment="true"/> 6 eType="#//Node" transient="true" containment="true"/>
7 <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1" 7 <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
8 eType="#//Statement" containment="true"/> 8 eType="#//Statement" containment="true"/>
9 <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//ModuleKind"/>
9 </eClassifiers> 10 </eClassifiers>
10 <eClassifiers xsi:type="ecore:EClass" name="ClassDeclaration" eSuperTypes="#//Statement #//Relation"> 11 <eClassifiers xsi:type="ecore:EClass" name="ClassDeclaration" eSuperTypes="#//Statement #//Relation">
11 <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 12 <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
@@ -109,9 +110,10 @@
109 <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//Node"/> 110 <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//Node"/>
110 </eClassifiers> 111 </eClassifiers>
111 <eClassifiers xsi:type="ecore:EClass" name="AssertionArgument" abstract="true"/> 112 <eClassifiers xsi:type="ecore:EClass" name="AssertionArgument" abstract="true"/>
112 <eClassifiers xsi:type="ecore:EClass" name="IndividualDeclaration" eSuperTypes="#//Statement"> 113 <eClassifiers xsi:type="ecore:EClass" name="NodeDeclaration" eSuperTypes="#//Statement">
113 <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1" 114 <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1"
114 eType="#//Node" containment="true"/> 115 eType="#//Node" containment="true"/>
116 <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//NodeKind"/>
115 </eClassifiers> 117 </eClassifiers>
116 <eClassifiers xsi:type="ecore:EClass" name="WildcardAssertionArgument" eSuperTypes="#//AssertionArgument"/> 118 <eClassifiers xsi:type="ecore:EClass" name="WildcardAssertionArgument" eSuperTypes="#//AssertionArgument"/>
117 <eClassifiers xsi:type="ecore:EClass" name="ParametricDefinition" abstract="true" 119 <eClassifiers xsi:type="ecore:EClass" name="ParametricDefinition" abstract="true"
@@ -259,4 +261,13 @@
259 <eClassifiers xsi:type="ecore:EClass" name="LogicConstant" eSuperTypes="#//Constant"> 261 <eClassifiers xsi:type="ecore:EClass" name="LogicConstant" eSuperTypes="#//Constant">
260 <eStructuralFeatures xsi:type="ecore:EAttribute" name="logicValue" eType="#//LogicValue"/> 262 <eStructuralFeatures xsi:type="ecore:EAttribute" name="logicValue" eType="#//LogicValue"/>
261 </eClassifiers> 263 </eClassifiers>
264 <eClassifiers xsi:type="ecore:EEnum" name="ModuleKind">
265 <eLiterals name="PROBLEM"/>
266 <eLiterals name="MODULE" value="1"/>
267 </eClassifiers>
268 <eClassifiers xsi:type="ecore:EEnum" name="NodeKind">
269 <eLiterals name="NODE"/>
270 <eLiterals name="ATOM" value="1"/>
271 <eLiterals name="MULTI" value="2"/>
272 </eClassifiers>
262</ecore:EPackage> 273</ecore:EPackage>
diff --git a/subprojects/language-model/src/main/resources/model/problem.genmodel b/subprojects/language-model/src/main/resources/model/problem.genmodel
index b5aa81c4..be8b62eb 100644
--- a/subprojects/language-model/src/main/resources/model/problem.genmodel
+++ b/subprojects/language-model/src/main/resources/model/problem.genmodel
@@ -64,9 +64,19 @@
64 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PrimitiveType/REAL"/> 64 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PrimitiveType/REAL"/>
65 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PrimitiveType/STRING"/> 65 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PrimitiveType/STRING"/>
66 </genEnums> 66 </genEnums>
67 <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//ModuleKind">
68 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ModuleKind/PROBLEM"/>
69 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ModuleKind/MODULE"/>
70 </genEnums>
71 <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//NodeKind">
72 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//NodeKind/NODE"/>
73 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//NodeKind/ATOM"/>
74 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//NodeKind/MULTI"/>
75 </genEnums>
67 <genClasses ecoreClass="problem.ecore#//Problem"> 76 <genClasses ecoreClass="problem.ecore#//Problem">
68 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/nodes"/> 77 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/nodes"/>
69 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/statements"/> 78 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/statements"/>
79 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Problem/kind"/>
70 </genClasses> 80 </genClasses>
71 <genClasses ecoreClass="problem.ecore#//ClassDeclaration"> 81 <genClasses ecoreClass="problem.ecore#//ClassDeclaration">
72 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ClassDeclaration/abstract"/> 82 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ClassDeclaration/abstract"/>
@@ -144,8 +154,9 @@
144 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//NodeAssertionArgument/node"/> 154 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//NodeAssertionArgument/node"/>
145 </genClasses> 155 </genClasses>
146 <genClasses ecoreClass="problem.ecore#//AssertionArgument"/> 156 <genClasses ecoreClass="problem.ecore#//AssertionArgument"/>
147 <genClasses ecoreClass="problem.ecore#//IndividualDeclaration"> 157 <genClasses ecoreClass="problem.ecore#//NodeDeclaration">
148 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//IndividualDeclaration/nodes"/> 158 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//NodeDeclaration/nodes"/>
159 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//NodeDeclaration/kind"/>
149 </genClasses> 160 </genClasses>
150 <genClasses ecoreClass="problem.ecore#//WildcardAssertionArgument"/> 161 <genClasses ecoreClass="problem.ecore#//WildcardAssertionArgument"/>
151 <genClasses ecoreClass="problem.ecore#//ParametricDefinition"> 162 <genClasses ecoreClass="problem.ecore#//ParametricDefinition">