|
@@ -1,507 +1,166 @@
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
-<ecore:EPackage
|
|
|
- xmi:version="2.0"
|
|
|
- xmlns:xmi="http://www.omg.org/XMI"
|
|
|
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
|
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
|
|
|
- name="expressions"
|
|
|
- nsURI="http://www.yakindu.org/base/expressions/Expressions"
|
|
|
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
|
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="expressions" nsURI="http://www.yakindu.org/base/expressions/Expressions"
|
|
|
nsPrefix="expressions">
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="Expression"
|
|
|
- abstract="true"/>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="Literal"
|
|
|
- abstract="true"/>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="BoolLiteral"
|
|
|
- eSuperTypes="#//Literal">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="value"
|
|
|
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true"/>
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="Literal" abstract="true"/>
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="BoolLiteral" eSuperTypes="#//Literal">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="IntLiteral"
|
|
|
- eSuperTypes="#//Literal">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="value"
|
|
|
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="IntLiteral" eSuperTypes="#//Literal">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="RealLiteral"
|
|
|
- eSuperTypes="#//Literal">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="value"
|
|
|
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="RealLiteral" eSuperTypes="#//Literal">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="HexLiteral"
|
|
|
- eSuperTypes="#//Literal">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="value"
|
|
|
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="HexLiteral" eSuperTypes="#//Literal">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="StringLiteral"
|
|
|
- eSuperTypes="#//Literal">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="value"
|
|
|
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="StringLiteral" eSuperTypes="#//Literal">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="NullLiteral"
|
|
|
- eSuperTypes="#//Literal"/>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EEnum"
|
|
|
- name="AssignmentOperator">
|
|
|
- <eLiterals
|
|
|
- name="assign"
|
|
|
- literal="="/>
|
|
|
- <eLiterals
|
|
|
- name="multAssign"
|
|
|
- value="1"
|
|
|
- literal="*="/>
|
|
|
- <eLiterals
|
|
|
- name="divAssign"
|
|
|
- value="2"
|
|
|
- literal="/="/>
|
|
|
- <eLiterals
|
|
|
- name="modAssign"
|
|
|
- value="3"
|
|
|
- literal="%="/>
|
|
|
- <eLiterals
|
|
|
- name="addAssign"
|
|
|
- value="4"
|
|
|
- literal="+="/>
|
|
|
- <eLiterals
|
|
|
- name="subAssign"
|
|
|
- value="5"
|
|
|
- literal="-="/>
|
|
|
- <eLiterals
|
|
|
- name="leftShiftAssign"
|
|
|
- value="6"
|
|
|
- literal="<<="/>
|
|
|
- <eLiterals
|
|
|
- name="rightShiftAssign"
|
|
|
- value="7"
|
|
|
- literal=">>="/>
|
|
|
- <eLiterals
|
|
|
- name="andAssign"
|
|
|
- value="8"
|
|
|
- literal="&="/>
|
|
|
- <eLiterals
|
|
|
- name="xorAssign"
|
|
|
- value="9"
|
|
|
- literal="^="/>
|
|
|
- <eLiterals
|
|
|
- name="orAssign"
|
|
|
- value="10"
|
|
|
- literal="|="/>
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="NullLiteral" eSuperTypes="#//Literal"/>
|
|
|
+ <eClassifiers xsi:type="ecore:EEnum" name="AssignmentOperator">
|
|
|
+ <eLiterals name="assign" literal="="/>
|
|
|
+ <eLiterals name="multAssign" value="1" literal="*="/>
|
|
|
+ <eLiterals name="divAssign" value="2" literal="/="/>
|
|
|
+ <eLiterals name="modAssign" value="3" literal="%="/>
|
|
|
+ <eLiterals name="addAssign" value="4" literal="+="/>
|
|
|
+ <eLiterals name="subAssign" value="5" literal="-="/>
|
|
|
+ <eLiterals name="leftShiftAssign" value="6" literal="<<="/>
|
|
|
+ <eLiterals name="rightShiftAssign" value="7" literal=">>="/>
|
|
|
+ <eLiterals name="andAssign" value="8" literal="&="/>
|
|
|
+ <eLiterals name="xorAssign" value="9" literal="^="/>
|
|
|
+ <eLiterals name="orAssign" value="10" literal="|="/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EEnum"
|
|
|
- name="ShiftOperator">
|
|
|
- <eLiterals
|
|
|
- name="left"
|
|
|
- literal="<<"/>
|
|
|
- <eLiterals
|
|
|
- name="right"
|
|
|
- value="1"
|
|
|
- literal=">>"/>
|
|
|
+ <eClassifiers xsi:type="ecore:EEnum" name="ShiftOperator">
|
|
|
+ <eLiterals name="left" literal="<<"/>
|
|
|
+ <eLiterals name="right" value="1" literal=">>"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EEnum"
|
|
|
- name="AdditiveOperator">
|
|
|
- <eLiterals
|
|
|
- name="plus"
|
|
|
- literal="+"/>
|
|
|
- <eLiterals
|
|
|
- name="minus"
|
|
|
- value="1"
|
|
|
- literal="-"/>
|
|
|
+ <eClassifiers xsi:type="ecore:EEnum" name="AdditiveOperator">
|
|
|
+ <eLiterals name="plus" literal="+"/>
|
|
|
+ <eLiterals name="minus" value="1" literal="-"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EEnum"
|
|
|
- name="MultiplicativeOperator">
|
|
|
- <eLiterals
|
|
|
- name="mul"
|
|
|
- literal="*"/>
|
|
|
- <eLiterals
|
|
|
- name="div"
|
|
|
- value="1"
|
|
|
- literal="/"/>
|
|
|
- <eLiterals
|
|
|
- name="mod"
|
|
|
- value="2"
|
|
|
- literal="%"/>
|
|
|
+ <eClassifiers xsi:type="ecore:EEnum" name="MultiplicativeOperator">
|
|
|
+ <eLiterals name="mul" literal="*"/>
|
|
|
+ <eLiterals name="div" value="1" literal="/"/>
|
|
|
+ <eLiterals name="mod" value="2" literal="%"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EEnum"
|
|
|
- name="UnaryOperator">
|
|
|
- <eLiterals
|
|
|
- name="positive"
|
|
|
- literal="+"/>
|
|
|
- <eLiterals
|
|
|
- name="negative"
|
|
|
- value="1"
|
|
|
- literal="-"/>
|
|
|
- <eLiterals
|
|
|
- name="complement"
|
|
|
- value="2"
|
|
|
- literal="~"/>
|
|
|
+ <eClassifiers xsi:type="ecore:EEnum" name="UnaryOperator">
|
|
|
+ <eLiterals name="positive" literal="+"/>
|
|
|
+ <eLiterals name="negative" value="1" literal="-"/>
|
|
|
+ <eLiterals name="complement" value="2" literal="~"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EEnum"
|
|
|
- name="RelationalOperator">
|
|
|
- <eLiterals
|
|
|
- name="smaller"
|
|
|
- literal="<"/>
|
|
|
- <eLiterals
|
|
|
- name="smallerEqual"
|
|
|
- value="1"
|
|
|
- literal="<="/>
|
|
|
- <eLiterals
|
|
|
- name="greater"
|
|
|
- value="2"
|
|
|
- literal=">"/>
|
|
|
- <eLiterals
|
|
|
- name="greaterEqual"
|
|
|
- value="3"
|
|
|
- literal=">="/>
|
|
|
- <eLiterals
|
|
|
- name="equals"
|
|
|
- value="4"
|
|
|
- literal="=="/>
|
|
|
- <eLiterals
|
|
|
- name="notEquals"
|
|
|
- value="5"
|
|
|
- literal="!="/>
|
|
|
+ <eClassifiers xsi:type="ecore:EEnum" name="RelationalOperator">
|
|
|
+ <eLiterals name="smaller" literal="<"/>
|
|
|
+ <eLiterals name="smallerEqual" value="1" literal="<="/>
|
|
|
+ <eLiterals name="greater" value="2" literal=">"/>
|
|
|
+ <eLiterals name="greaterEqual" value="3" literal=">="/>
|
|
|
+ <eLiterals name="equals" value="4" literal="=="/>
|
|
|
+ <eLiterals name="notEquals" value="5" literal="!="/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="AssignmentExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="varRef"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="AssignmentExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="varRef" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="operator"
|
|
|
- eType="#//AssignmentOperator"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="expression"
|
|
|
- eType="#//Expression"
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//AssignmentOperator"/>
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="ConditionalExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="condition"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="ConditionalExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="trueCase"
|
|
|
- eType="#//Expression"
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="trueCase" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="falseCase"
|
|
|
- eType="#//Expression"
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="falseCase" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="LogicalOrExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="leftOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="LogicalOrExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="rightOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="LogicalAndExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="leftOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="LogicalAndExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="rightOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="LogicalNotExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="operand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="LogicalNotExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="BitwiseXorExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="leftOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="BitwiseXorExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="rightOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="BitwiseOrExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="leftOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="BitwiseOrExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="rightOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="BitwiseAndExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="leftOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="BitwiseAndExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="rightOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="LogicalRelationExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="leftOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="LogicalRelationExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="operator"
|
|
|
- eType="#//RelationalOperator"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="rightOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//RelationalOperator"/>
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="ShiftExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="leftOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="ShiftExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="operator"
|
|
|
- eType="#//ShiftOperator"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="rightOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//ShiftOperator"/>
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="NumericalAddSubtractExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="leftOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="NumericalAddSubtractExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="operator"
|
|
|
- eType="#//AdditiveOperator"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="rightOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//AdditiveOperator"/>
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="NumericalMultiplyDivideExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="leftOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="NumericalMultiplyDivideExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="operator"
|
|
|
- eType="#//MultiplicativeOperator"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="rightOperand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//MultiplicativeOperator"/>
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="NumericalUnaryExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="operator"
|
|
|
- eType="#//UnaryOperator"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="operand"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="NumericalUnaryExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//UnaryOperator"/>
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="PrimitiveValueExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="value"
|
|
|
- eType="#//Literal"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="PrimitiveValueExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Literal"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="FeatureCall"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="owner"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureCall" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="feature"
|
|
|
- eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="operationCall"
|
|
|
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="args"
|
|
|
- upperBound="-1"
|
|
|
- eType="#//Expression"
|
|
|
- containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="arrayAccess"
|
|
|
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="arraySelector"
|
|
|
- upperBound="-1"
|
|
|
- eType="#//Expression"
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="feature" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operationCall" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="args" upperBound="-1" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="ElementReferenceExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="reference"
|
|
|
- eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="operationCall"
|
|
|
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="args"
|
|
|
- upperBound="-1"
|
|
|
- eType="#//Expression"
|
|
|
- containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="arraySelector"
|
|
|
- upperBound="-1"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="ElementReferenceExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="reference" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operationCall" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="args" upperBound="-1" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EAttribute"
|
|
|
- name="arrayAccess"
|
|
|
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
|
|
|
</eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="ParenthesizedExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="expression"
|
|
|
- eType="#//Expression"
|
|
|
- containment="true"/>
|
|
|
- </eClassifiers>
|
|
|
- <eClassifiers
|
|
|
- xsi:type="ecore:EClass"
|
|
|
- name="ArrayInitializationExpression"
|
|
|
- eSuperTypes="#//Expression">
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="values"
|
|
|
- upperBound="-1"
|
|
|
- eType="#//Literal"
|
|
|
- containment="true"/>
|
|
|
- <eStructuralFeatures
|
|
|
- xsi:type="ecore:EReference"
|
|
|
- name="dim"
|
|
|
- upperBound="-1"
|
|
|
- eType="#//Expression"
|
|
|
+ <eClassifiers xsi:type="ecore:EClass" name="ParenthesizedExpression" eSuperTypes="#//Expression">
|
|
|
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression"
|
|
|
containment="true"/>
|
|
|
</eClassifiers>
|
|
|
</ecore:EPackage>
|