blob: 79a236cf8db00d1faafd17bad56d3e12c98685e3 [file] [log] [blame]
<?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>