source: branches/xtext-MDT/org.modelica.emf/model/OpenModelicaAbstactSyntax.ecore @ 549

Last change on this file since 549 was 549, checked in by nasko, 15 years ago

work in progress

File size: 59.9 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0"
3    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="Absyn"
5    nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/" nsPrefix="Absyn">
6  <eClassifiers xsi:type="ecore:EClass" name="dummyClass">
7    <eStructuralFeatures xsi:type="ecore:EAttribute" name="dum" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
8  </eClassifiers>
9  <eClassifiers xsi:type="ecore:EEnum" name="dummyEnumeration">
10    <eLiterals name="ZEROTH" literal="ZEROTH"/>
11    <eLiterals name="FIRST" value="1" literal="FIRST"/>
12  </eClassifiers>
13  <eSubpackages name="Program" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Program"
14      nsPrefix="Program">
15    <eClassifiers xsi:type="ecore:EClass" name="uProgram" abstract="true"/>
16    <eClassifiers xsi:type="ecore:EClass" name="PROGRAM" eSuperTypes="#//Program/uProgram">
17      <eStructuralFeatures xsi:type="ecore:EReference" name="classes" upperBound="-1"
18          eType="#//Class/uClass" containment="true"/>
19      <eStructuralFeatures xsi:type="ecore:EReference" name="withinClause" lowerBound="1"
20          eType="#//Within/uWithin" containment="true"/>
21      <eStructuralFeatures xsi:type="ecore:EReference" name="globalBuildTimes" eType="#//TimeStamp/uTimeStamp"
22          containment="true"/>
23    </eClassifiers>
24  </eSubpackages>
25  <eSubpackages name="Within" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Within"
26      nsPrefix="Within">
27    <eClassifiers xsi:type="ecore:EClass" name="uWithin" abstract="true"/>
28    <eClassifiers xsi:type="ecore:EClass" name="WITHIN" eSuperTypes="#//Within/uWithin">
29      <eStructuralFeatures xsi:type="ecore:EReference" name="path" lowerBound="1"
30          eType="#//Path/uPath" containment="true"/>
31    </eClassifiers>
32    <eClassifiers xsi:type="ecore:EClass" name="TOP" eSuperTypes="#//Within/uWithin"/>
33  </eSubpackages>
34  <eSubpackages name="Class" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Class"
35      nsPrefix="Class">
36    <eClassifiers xsi:type="ecore:EClass" name="uClass" abstract="true"/>
37    <eClassifiers xsi:type="ecore:EClass" name="CLASS" eSuperTypes="#//Class/uClass">
38      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
39      <eStructuralFeatures xsi:type="ecore:EAttribute" name="partialPrefix" lowerBound="1"
40          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
41          defaultValueLiteral="false"/>
42      <eStructuralFeatures xsi:type="ecore:EAttribute" name="finalPrefix" lowerBound="1"
43          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
44          defaultValueLiteral="false"/>
45      <eStructuralFeatures xsi:type="ecore:EAttribute" name="encapsulatedPrefix" lowerBound="1"
46          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
47          defaultValueLiteral="false"/>
48      <eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1"
49          eType="#//ClassDef/uClassDef" containment="true"/>
50      <eStructuralFeatures xsi:type="ecore:EReference" name="restriction" lowerBound="1"
51          eType="#//Restriction/uRestriction" containment="true"/>
52    </eClassifiers>
53  </eSubpackages>
54  <eSubpackages name="ClassDef" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/ClassDef"
55      nsPrefix="ClassDef">
56    <eClassifiers xsi:type="ecore:EClass" name="uClassDef" abstract="true"/>
57    <eClassifiers xsi:type="ecore:EClass" name="PARTS" eSuperTypes="#//ClassDef/uClassDef">
58      <eStructuralFeatures xsi:type="ecore:EReference" name="classParts" upperBound="-1"
59          eType="#//ClassPart/uClassPart" containment="true"/>
60      <eStructuralFeatures xsi:type="ecore:EReference" name="comment" eType="#//Comment/uComment"
61          containment="true"/>
62      <eStructuralFeatures xsi:type="ecore:EAttribute" name="nameEnd" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
63    </eClassifiers>
64    <eClassifiers xsi:type="ecore:EClass" name="DERIVED" eSuperTypes="#//ClassDef/uClassDef">
65      <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" lowerBound="1"
66          eType="#//ElementAttributes/uElementAttributes" containment="true"/>
67      <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
68          eType="#//ElementArg/uElementArg" containment="true"/>
69      <eStructuralFeatures xsi:type="ecore:EReference" name="comment" eType="#//Comment/uComment"
70          containment="true"/>
71      <eStructuralFeatures xsi:type="ecore:EReference" name="typeSpec" lowerBound="1"
72          eType="#//TypeSpec/uTypeSpec" containment="true"/>
73    </eClassifiers>
74    <eClassifiers xsi:type="ecore:EClass" name="ENUMERATION" eSuperTypes="#//ClassDef/uClassDef">
75      <eStructuralFeatures xsi:type="ecore:EReference" name="enumLiterals" lowerBound="1"
76          eType="#//EnumDef/uEnumDef" containment="true"/>
77      <eStructuralFeatures xsi:type="ecore:EReference" name="comment" eType="#//Comment/uComment"
78          containment="true"/>
79    </eClassifiers>
80    <eClassifiers xsi:type="ecore:EClass" name="OVERLOAD" eSuperTypes="#//ClassDef/uClassDef">
81      <eStructuralFeatures xsi:type="ecore:EReference" name="functionNames" upperBound="-1"
82          eType="#//Path/uPath" containment="true"/>
83      <eStructuralFeatures xsi:type="ecore:EReference" name="comment" eType="#//Comment/uComment"
84          containment="true"/>
85    </eClassifiers>
86    <eClassifiers xsi:type="ecore:EClass" name="CLASS_EXTENDS" eSuperTypes="#//ClassDef/uClassDef">
87      <eStructuralFeatures xsi:type="ecore:EAttribute" name="baseClassName" lowerBound="1"
88          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
89      <eStructuralFeatures xsi:type="ecore:EReference" name="modifications" upperBound="-1"
90          eType="#//ElementArg/uElementArg" containment="true"/>
91      <eStructuralFeatures xsi:type="ecore:EReference" name="comment" eType="#//Comment/uComment"
92          containment="true"/>
93      <eStructuralFeatures xsi:type="ecore:EReference" name="parts" upperBound="-1"
94          eType="#//ClassPart/uClassPart" containment="true"/>
95      <eStructuralFeatures xsi:type="ecore:EAttribute" name="nameEnd" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
96    </eClassifiers>
97    <eClassifiers xsi:type="ecore:EClass" name="PDER" eSuperTypes="#//ClassDef/uClassDef">
98      <eStructuralFeatures xsi:type="ecore:EReference" name="functionName" lowerBound="1"
99          eType="#//Path/uPath" containment="true"/>
100      <eStructuralFeatures xsi:type="ecore:EAttribute" name="vars" upperBound="-1"
101          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
102    </eClassifiers>
103  </eSubpackages>
104  <eSubpackages name="EnumDef" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/EnumDef"
105      nsPrefix="EnumDef">
106    <eClassifiers xsi:type="ecore:EClass" name="uEnumDef" abstract="true"/>
107    <eClassifiers xsi:type="ecore:EClass" name="ENUMLITERALS" eSuperTypes="#//EnumDef/uEnumDef">
108      <eStructuralFeatures xsi:type="ecore:EReference" name="enumLiterals" upperBound="-1"
109          eType="#//EnumLiteral/uEnumLiteral" containment="true"/>
110    </eClassifiers>
111    <eClassifiers xsi:type="ecore:EClass" name="ENUM_COLON" eSuperTypes="#//EnumDef/uEnumDef"/>
112  </eSubpackages>
113  <eSubpackages name="EnumLiteral" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/EnumLiteral"
114      nsPrefix="EnumLiteral">
115    <eClassifiers xsi:type="ecore:EClass" name="uEnumLiteral" abstract="true"/>
116    <eClassifiers xsi:type="ecore:EClass" name="ENUMLITERAL" eSuperTypes="#//EnumLiteral/uEnumLiteral">
117      <eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" lowerBound="1"
118          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
119      <eStructuralFeatures xsi:type="ecore:EReference" name="comment" eType="#//Comment/uComment"
120          containment="true"/>
121    </eClassifiers>
122  </eSubpackages>
123  <eSubpackages name="ClassPart" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/ClassPart"
124      nsPrefix="ClassPart">
125    <eClassifiers xsi:type="ecore:EClass" name="uClassPart" abstract="true"/>
126    <eClassifiers xsi:type="ecore:EClass" name="PUBLIC" eSuperTypes="#//ClassPart/uClassPart">
127      <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
128          eType="#//ElementItem/uElementItem" containment="true"/>
129    </eClassifiers>
130    <eClassifiers xsi:type="ecore:EClass" name="PROTECTED" eSuperTypes="#//ClassPart/uClassPart">
131      <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
132          eType="#//ElementItem/uElementItem" containment="true"/>
133    </eClassifiers>
134    <eClassifiers xsi:type="ecore:EClass" name="EQUATIONS" eSuperTypes="#//ClassPart/uClassPart">
135      <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
136          eType="#//EquationItem/uEquationItem" containment="true"/>
137    </eClassifiers>
138    <eClassifiers xsi:type="ecore:EClass" name="INITIALEQUATIONS" eSuperTypes="#//ClassPart/uClassPart">
139      <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
140          eType="#//EquationItem/uEquationItem"/>
141    </eClassifiers>
142    <eClassifiers xsi:type="ecore:EClass" name="ALGORITHMS" eSuperTypes="#//ClassPart/uClassPart">
143      <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
144          eType="#//AlgorithmItem/uAlgorithmItem" containment="true"/>
145    </eClassifiers>
146    <eClassifiers xsi:type="ecore:EClass" name="INITIALALGORITHMS" eSuperTypes="#//ClassPart/uClassPart">
147      <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
148          eType="#//AlgorithmItem/uAlgorithmItem" containment="true"/>
149    </eClassifiers>
150    <eClassifiers xsi:type="ecore:EClass" name="EXTERNAL" eSuperTypes="#//ClassPart/uClassPart">
151      <eStructuralFeatures xsi:type="ecore:EReference" name="externalDecl" lowerBound="1"
152          eType="#//ExternalDecl/uExternalDecl" containment="true"/>
153      <eStructuralFeatures xsi:type="ecore:EReference" name="annotationNode" eType="#//Annotation/uAnnotation"
154          containment="true"/>
155    </eClassifiers>
156  </eSubpackages>
157  <eSubpackages name="ElementItem" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/ElementItem"
158      nsPrefix="ElementItem">
159    <eClassifiers xsi:type="ecore:EClass" name="uElementItem" abstract="true"/>
160    <eClassifiers xsi:type="ecore:EClass" name="ELEMENTITEM" eSuperTypes="#//ElementItem/uElementItem">
161      <eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
162          eType="#//Element/uElement" containment="true"/>
163    </eClassifiers>
164    <eClassifiers xsi:type="ecore:EClass" name="ANNOTATIONITEM" eSuperTypes="#//ElementItem/uElementItem">
165      <eStructuralFeatures xsi:type="ecore:EReference" name="annotation_" lowerBound="1"
166          eType="#//Annotation/uAnnotation" containment="true"/>
167    </eClassifiers>
168  </eSubpackages>
169  <eSubpackages name="Element" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Element"
170      nsPrefix="Element">
171    <eClassifiers xsi:type="ecore:EClass" name="uElement" abstract="true"/>
172    <eClassifiers xsi:type="ecore:EClass" name="ELEMENT" eSuperTypes="#//Element/uElement">
173      <eStructuralFeatures xsi:type="ecore:EAttribute" name="finalPrefix" lowerBound="1"
174          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
175      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
176          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
177          defaultValueLiteral="FIXME"/>
178      <eStructuralFeatures xsi:type="ecore:EReference" name="specification" lowerBound="1"
179          eType="#//ElementSpec/uElementSpec" containment="true"/>
180      <eStructuralFeatures xsi:type="ecore:EReference" name="constrainClass" eType="#//ConstrainClass/uConstrainClass"
181          containment="true"/>
182      <eStructuralFeatures xsi:type="ecore:EReference" name="redeclareKeywords" eType="#//RedeclareKeywords/uRedeclareKeywords"
183          containment="true"/>
184      <eStructuralFeatures xsi:type="ecore:EReference" name="innerOuter" lowerBound="1"
185          eType="#//InnerOuter/uInnerOuter" containment="true"/>
186    </eClassifiers>
187    <eClassifiers xsi:type="ecore:EClass" name="TEXT" eSuperTypes="#//Element/uElement">
188      <eStructuralFeatures xsi:type="ecore:EAttribute" name="optName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
189      <eStructuralFeatures xsi:type="ecore:EAttribute" name="string" lowerBound="1"
190          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
191    </eClassifiers>
192    <eClassifiers xsi:type="ecore:EClass" name="DEFINEUNIT" eSuperTypes="#//Element/uElement">
193      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
194          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
195      <eStructuralFeatures xsi:type="ecore:EReference" name="args" upperBound="-1"
196          eType="#//NamedArg/uNamedArg" containment="true"/>
197    </eClassifiers>
198  </eSubpackages>
199  <eSubpackages name="ConstrainClass" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/ConstrainClass"
200      nsPrefix="ConstrainClass">
201    <eClassifiers xsi:type="ecore:EClass" name="uConstrainClass" abstract="true"/>
202    <eClassifiers xsi:type="ecore:EClass" name="CONSTRAINCLASS" eSuperTypes="#//ConstrainClass/uConstrainClass">
203      <eStructuralFeatures xsi:type="ecore:EReference" name="elementSpec" lowerBound="1"
204          eType="#//ElementSpec/uElementSpec" containment="true"/>
205      <eStructuralFeatures xsi:type="ecore:EReference" name="comment" eType="#//Comment/uComment"
206          containment="true"/>
207    </eClassifiers>
208  </eSubpackages>
209  <eSubpackages name="ElementSpec" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/ElementSpec"
210      nsPrefix="ElementSpec">
211    <eClassifiers xsi:type="ecore:EClass" name="uElementSpec" abstract="true"/>
212    <eClassifiers xsi:type="ecore:EClass" name="CLASSDEF" eSuperTypes="#//ElementSpec/uElementSpec">
213      <eStructuralFeatures xsi:type="ecore:EAttribute" name="replaceable_" lowerBound="1"
214          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
215      <eStructuralFeatures xsi:type="ecore:EReference" name="class_" lowerBound="1"
216          eType="#//Class/uClass" containment="true"/>
217    </eClassifiers>
218    <eClassifiers xsi:type="ecore:EClass" name="EXTENDS" eSuperTypes="#//ElementSpec/uElementSpec">
219      <eStructuralFeatures xsi:type="ecore:EReference" name="path" lowerBound="1"
220          eType="#//Path/uPath" containment="true"/>
221      <eStructuralFeatures xsi:type="ecore:EReference" name="elementArg" upperBound="-1"
222          eType="#//ElementArg/uElementArg" containment="true"/>
223      <eStructuralFeatures xsi:type="ecore:EReference" name="annotationOpt" eType="#//Annotation/uAnnotation"
224          containment="true"/>
225    </eClassifiers>
226    <eClassifiers xsi:type="ecore:EClass" name="IMPORT" eSuperTypes="#//ElementSpec/uElementSpec">
227      <eStructuralFeatures xsi:type="ecore:EReference" name="import_" lowerBound="1"
228          eType="#//Import/uImport" containment="true"/>
229      <eStructuralFeatures xsi:type="ecore:EReference" name="comment" eType="#//Comment/uComment"
230          containment="true"/>
231    </eClassifiers>
232    <eClassifiers xsi:type="ecore:EClass" name="COMPONENTS" eSuperTypes="#//ElementSpec/uElementSpec">
233      <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" lowerBound="1"
234          eType="#//ElementAttributes/uElementAttributes" containment="true"/>
235      <eStructuralFeatures xsi:type="ecore:EReference" name="components" upperBound="-1"
236          eType="#//ComponentItem/uComponentItem" containment="true"/>
237      <eStructuralFeatures xsi:type="ecore:EReference" name="typeSpec" lowerBound="1"
238          eType="#//TypeSpec/uTypeSpec" containment="true"/>
239    </eClassifiers>
240  </eSubpackages>
241  <eSubpackages name="InnerOuter" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/InnerOuter"
242      nsPrefix="InnerOuter">
243    <eClassifiers xsi:type="ecore:EEnum" name="OBSOLETE_InnerOuter">
244      <eLiterals name="UNSPECIFIED" value="3"/>
245      <eLiterals name="INNER"/>
246      <eLiterals name="OUTER" value="1"/>
247      <eLiterals name="INNEROUTER" value="2"/>
248    </eClassifiers>
249    <eClassifiers xsi:type="ecore:EClass" name="uInnerOuter" abstract="true"/>
250    <eClassifiers xsi:type="ecore:EClass" name="INNER" eSuperTypes="#//InnerOuter/uInnerOuter"/>
251    <eClassifiers xsi:type="ecore:EClass" name="OUTER" eSuperTypes="#//InnerOuter/uInnerOuter"/>
252    <eClassifiers xsi:type="ecore:EClass" name="INNEROUTER" eSuperTypes="#//InnerOuter/uInnerOuter"/>
253    <eClassifiers xsi:type="ecore:EClass" name="UNSPECIFIED" eSuperTypes="#//InnerOuter/uInnerOuter"/>
254  </eSubpackages>
255  <eSubpackages name="Import" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Import"
256      nsPrefix="Import">
257    <eClassifiers xsi:type="ecore:EClass" name="uImport" abstract="true"/>
258    <eClassifiers xsi:type="ecore:EClass" name="NAMED_IMPORT" eSuperTypes="#//Import/uImport">
259      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
260          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
261      <eStructuralFeatures xsi:type="ecore:EReference" name="path" lowerBound="1"
262          eType="#//Path/uPath" containment="true"/>
263    </eClassifiers>
264    <eClassifiers xsi:type="ecore:EClass" name="QUAL_IMPORT" eSuperTypes="#//Import/uImport">
265      <eStructuralFeatures xsi:type="ecore:EReference" name="path" lowerBound="1"
266          eType="#//Path/uPath" containment="true"/>
267    </eClassifiers>
268    <eClassifiers xsi:type="ecore:EClass" name="UNQUAL_IMPORT" eSuperTypes="#//Import/uImport">
269      <eStructuralFeatures xsi:type="ecore:EReference" name="path" lowerBound="1"
270          eType="#//Path/uPath" containment="true"/>
271    </eClassifiers>
272  </eSubpackages>
273  <eSubpackages name="ComponentItem" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/ComponentItem"
274      nsPrefix="ComponentItem">
275    <eClassifiers xsi:type="ecore:EClass" name="uComponentItem" abstract="true"/>
276    <eClassifiers xsi:type="ecore:EClass" name="COMPONENTITEM" eSuperTypes="#//ComponentItem/uComponentItem">
277      <eStructuralFeatures xsi:type="ecore:EReference" name="component" lowerBound="1"
278          eType="#//Component/uComponent" containment="true"/>
279      <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//ComponentCondition/ComponentCondition"
280          containment="true"/>
281      <eStructuralFeatures xsi:type="ecore:EReference" name="comment" eType="#//Comment/uComment"
282          containment="true"/>
283    </eClassifiers>
284  </eSubpackages>
285  <eSubpackages name="ComponentCondition" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/ComponentCondition"
286      nsPrefix="ComponentCondition">
287    <eClassifiers xsi:type="ecore:EClass" name="ComponentCondition">
288      <eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1"
289          eType="#//Exp/uExp" containment="true"/>
290    </eClassifiers>
291  </eSubpackages>
292  <eSubpackages name="Component" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Component"
293      nsPrefix="Component">
294    <eClassifiers xsi:type="ecore:EClass" name="uComponent" abstract="true"/>
295    <eClassifiers xsi:type="ecore:EClass" name="COMPONENT" eSuperTypes="#//Component/uComponent">
296      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
297          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
298      <eStructuralFeatures xsi:type="ecore:EReference" name="arrayDim" lowerBound="1"
299          eType="#//ArrayDim/ArrayDim" containment="true"/>
300      <eStructuralFeatures xsi:type="ecore:EReference" name="modification" eType="#//Modifications/uModification"
301          containment="true"/>
302    </eClassifiers>
303  </eSubpackages>
304  <eSubpackages name="EquationItem" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/EquationItem"
305      nsPrefix="EquationItem">
306    <eClassifiers xsi:type="ecore:EClass" name="uEquationItem" abstract="true"/>
307    <eClassifiers xsi:type="ecore:EClass" name="EQUATIONITEM" eSuperTypes="#//EquationItem/uEquationItem">
308      <eStructuralFeatures xsi:type="ecore:EReference" name="equation_" lowerBound="1"
309          eType="#//Equation/uEquation" containment="true"/>
310      <eStructuralFeatures xsi:type="ecore:EReference" name="comment" eType="#//Comment/uComment"/>
311    </eClassifiers>
312    <eClassifiers xsi:type="ecore:EClass" name="EQUATIONITEMANN" eSuperTypes="#//EquationItem/uEquationItem">
313      <eStructuralFeatures xsi:type="ecore:EReference" name="annotation_" lowerBound="1"
314          eType="#//Annotation/uAnnotation" containment="true"/>
315    </eClassifiers>
316  </eSubpackages>
317  <eSubpackages name="AlgorithmItem" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/AlgorithmItem"
318      nsPrefix="AlgorithmItem">
319    <eClassifiers xsi:type="ecore:EClass" name="uAlgorithmItem" abstract="true"/>
320    <eClassifiers xsi:type="ecore:EClass" name="ALGORITHMITEM" eSuperTypes="#//AlgorithmItem/uAlgorithmItem">
321      <eStructuralFeatures xsi:type="ecore:EReference" name="algorithm_" lowerBound="1"
322          eType="#//AlgorithmStatement/uAlgorithmStatement" containment="true"/>
323      <eStructuralFeatures xsi:type="ecore:EReference" name="comment" eType="#//Comment/uComment"
324          containment="true"/>
325    </eClassifiers>
326    <eClassifiers xsi:type="ecore:EClass" name="ALGORITHMITEMANN" eSuperTypes="#//AlgorithmItem/uAlgorithmItem">
327      <eStructuralFeatures xsi:type="ecore:EReference" name="annotation_" lowerBound="1"
328          eType="#//Annotation/uAnnotation" containment="true"/>
329    </eClassifiers>
330  </eSubpackages>
331  <eSubpackages name="Equation" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Equation"
332      nsPrefix="Equation">
333    <eClassifiers xsi:type="ecore:EClass" name="uEquation" abstract="true"/>
334    <eClassifiers xsi:type="ecore:EClass" name="EQ_IF" eSuperTypes="#//Equation/uEquation">
335      <eStructuralFeatures xsi:type="ecore:EReference" name="ifExp" lowerBound="1"
336          eType="#//Exp/uExp" containment="true"/>
337      <eStructuralFeatures xsi:type="ecore:EReference" name="equationTrueItems" upperBound="-1"
338          eType="#//EquationItem/uEquationItem" containment="true"/>
339      <eStructuralFeatures xsi:type="ecore:EReference" name="elseIfBranches" upperBound="-1"
340          eType="#//Equation/tuple_ElseIfBranch" containment="true"/>
341      <eStructuralFeatures xsi:type="ecore:EReference" name="equationElseItems" upperBound="-1"
342          eType="#//EquationItem/uEquationItem" containment="true"/>
343    </eClassifiers>
344    <eClassifiers xsi:type="ecore:EClass" name="EQ_EQUALS" eSuperTypes="#//Equation/uEquation">
345      <eStructuralFeatures xsi:type="ecore:EReference" name="leftSide" lowerBound="1"
346          eType="#//Exp/uExp" containment="true"/>
347      <eStructuralFeatures xsi:type="ecore:EReference" name="rightSide" lowerBound="1"
348          eType="#//Exp/uExp" containment="true"/>
349    </eClassifiers>
350    <eClassifiers xsi:type="ecore:EClass" name="EQ_CONNECT" eSuperTypes="#//Equation/uEquation">
351      <eStructuralFeatures xsi:type="ecore:EReference" name="connector1" lowerBound="1"
352          eType="#//ComponentRef/uComponentRef" containment="true"/>
353      <eStructuralFeatures xsi:type="ecore:EReference" name="connector2" lowerBound="1"
354          eType="#//ComponentRef/uComponentRef" containment="true"/>
355    </eClassifiers>
356    <eClassifiers xsi:type="ecore:EClass" name="EQ_FOR" eSuperTypes="#//Equation/uEquation">
357      <eStructuralFeatures xsi:type="ecore:EReference" name="forEquations" upperBound="-1"
358          eType="#//EquationItem/uEquationItem" containment="true"/>
359      <eStructuralFeatures xsi:type="ecore:EReference" name="iterators" lowerBound="1"
360          eType="#//Iterators/ForIterators" containment="true"/>
361    </eClassifiers>
362    <eClassifiers xsi:type="ecore:EClass" name="EQ_WHEN_E" eSuperTypes="#//Equation/uEquation">
363      <eStructuralFeatures xsi:type="ecore:EReference" name="whenExp" lowerBound="1"
364          eType="#//Exp/uExp" containment="true"/>
365      <eStructuralFeatures xsi:type="ecore:EReference" name="whenEquations" upperBound="-1"
366          eType="#//EquationItem/uEquationItem" containment="true"/>
367      <eStructuralFeatures xsi:type="ecore:EReference" name="elseWhenEquations" upperBound="-1"
368          eType="#//Equation/tuple_ElseWhenEquation" containment="true"/>
369    </eClassifiers>
370    <eClassifiers xsi:type="ecore:EClass" name="EQ_NORETCALL" eSuperTypes="#//Equation/uEquation">
371      <eStructuralFeatures xsi:type="ecore:EReference" name="functionArgs" lowerBound="1"
372          eType="#//FunctionArgs/uFunctionArguments" containment="true"/>
373      <eStructuralFeatures xsi:type="ecore:EReference" name="functionName" lowerBound="1"
374          eType="#//ComponentRef/uComponentRef" containment="true"/>
375    </eClassifiers>
376    <eClassifiers xsi:type="ecore:EClass" name="tuple_ElseIfBranch">
377      <eStructuralFeatures xsi:type="ecore:EReference" name="exp" lowerBound="1" eType="#//Exp/uExp"
378          containment="true"/>
379      <eStructuralFeatures xsi:type="ecore:EReference" name="equationItem" upperBound="-1"
380          eType="#//EquationItem/uEquationItem" containment="true"/>
381    </eClassifiers>
382    <eClassifiers xsi:type="ecore:EClass" name="tuple_ElseWhenEquation">
383      <eStructuralFeatures xsi:type="ecore:EReference" name="exp" lowerBound="1" eType="#//Exp/uExp"
384          containment="true"/>
385      <eStructuralFeatures xsi:type="ecore:EReference" name="equationItem" upperBound="-1"
386          eType="#//EquationItem/uEquationItem" containment="true"/>
387    </eClassifiers>
388    <eClassifiers xsi:type="ecore:EClass" name="EQ_FAILURE" eSuperTypes="#//Equation/uEquation">
389      <eStructuralFeatures xsi:type="ecore:EReference" name="equ" lowerBound="1" eType="#//EquationItem/uEquationItem"
390          containment="true"/>
391    </eClassifiers>
392  </eSubpackages>
393  <eSubpackages name="AlgorithmStatement" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/AlgorithmStatement"
394      nsPrefix="AlgorithmStatement">
395    <eClassifiers xsi:type="ecore:EClass" name="uAlgorithmStatement" abstract="true"/>
396    <eClassifiers xsi:type="ecore:EClass" name="ALG_ASSIGN" eSuperTypes="#//AlgorithmStatement/uAlgorithmStatement">
397      <eStructuralFeatures xsi:type="ecore:EReference" name="assignComponent" lowerBound="1"
398          eType="#//Exp/uExp" containment="true"/>
399      <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1"
400          eType="#//Exp/uExp" containment="true"/>
401    </eClassifiers>
402    <eClassifiers xsi:type="ecore:EClass" name="ALG_IF" eSuperTypes="#//AlgorithmStatement/uAlgorithmStatement">
403      <eStructuralFeatures xsi:type="ecore:EReference" name="ifExp" lowerBound="1"
404          eType="#//Exp/uExp" containment="true"/>
405      <eStructuralFeatures xsi:type="ecore:EReference" name="trueBranch" upperBound="-1"
406          eType="#//AlgorithmItem/uAlgorithmItem" containment="true"/>
407      <eStructuralFeatures xsi:type="ecore:EReference" name="elseIfAlgorithmBranch"
408          upperBound="-1" eType="#//AlgorithmStatement/tuple_ElseIfAlgorithmBranch"
409          containment="true"/>
410      <eStructuralFeatures xsi:type="ecore:EReference" name="elseBranch" upperBound="-1"
411          eType="#//AlgorithmItem/uAlgorithmItem" containment="true"/>
412    </eClassifiers>
413    <eClassifiers xsi:type="ecore:EClass" name="ALG_FOR" eSuperTypes="#//AlgorithmStatement/uAlgorithmStatement">
414      <eStructuralFeatures xsi:type="ecore:EReference" name="iterators" lowerBound="1"
415          eType="#//Iterators/ForIterators"/>
416      <eStructuralFeatures xsi:type="ecore:EReference" name="forBody" upperBound="-1"
417          eType="#//AlgorithmItem/uAlgorithmItem" containment="true"/>
418    </eClassifiers>
419    <eClassifiers xsi:type="ecore:EClass" name="ALG_WHILE" eSuperTypes="#//AlgorithmStatement/uAlgorithmStatement">
420      <eStructuralFeatures xsi:type="ecore:EReference" name="boolExpr" lowerBound="1"
421          eType="#//Exp/uExp" containment="true"/>
422      <eStructuralFeatures xsi:type="ecore:EReference" name="whileBody" upperBound="-1"
423          eType="#//AlgorithmItem/uAlgorithmItem" containment="true"/>
424    </eClassifiers>
425    <eClassifiers xsi:type="ecore:EClass" name="ALG_WHEN_A" eSuperTypes="#//AlgorithmStatement/uAlgorithmStatement">
426      <eStructuralFeatures xsi:type="ecore:EReference" name="boolExpr" lowerBound="1"
427          eType="#//Exp/uExp" containment="true"/>
428      <eStructuralFeatures xsi:type="ecore:EReference" name="whenBody" upperBound="-1"
429          eType="#//AlgorithmItem/uAlgorithmItem" containment="true"/>
430      <eStructuralFeatures xsi:type="ecore:EReference" name="elseWhenAlgorithmBranch"
431          upperBound="-1" eType="#//AlgorithmStatement/tuple_ElseWhenAlgorithmBranch"
432          containment="true"/>
433    </eClassifiers>
434    <eClassifiers xsi:type="ecore:EClass" name="ALG_NORETCALL" eSuperTypes="#//AlgorithmStatement/uAlgorithmStatement">
435      <eStructuralFeatures xsi:type="ecore:EReference" name="functionCall" lowerBound="1"
436          eType="#//ComponentRef/uComponentRef" containment="true"/>
437      <eStructuralFeatures xsi:type="ecore:EReference" name="functionArgs" lowerBound="1"
438          eType="#//FunctionArgs/uFunctionArguments" containment="true"/>
439    </eClassifiers>
440    <eClassifiers xsi:type="ecore:EClass" name="ALG_RETURN" eSuperTypes="#//AlgorithmStatement/uAlgorithmStatement"/>
441    <eClassifiers xsi:type="ecore:EClass" name="ALG_BREAK" eSuperTypes="#//AlgorithmStatement/uAlgorithmStatement"/>
442    <eClassifiers xsi:type="ecore:EClass" name="tuple_ElseIfAlgorithmBranch">
443      <eStructuralFeatures xsi:type="ecore:EReference" name="exp" lowerBound="1" eType="#//Exp/uExp"
444          containment="true"/>
445      <eStructuralFeatures xsi:type="ecore:EReference" name="algorithmItem" upperBound="-1"
446          eType="#//AlgorithmItem/uAlgorithmItem" containment="true"/>
447    </eClassifiers>
448    <eClassifiers xsi:type="ecore:EClass" name="tuple_ElseWhenAlgorithmBranch">
449      <eStructuralFeatures xsi:type="ecore:EReference" name="exp" lowerBound="1" eType="#//Exp/uExp"
450          containment="true"/>
451      <eStructuralFeatures xsi:type="ecore:EReference" name="algorithmItem" upperBound="-1"
452          eType="#//AlgorithmItem/uAlgorithmItem" containment="true"/>
453    </eClassifiers>
454  </eSubpackages>
455  <eSubpackages name="Modifications" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Modifications"
456      nsPrefix="Modifications">
457    <eClassifiers xsi:type="ecore:EClass" name="uModification" abstract="true"/>
458    <eClassifiers xsi:type="ecore:EClass" name="CLASSMOD" eSuperTypes="#//Modifications/uModification">
459      <eStructuralFeatures xsi:type="ecore:EReference" name="elementArgList" upperBound="-1"
460          eType="#//ElementArg/uElementArg" containment="true"/>
461      <eStructuralFeatures xsi:type="ecore:EReference" name="expOption" eType="#//Exp/uExp"
462          containment="true"/>
463    </eClassifiers>
464  </eSubpackages>
465  <eSubpackages name="ElementArg" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/ElementArg"
466      nsPrefix="ElementArg">
467    <eClassifiers xsi:type="ecore:EClass" name="uElementArg" abstract="true"/>
468    <eClassifiers xsi:type="ecore:EClass" name="MODIFICATION" eSuperTypes="#//ElementArg/uElementArg">
469      <eStructuralFeatures xsi:type="ecore:EAttribute" name="finalItem" lowerBound="1"
470          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
471      <eStructuralFeatures xsi:type="ecore:EReference" name="each_" lowerBound="1"
472          eType="#//Each/uEach" containment="true"/>
473      <eStructuralFeatures xsi:type="ecore:EReference" name="componentReg" lowerBound="1"
474          eType="#//ComponentRef/uComponentRef" containment="true"/>
475      <eStructuralFeatures xsi:type="ecore:EReference" name="modification" eType="#//Modifications/uModification"
476          containment="true"/>
477      <eStructuralFeatures xsi:type="ecore:EReference" name="comment" eType="#//Comment/uComment"
478          containment="true"/>
479    </eClassifiers>
480    <eClassifiers xsi:type="ecore:EClass" name="REDECLARATION" eSuperTypes="#//ElementArg/uElementArg">
481      <eStructuralFeatures xsi:type="ecore:EAttribute" name="finalItem" lowerBound="1"
482          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
483      <eStructuralFeatures xsi:type="ecore:EReference" name="redeclareKeywords" lowerBound="1"
484          eType="#//RedeclareKeywords/uRedeclareKeywords" containment="true"/>
485      <eStructuralFeatures xsi:type="ecore:EReference" name="each_" lowerBound="1"
486          eType="#//Each/uEach" containment="true"/>
487      <eStructuralFeatures xsi:type="ecore:EReference" name="elementSpec" lowerBound="1"
488          eType="#//ElementSpec/uElementSpec" containment="true"/>
489      <eStructuralFeatures xsi:type="ecore:EReference" name="constrainClass" lowerBound="1"
490          eType="#//ConstrainClass/uConstrainClass" containment="true"/>
491    </eClassifiers>
492  </eSubpackages>
493  <eSubpackages name="RedeclareKeywords" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/RedeclareKeywords"
494      nsPrefix="RedeclareKeywords">
495    <eClassifiers xsi:type="ecore:EEnum" name="BSOLETE_RedeclareKeywords">
496      <eLiterals name="REDECLARE"/>
497      <eLiterals name="REPLACEABLE" value="1"/>
498      <eLiterals name="REDECLARE_REPLACEABLE" value="2"/>
499    </eClassifiers>
500    <eClassifiers xsi:type="ecore:EClass" name="uRedeclareKeywords" abstract="true"/>
501    <eClassifiers xsi:type="ecore:EClass" name="REDECLARE" eSuperTypes="#//RedeclareKeywords/uRedeclareKeywords"/>
502    <eClassifiers xsi:type="ecore:EClass" name="REPLACEABLE" eSuperTypes="#//RedeclareKeywords/uRedeclareKeywords"/>
503    <eClassifiers xsi:type="ecore:EClass" name="REDECLARE_REPLACEABLE" eSuperTypes="#//RedeclareKeywords/uRedeclareKeywords"/>
504  </eSubpackages>
505  <eSubpackages name="Each" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Each"
506      nsPrefix="Each">
507    <eClassifiers xsi:type="ecore:EEnum" name="OBSOLETE_Each">
508      <eLiterals name="EACH"/>
509      <eLiterals name="NON_EACH" value="1"/>
510    </eClassifiers>
511    <eClassifiers xsi:type="ecore:EClass" name="uEach" abstract="true"/>
512    <eClassifiers xsi:type="ecore:EClass" name="EACH" eSuperTypes="#//Each/uEach"/>
513    <eClassifiers xsi:type="ecore:EClass" name="NON_EACH" eSuperTypes="#//Each/uEach"/>
514  </eSubpackages>
515  <eSubpackages name="ElementAttributes" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/ElementAttributes"
516      nsPrefix="ElementAttributes">
517    <eClassifiers xsi:type="ecore:EClass" name="uElementAttributes" abstract="true"/>
518    <eClassifiers xsi:type="ecore:EClass" name="ATTR" eSuperTypes="#//ElementAttributes/uElementAttributes">
519      <eStructuralFeatures xsi:type="ecore:EAttribute" name="flowPrefix" lowerBound="1"
520          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
521      <eStructuralFeatures xsi:type="ecore:EAttribute" name="streamPrefix" lowerBound="1"
522          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
523      <eStructuralFeatures xsi:type="ecore:EReference" name="variability" lowerBound="1"
524          eType="#//Variability/uVariability" containment="true"/>
525      <eStructuralFeatures xsi:type="ecore:EReference" name="direction" lowerBound="1"
526          eType="#//Direction/uDirection" containment="true"/>
527      <eStructuralFeatures xsi:type="ecore:EReference" name="arrayDim" eType="#//ArrayDim/ArrayDim"
528          containment="true"/>
529    </eClassifiers>
530  </eSubpackages>
531  <eSubpackages name="Variability" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Variability"
532      nsPrefix="Variability">
533    <eClassifiers xsi:type="ecore:EEnum" name="OBSOLETE_Variability">
534      <eLiterals name="CONTINUOUS"/>
535      <eLiterals name="DISCRETE" value="1"/>
536      <eLiterals name="PARAMETER" value="2"/>
537      <eLiterals name="CONSTANT" value="3"/>
538    </eClassifiers>
539    <eClassifiers xsi:type="ecore:EClass" name="uVariability" abstract="true"/>
540    <eClassifiers xsi:type="ecore:EClass" name="VAR" eSuperTypes="#//Variability/uVariability"/>
541    <eClassifiers xsi:type="ecore:EClass" name="DISCRETE" eSuperTypes="#//Variability/uVariability"/>
542    <eClassifiers xsi:type="ecore:EClass" name="PARAM" eSuperTypes="#//Variability/uVariability"/>
543    <eClassifiers xsi:type="ecore:EClass" name="CONST" eSuperTypes="#//Variability/uVariability"/>
544  </eSubpackages>
545  <eSubpackages name="Direction" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Direction"
546      nsPrefix="Direction">
547    <eClassifiers xsi:type="ecore:EEnum" name="OBSOLETE_Direction">
548      <eLiterals name="INPUT"/>
549      <eLiterals name="OUTPUT" value="1"/>
550      <eLiterals name="ACAUSAL" value="2"/>
551    </eClassifiers>
552    <eClassifiers xsi:type="ecore:EClass" name="uDirection" abstract="true"/>
553    <eClassifiers xsi:type="ecore:EClass" name="INPUT" eSuperTypes="#//Direction/uDirection"/>
554    <eClassifiers xsi:type="ecore:EClass" name="OUTPUT" eSuperTypes="#//Direction/uDirection"/>
555    <eClassifiers xsi:type="ecore:EClass" name="BIDIR" eSuperTypes="#//Direction/uDirection"/>
556  </eSubpackages>
557  <eSubpackages name="ArrayDim" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/ArrayDim"
558      nsPrefix="ArrayDim">
559    <eClassifiers xsi:type="ecore:EClass" name="ArrayDim">
560      <eStructuralFeatures xsi:type="ecore:EReference" name="subscripts" upperBound="-1"
561          eType="#//Subscript/uSubscript" containment="true"/>
562    </eClassifiers>
563  </eSubpackages>
564  <eSubpackages name="Exp" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Exp"
565      nsPrefix="Exp">
566    <eClassifiers xsi:type="ecore:EClass" name="uExp" abstract="true"/>
567    <eClassifiers xsi:type="ecore:EClass" name="INTEGER" eSuperTypes="#//Exp/uExp">
568      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1"
569          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
570    </eClassifiers>
571    <eClassifiers xsi:type="ecore:EClass" name="REAL" eSuperTypes="#//Exp/uExp">
572      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1"
573          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
574    </eClassifiers>
575    <eClassifiers xsi:type="ecore:EClass" name="CREF" eSuperTypes="#//Exp/uExp">
576      <eStructuralFeatures xsi:type="ecore:EReference" name="componentReg" lowerBound="1"
577          eType="#//ComponentRef/uComponentRef" containment="true"/>
578    </eClassifiers>
579    <eClassifiers xsi:type="ecore:EClass" name="STRING" eSuperTypes="#//Exp/uExp">
580      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1"
581          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
582    </eClassifiers>
583    <eClassifiers xsi:type="ecore:EClass" name="BOOL" eSuperTypes="#//Exp/uExp">
584      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1"
585          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
586    </eClassifiers>
587    <eClassifiers xsi:type="ecore:EClass" name="BINARY" eSuperTypes="#//Exp/uExp">
588      <eStructuralFeatures xsi:type="ecore:EReference" name="exp1" lowerBound="1"
589          eType="#//Exp/uExp" containment="true"/>
590      <eStructuralFeatures xsi:type="ecore:EReference" name="op" lowerBound="1" eType="#//Operator/uOperator"
591          containment="true"/>
592      <eStructuralFeatures xsi:type="ecore:EReference" name="exp2" lowerBound="1"
593          eType="#//Exp/uExp" containment="true"/>
594    </eClassifiers>
595    <eClassifiers xsi:type="ecore:EClass" name="UNARY" eSuperTypes="#//Exp/uExp">
596      <eStructuralFeatures xsi:type="ecore:EReference" name="op" lowerBound="1" eType="#//Operator/uOperator"
597          containment="true"/>
598      <eStructuralFeatures xsi:type="ecore:EReference" name="exp" lowerBound="1" eType="#//Exp/uExp"
599          containment="true"/>
600    </eClassifiers>
601    <eClassifiers xsi:type="ecore:EClass" name="LBINARY" eSuperTypes="#//Exp/uExp">
602      <eStructuralFeatures xsi:type="ecore:EReference" name="exp1" lowerBound="1"
603          eType="#//Exp/uExp" containment="true"/>
604      <eStructuralFeatures xsi:type="ecore:EReference" name="op" lowerBound="1" eType="#//Operator/uOperator"
605          containment="true"/>
606      <eStructuralFeatures xsi:type="ecore:EReference" name="exp2" lowerBound="1"
607          eType="#//Exp/uExp" containment="true"/>
608    </eClassifiers>
609    <eClassifiers xsi:type="ecore:EClass" name="LUNARY" eSuperTypes="#//Exp/uExp">
610      <eStructuralFeatures xsi:type="ecore:EReference" name="op" lowerBound="1" eType="#//Operator/uOperator"
611          containment="true"/>
612      <eStructuralFeatures xsi:type="ecore:EReference" name="exp" lowerBound="1" eType="#//Exp/uExp"
613          containment="true"/>
614    </eClassifiers>
615    <eClassifiers xsi:type="ecore:EClass" name="RELATION" eSuperTypes="#//Exp/uExp">
616      <eStructuralFeatures xsi:type="ecore:EReference" name="exp1" lowerBound="1"
617          eType="#//Exp/uExp" containment="true"/>
618      <eStructuralFeatures xsi:type="ecore:EReference" name="op" lowerBound="1" eType="#//Operator/uOperator"
619          containment="true"/>
620      <eStructuralFeatures xsi:type="ecore:EReference" name="exp2" lowerBound="1"
621          eType="#//Exp/uExp" containment="true"/>
622    </eClassifiers>
623    <eClassifiers xsi:type="ecore:EClass" name="IFEXP" eSuperTypes="#//Exp/uExp">
624      <eStructuralFeatures xsi:type="ecore:EReference" name="ifExp" lowerBound="1"
625          eType="#//Exp/uExp" containment="true"/>
626      <eStructuralFeatures xsi:type="ecore:EReference" name="trueBranch" lowerBound="1"
627          eType="#//Exp/uExp" containment="true"/>
628      <eStructuralFeatures xsi:type="ecore:EReference" name="elseBranch" lowerBound="1"
629          eType="#//Exp/uExp" containment="true"/>
630      <eStructuralFeatures xsi:type="ecore:EReference" name="elseIfBranch" upperBound="-1"
631          eType="#//Exp/tuple_ElseIfBranch" containment="true"/>
632    </eClassifiers>
633    <eClassifiers xsi:type="ecore:EClass" name="CALL" eSuperTypes="#//Exp/uExp">
634      <eStructuralFeatures xsi:type="ecore:EReference" name="function" lowerBound="1"
635          eType="#//ComponentRef/uComponentRef" containment="true"/>
636      <eStructuralFeatures xsi:type="ecore:EReference" name="functionArgs" lowerBound="1"
637          eType="#//FunctionArgs/uFunctionArguments" containment="true"/>
638    </eClassifiers>
639    <eClassifiers xsi:type="ecore:EClass" name="ARRAY" eSuperTypes="#//Exp/uExp">
640      <eStructuralFeatures xsi:type="ecore:EReference" name="arrayExp" upperBound="-1"
641          eType="#//Exp/uExp" containment="true"/>
642    </eClassifiers>
643    <eClassifiers xsi:type="ecore:EClass" name="MATRIX" eSuperTypes="#//Exp/uExp">
644      <eStructuralFeatures xsi:type="ecore:EReference" name="matrix" upperBound="-1"
645          eType="#//Exp/tuple_Matrix" containment="true"/>
646    </eClassifiers>
647    <eClassifiers xsi:type="ecore:EClass" name="RANGE" eSuperTypes="#//Exp/uExp">
648      <eStructuralFeatures xsi:type="ecore:EReference" name="start" lowerBound="1"
649          eType="#//Exp/uExp" containment="true"/>
650      <eStructuralFeatures xsi:type="ecore:EReference" name="step" eType="#//Exp/uExp"
651          containment="true"/>
652      <eStructuralFeatures xsi:type="ecore:EReference" name="stop" lowerBound="1"
653          eType="#//Exp/uExp" containment="true"/>
654    </eClassifiers>
655    <eClassifiers xsi:type="ecore:EClass" name="TUPLE" eSuperTypes="#//Exp/uExp">
656      <eStructuralFeatures xsi:type="ecore:EReference" name="expressions" upperBound="-1"
657          eType="#//Exp/uExp" containment="true"/>
658    </eClassifiers>
659    <eClassifiers xsi:type="ecore:EClass" name="END" eSuperTypes="#//Exp/uExp"/>
660    <eClassifiers xsi:type="ecore:EClass" name="PARTEVALFUNCTION" eSuperTypes="#//Exp/uExp">
661      <eStructuralFeatures xsi:type="ecore:EReference" name="function_" lowerBound="1"
662          eType="#//ComponentRef/uComponentRef" containment="true"/>
663      <eStructuralFeatures xsi:type="ecore:EReference" name="functionArgs" lowerBound="1"
664          eType="#//FunctionArgs/uFunctionArguments" containment="true"/>
665    </eClassifiers>
666    <eClassifiers xsi:type="ecore:EClass" name="tuple_ElseIfBranch">
667      <eStructuralFeatures xsi:type="ecore:EReference" name="exp1" lowerBound="1"
668          eType="#//Exp/uExp" containment="true"/>
669      <eStructuralFeatures xsi:type="ecore:EReference" name="exp2" lowerBound="1"
670          eType="#//Exp/uExp" containment="true"/>
671    </eClassifiers>
672    <eClassifiers xsi:type="ecore:EClass" name="tuple_Matrix">
673      <eStructuralFeatures xsi:type="ecore:EReference" name="exp" upperBound="-1"
674          eType="#//Exp/uExp" containment="true"/>
675    </eClassifiers>
676    <eClassifiers xsi:type="ecore:EClass" name="CALL_INITIAL" eSuperTypes="#//Exp/uExp"/>
677  </eSubpackages>
678  <eSubpackages name="FunctionArgs" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/FunctionArgs"
679      nsPrefix="FunctionArgs">
680    <eClassifiers xsi:type="ecore:EClass" name="uFunctionArguments" abstract="true"/>
681    <eClassifiers xsi:type="ecore:EClass" name="FUNCTIONARGS" eSuperTypes="#//FunctionArgs/uFunctionArguments">
682      <eStructuralFeatures xsi:type="ecore:EReference" name="args" upperBound="-1"
683          eType="#//Exp/uExp" containment="true"/>
684      <eStructuralFeatures xsi:type="ecore:EReference" name="argNames" upperBound="-1"
685          eType="#//NamedArg/uNamedArg" containment="true"/>
686    </eClassifiers>
687    <eClassifiers xsi:type="ecore:EClass" name="FOR_ITER_FARG" eSuperTypes="#//FunctionArgs/uFunctionArguments">
688      <eStructuralFeatures xsi:type="ecore:EReference" name="exp" lowerBound="1" eType="#//Exp/uExp"
689          containment="true"/>
690      <eStructuralFeatures xsi:type="ecore:EReference" name="iterators" lowerBound="1"
691          eType="#//Iterators/ForIterator" containment="true"/>
692    </eClassifiers>
693  </eSubpackages>
694  <eSubpackages name="NamedArg" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/NamedArg"
695      nsPrefix="NamedArg">
696    <eClassifiers xsi:type="ecore:EClass" name="uNamedArg" abstract="true"/>
697    <eClassifiers xsi:type="ecore:EClass" name="NAMEDARG" eSuperTypes="#//NamedArg/uNamedArg">
698      <eStructuralFeatures xsi:type="ecore:EAttribute" name="argName" lowerBound="1"
699          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
700      <eStructuralFeatures xsi:type="ecore:EReference" name="argValue" lowerBound="1"
701          eType="#//Exp/uExp" containment="true"/>
702    </eClassifiers>
703  </eSubpackages>
704  <eSubpackages name="Operator" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Operator"
705      nsPrefix="Operator">
706    <eClassifiers xsi:type="ecore:EEnum" name="OBSOLETE_Operator">
707      <eLiterals name="ADD"/>
708      <eLiterals name="SUB" value="1"/>
709      <eLiterals name="MUL" value="2"/>
710      <eLiterals name="DIV" value="3"/>
711      <eLiterals name="POW" value="4"/>
712      <eLiterals name="UPLUS" value="5"/>
713      <eLiterals name="UMINUS" value="6"/>
714      <eLiterals name="AND" value="7"/>
715      <eLiterals name="OR" value="8"/>
716      <eLiterals name="NOT" value="9"/>
717      <eLiterals name="LESS" value="10"/>
718      <eLiterals name="LESSEQ" value="11"/>
719      <eLiterals name="GREATER" value="12"/>
720      <eLiterals name="GREATEREQ" value="13"/>
721      <eLiterals name="EQUAL" value="14"/>
722      <eLiterals name="NEQUAL" value="15"/>
723    </eClassifiers>
724    <eClassifiers xsi:type="ecore:EClass" name="uOperator" abstract="true"/>
725    <eClassifiers xsi:type="ecore:EClass" name="ADD" eSuperTypes="#//Operator/uOperator"/>
726    <eClassifiers xsi:type="ecore:EClass" name="SUB" eSuperTypes="#//Operator/uOperator"/>
727    <eClassifiers xsi:type="ecore:EClass" name="MUL" eSuperTypes="#//Operator/uOperator"/>
728    <eClassifiers xsi:type="ecore:EClass" name="DIV" eSuperTypes="#//Operator/uOperator"/>
729    <eClassifiers xsi:type="ecore:EClass" name="POW" eSuperTypes="#//Operator/uOperator"/>
730    <eClassifiers xsi:type="ecore:EClass" name="UPLUS" eSuperTypes="#//Operator/uOperator"/>
731    <eClassifiers xsi:type="ecore:EClass" name="UMINUS" eSuperTypes="#//Operator/uOperator"/>
732    <eClassifiers xsi:type="ecore:EClass" name="ADD_EW" eSuperTypes="#//Operator/uOperator"/>
733    <eClassifiers xsi:type="ecore:EClass" name="SUB_EW" eSuperTypes="#//Operator/uOperator"/>
734    <eClassifiers xsi:type="ecore:EClass" name="MUL_EW" eSuperTypes="#//Operator/uOperator"/>
735    <eClassifiers xsi:type="ecore:EClass" name="DIV_EW" eSuperTypes="#//Operator/uOperator"/>
736    <eClassifiers xsi:type="ecore:EClass" name="POW_EW" eSuperTypes="#//Operator/uOperator"/>
737    <eClassifiers xsi:type="ecore:EClass" name="UPLUS_EW" eSuperTypes="#//Operator/uOperator"/>
738    <eClassifiers xsi:type="ecore:EClass" name="UMINUS_EW" eSuperTypes="#//Operator/uOperator"/>
739    <eClassifiers xsi:type="ecore:EClass" name="AND" eSuperTypes="#//Operator/uOperator"/>
740    <eClassifiers xsi:type="ecore:EClass" name="OR" eSuperTypes="#//Operator/uOperator"/>
741    <eClassifiers xsi:type="ecore:EClass" name="NOT" eSuperTypes="#//Operator/uOperator"/>
742    <eClassifiers xsi:type="ecore:EClass" name="LESS" eSuperTypes="#//Operator/uOperator"/>
743    <eClassifiers xsi:type="ecore:EClass" name="LESSEQ" eSuperTypes="#//Operator/uOperator"/>
744    <eClassifiers xsi:type="ecore:EClass" name="GREATER" eSuperTypes="#//Operator/uOperator"/>
745    <eClassifiers xsi:type="ecore:EClass" name="GREATEREQ" eSuperTypes="#//Operator/uOperator"/>
746    <eClassifiers xsi:type="ecore:EClass" name="EQUAL" eSuperTypes="#//Operator/uOperator"/>
747    <eClassifiers xsi:type="ecore:EClass" name="NEQUAL" eSuperTypes="#//Operator/uOperator"/>
748  </eSubpackages>
749  <eSubpackages name="Subscript" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Subscript"
750      nsPrefix="Subscript">
751    <eClassifiers xsi:type="ecore:EClass" name="uSubscript" abstract="true"/>
752    <eClassifiers xsi:type="ecore:EClass" name="NOSUB" eSuperTypes="#//Subscript/uSubscript"/>
753    <eClassifiers xsi:type="ecore:EClass" name="SUBSCRIPT" eSuperTypes="#//Subscript/uSubscript">
754      <eStructuralFeatures xsi:type="ecore:EReference" name="subScript" lowerBound="1"
755          eType="#//Exp/uExp" containment="true"/>
756    </eClassifiers>
757  </eSubpackages>
758  <eSubpackages name="ComponentRef" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/ComponentRef"
759      nsPrefix="ComponentRef">
760    <eClassifiers xsi:type="ecore:EClass" name="uComponentRef" abstract="true"/>
761    <eClassifiers xsi:type="ecore:EClass" name="CREF_QUAL" eSuperTypes="#//ComponentRef/uComponentRef">
762      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
763          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
764      <eStructuralFeatures xsi:type="ecore:EReference" name="subscripts" upperBound="-1"
765          eType="#//Subscript/uSubscript" containment="true"/>
766      <eStructuralFeatures xsi:type="ecore:EReference" name="componentRef" lowerBound="1"
767          eType="#//ComponentRef/uComponentRef" containment="true"/>
768    </eClassifiers>
769    <eClassifiers xsi:type="ecore:EClass" name="CREF_IDENT" eSuperTypes="#//ComponentRef/uComponentRef">
770      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
771          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
772      <eStructuralFeatures xsi:type="ecore:EReference" name="subscripts" upperBound="-1"
773          eType="#//Subscript/uSubscript" containment="true"/>
774    </eClassifiers>
775    <eClassifiers xsi:type="ecore:EClass" name="WILD" eSuperTypes="#//ComponentRef/uComponentRef"/>
776  </eSubpackages>
777  <eSubpackages name="Path" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Path"
778      nsPrefix="Path">
779    <eClassifiers xsi:type="ecore:EClass" name="uPath" abstract="true"/>
780    <eClassifiers xsi:type="ecore:EClass" name="QUALIFIED" eSuperTypes="#//Path/uPath">
781      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
782          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
783      <eStructuralFeatures xsi:type="ecore:EReference" name="path" lowerBound="1"
784          eType="#//Path/uPath" containment="true"/>
785    </eClassifiers>
786    <eClassifiers xsi:type="ecore:EClass" name="IDENT" eSuperTypes="#//Path/uPath">
787      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
788          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
789    </eClassifiers>
790    <eClassifiers xsi:type="ecore:EClass" name="FULLYQUALIFIED" eSuperTypes="#//Path/uPath">
791      <eStructuralFeatures xsi:type="ecore:EReference" name="path" lowerBound="1"
792          eType="#//Path/uPath" containment="true"/>
793    </eClassifiers>
794  </eSubpackages>
795  <eSubpackages name="Restriction" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Restriction"
796      nsPrefix="Restriction">
797    <eClassifiers xsi:type="ecore:EEnum" name="OBSOLETE_Restriction">
798      <eLiterals name="R_CLASS"/>
799      <eLiterals name="R_MODEL" value="1"/>
800      <eLiterals name="R_RECORD" value="2"/>
801      <eLiterals name="R_BLOCK" value="3"/>
802      <eLiterals name="R_CONNECTOR" value="4"/>
803      <eLiterals name="R_EXP_CONNECTOR" value="5"/>
804      <eLiterals name="R_TYPE" value="6"/>
805      <eLiterals name="R_PACKAGE" value="7"/>
806      <eLiterals name="R_FUNCTION" value="8"/>
807      <eLiterals name="R_ENUMERATION" value="9"/>
808      <eLiterals name="R_PREDEFINED_INT" value="10"/>
809      <eLiterals name="R_PREDEFINED_REAL" value="11"/>
810      <eLiterals name="R_PREDEFINED_STRING" value="12"/>
811      <eLiterals name="R_PREDEFINED_BOOL" value="13"/>
812      <eLiterals name="R_PREDEFINED_ENUM" value="14"/>
813    </eClassifiers>
814    <eClassifiers xsi:type="ecore:EClass" name="uRestriction" abstract="true"/>
815    <eClassifiers xsi:type="ecore:EClass" name="R_CLASS" eSuperTypes="#//Restriction/uRestriction"/>
816    <eClassifiers xsi:type="ecore:EClass" name="R_MODEL" eSuperTypes="#//Restriction/uRestriction"/>
817    <eClassifiers xsi:type="ecore:EClass" name="R_RECORD" eSuperTypes="#//Restriction/uRestriction"/>
818    <eClassifiers xsi:type="ecore:EClass" name="R_BLOCK" eSuperTypes="#//Restriction/uRestriction"/>
819    <eClassifiers xsi:type="ecore:EClass" name="R_CONNECTOR" eSuperTypes="#//Restriction/uRestriction"/>
820    <eClassifiers xsi:type="ecore:EClass" name="R_EXP_CONNECTOR" eSuperTypes="#//Restriction/uRestriction"/>
821    <eClassifiers xsi:type="ecore:EClass" name="R_TYPE" eSuperTypes="#//Restriction/uRestriction"/>
822    <eClassifiers xsi:type="ecore:EClass" name="R_PACKAGE" eSuperTypes="#//Restriction/uRestriction"/>
823    <eClassifiers xsi:type="ecore:EClass" name="R_FUNCTION" eSuperTypes="#//Restriction/uRestriction"/>
824    <eClassifiers xsi:type="ecore:EClass" name="R_ENUMERATION" eSuperTypes="#//Restriction/uRestriction"/>
825    <eClassifiers xsi:type="ecore:EClass" name="R_PREDEFINED_INT" eSuperTypes="#//Restriction/uRestriction"/>
826    <eClassifiers xsi:type="ecore:EClass" name="R_PREDEFINED_REAL" eSuperTypes="#//Restriction/uRestriction"/>
827    <eClassifiers xsi:type="ecore:EClass" name="R_PREDEFINED_STRING" eSuperTypes="#//Restriction/uRestriction"/>
828    <eClassifiers xsi:type="ecore:EClass" name="R_PREDEFINED_BOOL" eSuperTypes="#//Restriction/uRestriction"/>
829    <eClassifiers xsi:type="ecore:EClass" name="R_PREDEFINED_ENUM" eSuperTypes="#//Restriction/uRestriction"/>
830  </eSubpackages>
831  <eSubpackages name="Annotation" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Annotation"
832      nsPrefix="Annotation">
833    <eClassifiers xsi:type="ecore:EClass" name="uAnnotation" abstract="true"/>
834    <eClassifiers xsi:type="ecore:EClass" name="ANNOTATION" eSuperTypes="#//Annotation/uAnnotation">
835      <eStructuralFeatures xsi:type="ecore:EReference" name="elementArgs" upperBound="-1"
836          eType="#//ElementArg/uElementArg" containment="true"/>
837    </eClassifiers>
838  </eSubpackages>
839  <eSubpackages name="Comment" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Comment"
840      nsPrefix="Comment">
841    <eClassifiers xsi:type="ecore:EClass" name="uComment" abstract="true"/>
842    <eClassifiers xsi:type="ecore:EClass" name="COMMENT" eSuperTypes="#//Comment/uComment">
843      <eStructuralFeatures xsi:type="ecore:EReference" name="annotation_" eType="#//Annotation/uAnnotation"
844          containment="true"/>
845      <eStructuralFeatures xsi:type="ecore:EReference" name="comment" eType="#//Comment/uComment"
846          containment="true"/>
847    </eClassifiers>
848    <eClassifiers xsi:type="ecore:EClass" name="STRING_COMMENT" eSuperTypes="#//Comment/uComment">
849      <eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
850    </eClassifiers>
851  </eSubpackages>
852  <eSubpackages name="ExternalDecl" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/ExternalDecl"
853      nsPrefix="ExternalDecl">
854    <eClassifiers xsi:type="ecore:EClass" name="uExternalDecl" abstract="true"/>
855    <eClassifiers xsi:type="ecore:EClass" name="EXTERNALDECL" eSuperTypes="#//ExternalDecl/uExternalDecl">
856      <eStructuralFeatures xsi:type="ecore:EAttribute" name="funcName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
857      <eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
858      <eStructuralFeatures xsi:type="ecore:EReference" name="output_" eType="#//ComponentRef/uComponentRef"
859          containment="true"/>
860      <eStructuralFeatures xsi:type="ecore:EReference" name="args" upperBound="-1"
861          eType="#//Exp/uExp" containment="true"/>
862      <eStructuralFeatures xsi:type="ecore:EReference" name="annotation_" eType="#//Annotation/uAnnotation"
863          containment="true"/>
864    </eClassifiers>
865  </eSubpackages>
866  <eSubpackages name="TimeStamp" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/TimeStamp"
867      nsPrefix="TimeStamp">
868    <eClassifiers xsi:type="ecore:EClass" name="uTimeStamp" abstract="true"/>
869    <eClassifiers xsi:type="ecore:EClass" name="TIMESTAMP" eSuperTypes="#//TimeStamp/uTimeStamp">
870      <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastBuildTime" lowerBound="1"
871          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
872      <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastEditTime" lowerBound="1"
873          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
874    </eClassifiers>
875  </eSubpackages>
876  <eSubpackages name="Iterators" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/Iterators"
877      nsPrefix="Iterators">
878    <eClassifiers xsi:type="ecore:EClass" name="ForIterator">
879      <eStructuralFeatures xsi:type="ecore:EReference" name="tuple" eType="#//Iterators/tuple_ForIterator"
880          containment="true"/>
881    </eClassifiers>
882    <eClassifiers xsi:type="ecore:EClass" name="tuple_ForIterator">
883      <eStructuralFeatures xsi:type="ecore:EAttribute" name="Ident" lowerBound="1"
884          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
885      <eStructuralFeatures xsi:type="ecore:EReference" name="Exp" eType="#//Exp/uExp"
886          containment="true"/>
887    </eClassifiers>
888    <eClassifiers xsi:type="ecore:EClass" name="ForIterators">
889      <eStructuralFeatures xsi:type="ecore:EReference" name="forIterator" upperBound="-1"
890          eType="#//Iterators/ForIterator" containment="true"/>
891    </eClassifiers>
892  </eSubpackages>
893  <eSubpackages name="TypeSpec" nsURI="http://www.openmodelica.org/openmodelica.abstact.syntax/TypeSpec"
894      nsPrefix="TypeSpec">
895    <eClassifiers xsi:type="ecore:EClass" name="uTypeSpec" abstract="true"/>
896    <eClassifiers xsi:type="ecore:EClass" name="TPATH" eSuperTypes="#//TypeSpec/uTypeSpec">
897      <eStructuralFeatures xsi:type="ecore:EReference" name="path" lowerBound="1"
898          eType="#//Path/uPath" containment="true"/>
899      <eStructuralFeatures xsi:type="ecore:EReference" name="arrayDim" eType="#//ArrayDim/ArrayDim"
900          containment="true"/>
901    </eClassifiers>
902    <eClassifiers xsi:type="ecore:EClass" name="TCOMPLEX" eSuperTypes="#//TypeSpec/uTypeSpec">
903      <eStructuralFeatures xsi:type="ecore:EReference" name="path" lowerBound="1"
904          eType="#//Path/uPath" containment="true"/>
905      <eStructuralFeatures xsi:type="ecore:EReference" name="typeSpecs" upperBound="-1"
906          eType="#//TypeSpec/uTypeSpec" containment="true"/>
907    </eClassifiers>
908  </eSubpackages>
909</ecore:EPackage>
Note: See TracBrowser for help on using the repository browser.