| <?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="ast" nsURI="http://www.eclipse.org/acceleo/query/1.0" nsPrefix="ast"> |
| <eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true"/> |
| <eClassifiers xsi:type="ecore:EClass" name="VarRef" eSuperTypes="#//Expression"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="variableName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Call" eSuperTypes="#//Expression"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="serviceName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//CallType"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" |
| eType="#//Expression" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="CallType"> |
| <eLiterals name="CALLSERVICE"/> |
| <eLiterals name="CALLORAPPLY" value="1"/> |
| <eLiterals name="COLLECTIONCALL" value="2"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Literal" eSuperTypes="#//Expression"/> |
| <eClassifiers xsi:type="ecore:EClass" name="IntegerLiteral" 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> |
| <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="BooleanLiteral" 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="EnumLiteral" eSuperTypes="#//Literal"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="literal" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EEnumLiteral"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TypeLiteral" eSuperTypes="#//Literal"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="#//ObjectType"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TypeSetLiteral" eSuperTypes="#//Literal"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="types" lowerBound="1" upperBound="-1" |
| eType="#//TypeLiteral" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EDataType" name="ObjectType" instanceClassName="java.lang.Object"/> |
| <eClassifiers xsi:type="ecore:EClass" name="CollectionTypeLiteral" eSuperTypes="#//TypeLiteral"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="elementType" lowerBound="1" |
| eType="#//TypeLiteral" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Lambda" eSuperTypes="#//Literal"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" |
| eType="#//VariableDeclaration" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1" |
| eType="#//Expression" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="NullLiteral" eSuperTypes="#//Literal"/> |
| <eClassifiers xsi:type="ecore:EClass" name="SetInExtensionLiteral" eSuperTypes="#//Literal"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1" |
| eType="#//Expression" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="SequenceInExtensionLiteral" eSuperTypes="#//Literal"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1" |
| eType="#//Expression" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="VariableDeclaration"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//TypeLiteral" |
| containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1" |
| eType="#//Expression"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Error" abstract="true" interface="true" |
| eSuperTypes="#//Expression"/> |
| <eClassifiers xsi:type="ecore:EClass" name="ErrorExpression" eSuperTypes="#//Error"/> |
| <eClassifiers xsi:type="ecore:EClass" name="ErrorTypeLiteral" eSuperTypes="#//Error #//TypeLiteral"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="segments" upperBound="-1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="missingColon" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ErrorEnumLiteral" eSuperTypes="#//Error #//EnumLiteral"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="segments" upperBound="-1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="missingColon" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ErrorCall" eSuperTypes="#//Error #//Call"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="missingEndParenthesis" |
| lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" |
| defaultValueLiteral="false"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ErrorVariableDeclaration" eSuperTypes="#//Error #//VariableDeclaration"/> |
| <eClassifiers xsi:type="ecore:EClass" name="ErrorStringLiteral" eSuperTypes="#//Error #//StringLiteral"/> |
| <eClassifiers xsi:type="ecore:EClass" name="ErrorConditional" eSuperTypes="#//Error #//Conditional"/> |
| <eClassifiers xsi:type="ecore:EClass" name="Binding"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//TypeLiteral" |
| containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="#//Expression" |
| containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ErrorBinding" eSuperTypes="#//Error #//Binding"/> |
| <eClassifiers xsi:type="ecore:EClass" name="Let" eSuperTypes="#//Expression"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="bindings" lowerBound="1" |
| upperBound="-1" eType="#//Binding" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//Expression" |
| containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Conditional" eSuperTypes="#//Expression"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="predicate" lowerBound="1" |
| eType="#//Expression" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="trueBranch" lowerBound="1" |
| eType="#//Expression" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="falseBranch" lowerBound="1" |
| eType="#//Expression" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Or" eSuperTypes="#//Call"/> |
| <eClassifiers xsi:type="ecore:EClass" name="And" eSuperTypes="#//Call"/> |
| <eClassifiers xsi:type="ecore:EClass" name="Implies" eSuperTypes="#//Call"/> |
| </ecore:EPackage> |