| <?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" |
| nsPrefix="expressions"> |
| <eClassifiers xsi:type="ecore:EClass" name="BinaryExpression" abstract="true" eSuperTypes="../../org.yakindu.base.types/model/types.ecore#//Expression"> |
| <eOperations name="getOperator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEnumerator"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Expression" |
| containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Expression" |
| containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" abstract="true" eSuperTypes="../../org.yakindu.base.types/model/types.ecore#//Expression"> |
| <eOperations name="getOperator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEnumerator"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Expression" |
| containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ArgumentExpression" abstract="true" |
| eSuperTypes="../../org.yakindu.base.types/model/types.ecore#//Expression"> |
| <eOperations name="getArgs" upperBound="-1" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Expression"/> |
| <eOperations name="getExpressions" upperBound="-1" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Expression"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" |
| eType="#//Argument" containment="true"/> |
| </eClassifiers> |
| <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> |
| <eClassifiers xsi:type="ecore:EClass" name="DoubleLiteral" 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="FloatLiteral" eSuperTypes="#//Literal"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="HexLiteral" eSuperTypes="#//IntLiteral"/> |
| <eClassifiers xsi:type="ecore:EClass" name="BinaryLiteral" eSuperTypes="#//HexLiteral"/> |
| <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> |
| <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> |
| <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> |
| <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:EEnum" name="LogicalOperator"> |
| <eLiterals name="and" literal="&&"/> |
| <eLiterals name="or" value="1" literal="||"/> |
| <eLiterals name="not" value="2" literal="!"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="BitwiseOperator"> |
| <eLiterals name="xor" literal="^"/> |
| <eLiterals name="and" value="1" literal="&"/> |
| <eLiterals name="or" value="2" literal="|"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="PostFixOperator"> |
| <eLiterals name="increment" literal="++"/> |
| <eLiterals name="decrement" value="1" literal="--"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="AssignmentExpression" eSuperTypes="../../org.yakindu.base.types/model/types.ecore#//Expression"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="varRef" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Expression" |
| containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//AssignmentOperator"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Expression" |
| containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ConditionalExpression" eSuperTypes="../../org.yakindu.base.types/model/types.ecore#//Expression"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Expression" |
| containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="trueCase" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Expression" |
| containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="falseCase" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Expression" |
| containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="LogicalOrExpression" eSuperTypes="#//BinaryExpression"/> |
| <eClassifiers xsi:type="ecore:EClass" name="LogicalAndExpression" eSuperTypes="#//BinaryExpression"/> |
| <eClassifiers xsi:type="ecore:EClass" name="LogicalNotExpression" eSuperTypes="#//UnaryExpression"/> |
| <eClassifiers xsi:type="ecore:EClass" name="BitwiseXorExpression" eSuperTypes="#//BinaryExpression"/> |
| <eClassifiers xsi:type="ecore:EClass" name="BitwiseOrExpression" eSuperTypes="#//BinaryExpression"/> |
| <eClassifiers xsi:type="ecore:EClass" name="BitwiseAndExpression" eSuperTypes="#//BinaryExpression"/> |
| <eClassifiers xsi:type="ecore:EClass" name="LogicalRelationExpression" eSuperTypes="#//BinaryExpression"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//RelationalOperator"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ShiftExpression" eSuperTypes="#//BinaryExpression"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//ShiftOperator"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="NumericalAddSubtractExpression" eSuperTypes="#//BinaryExpression"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//AdditiveOperator"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="NumericalMultiplyDivideExpression" eSuperTypes="#//BinaryExpression"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//MultiplicativeOperator"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="NumericalUnaryExpression" eSuperTypes="#//UnaryExpression"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//UnaryOperator"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="PostFixUnaryExpression" eSuperTypes="#//UnaryExpression"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//PostFixOperator"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="PrimitiveValueExpression" eSuperTypes="../../org.yakindu.base.types/model/types.ecore#//Expression"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Literal" |
| containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="FeatureCall" eSuperTypes="#//ArgumentExpression"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Expression" |
| containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="feature" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Declaration"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="operationCall" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="arraySelector" upperBound="-1" |
| eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//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="MetaCall" eSuperTypes="#//FeatureCall"/> |
| <eClassifiers xsi:type="ecore:EClass" name="ElementReferenceExpression" eSuperTypes="#//ArgumentExpression"> |
| <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="arraySelector" upperBound="-1" |
| eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//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="../../org.yakindu.base.types/model/types.ecore#//Expression"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Expression" |
| containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TypeCastExpression" eSuperTypes="../../org.yakindu.base.types/model/types.ecore#//Expression"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Expression" |
| containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Type" |
| changeable="false" transient="true" derived="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="typeSpecifier" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//TypeSpecifier" |
| containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Argument"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Parameter"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="ecore:EClass ../../org.yakindu.base.types/model/types.ecore#//Expression" |
| containment="true"/> |
| </eClassifiers> |
| </ecore:EPackage> |