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

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

Fixed some problem with the grammar file

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