| <?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="XBNF" nsURI="http://www.eclipse.org/ocl/XBNF" nsPrefix="xbnf"> | |
| <eAnnotations source="http://www.eclipse.org/OCL/Import"> | |
| <details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore"/> | |
| </eAnnotations> | |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | |
| <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/> | |
| <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/> | |
| <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/> | |
| </eAnnotations> | |
| <eClassifiers xsi:type="ecore:EClass" name="AbstractElement" abstract="true"> | |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="debug" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
| <eStructuralFeatures xsi:type="ecore:EReference" name="parentRule" eType="#//AbstractRule" | |
| resolveProxies="false" eOpposite="#//AbstractRule/element"/> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="AbstractRule"> | |
| <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="element" lowerBound="1" | |
| eType="#//AbstractElement" containment="true" eOpposite="#//AbstractElement/parentRule"/> | |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="debug" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="ActionAssignment" eSuperTypes="#//Assignment"> | |
| <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClassifier"/> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="Assignment" abstract="true" eSuperTypes="#//AbstractElement"> | |
| <eStructuralFeatures xsi:type="ecore:EReference" name="feature" lowerBound="1" | |
| eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature"/> | |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1" | |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="CharacterRange" eSuperTypes="#//AbstractElement"> | |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="left" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="right" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//AbstractElement"> | |
| <eStructuralFeatures xsi:type="ecore:EReference" name="elements" lowerBound="1" | |
| upperBound="-1" eType="#//AbstractElement" containment="true"/> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="Disjunction" eSuperTypes="#//AbstractElement"> | |
| <eStructuralFeatures xsi:type="ecore:EReference" name="conjunctions" lowerBound="1" | |
| upperBound="-1" eType="#//Conjunction" containment="true"/> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="EOF" eSuperTypes="#//AbstractElement"/> | |
| <eClassifiers xsi:type="ecore:EClass" name="Epsilon" eSuperTypes="#//AbstractElement"/> | |
| <eClassifiers xsi:type="ecore:EClass" name="Grammar"> | |
| <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="syntax" lowerBound="1" | |
| eType="#//Syntax" resolveProxies="false" eOpposite="#//Syntax/grammars"/> | |
| <eStructuralFeatures xsi:type="ecore:EReference" name="goals" ordered="false" | |
| upperBound="-1" eType="#//TypedRule"/> | |
| <eStructuralFeatures xsi:type="ecore:EReference" name="rules" ordered="false" | |
| upperBound="-1" eType="#//TypedRule" containment="true" eOpposite="#//TypedRule/grammar"/> | |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="debug" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="Keyword" eSuperTypes="#//AbstractElement"> | |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="KeywordAssignment" eSuperTypes="#//Assignment #//Keyword"/> | |
| <eClassifiers xsi:type="ecore:EClass" name="LexerGrammar" eSuperTypes="#//Grammar"/> | |
| <eClassifiers xsi:type="ecore:EClass" name="NegatedToken" eSuperTypes="#//AbstractElement"> | |
| <eStructuralFeatures xsi:type="ecore:EReference" name="terminal" lowerBound="1" | |
| eType="#//AbstractElement" containment="true"/> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="ParserGrammar" eSuperTypes="#//Grammar"/> | |
| <eClassifiers xsi:type="ecore:EClass" name="ParserRule" eSuperTypes="#//TypedRule"/> | |
| <eClassifiers xsi:type="ecore:EClass" name="RuleCall" eSuperTypes="#//AbstractElement"> | |
| <eStructuralFeatures xsi:type="ecore:EReference" name="referredRule" lowerBound="1" | |
| eType="#//AbstractRule"/> | |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" | |
| changeable="false" volatile="true" transient="true"> | |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> | |
| <details key="derivation" value="if referredRule <> null then referredRule.name else '' endif"/> | |
| </eAnnotations> | |
| </eStructuralFeatures> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="RuleCallAssignment" eSuperTypes="#//Assignment #//RuleCall"/> | |
| <eClassifiers xsi:type="ecore:EClass" name="Syntax"> | |
| <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="grammars" upperBound="-1" | |
| eType="#//Grammar" containment="true" eOpposite="#//Grammar/syntax"/> | |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="debug" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="TerminalRule" eSuperTypes="#//TypedRule"/> | |
| <eClassifiers xsi:type="ecore:EClass" name="TypedRule" abstract="true" eSuperTypes="#//AbstractRule"> | |
| <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClassifier"/> | |
| <eStructuralFeatures xsi:type="ecore:EReference" name="subrules" upperBound="-1" | |
| eType="#//UntypedRule" containment="true" eOpposite="#//UntypedRule/typedRule"/> | |
| <eStructuralFeatures xsi:type="ecore:EReference" name="grammar" lowerBound="1" | |
| eType="#//Grammar" eOpposite="#//Grammar/rules"/> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="UntilToken" eSuperTypes="#//AbstractElement"> | |
| <eStructuralFeatures xsi:type="ecore:EReference" name="terminal" lowerBound="1" | |
| eType="#//AbstractElement" containment="true"/> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="UntypedRule" eSuperTypes="#//AbstractRule"> | |
| <eStructuralFeatures xsi:type="ecore:EReference" name="typedRule" eType="#//TypedRule" | |
| eOpposite="#//TypedRule/subrules"/> | |
| </eClassifiers> | |
| <eClassifiers xsi:type="ecore:EClass" name="Wildcard" eSuperTypes="#//AbstractElement"/> | |
| </ecore:EPackage> |