<?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="typerules" | |
nsURI="http:///typerules.ecore" nsPrefix="typerules"> | |
<eClassifiers xsi:type="ecore:EClass" name="RuleSet"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="extends" eType="#//RuleSet"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="typerules" upperBound="-1" | |
eType="#//TypeRule" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="TypeJudgement" abstract="true"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isValid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="true"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="UnaryTypeJudgement" eSuperTypes="#//TypeJudgement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="operand" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="BinaryTypeJudgement" eSuperTypes="#//TypeJudgement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="firstOperand" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="secondOperand" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="TypeRule"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="judgements" upperBound="-1" | |
eType="#//TypeJudgement" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="CustomTypeJudgement" eSuperTypes="#//TypeJudgement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="operands" upperBound="-1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
</ecore:EPackage> |