blob: 86c71bc255d1598ff0509ece18899b5e4afba19f [file] [log] [blame]
<?xml version="1.0" encoding="ASCII"?>
<xmi:XMI 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" xmlns:xtext="http://www.eclipse.org/2008/Xtext">
<xtext:Grammar name="org.eclipse.mylyn.docs.intent.parser.modelingunit.ModelingUnitXTextGrammar" usedGrammars="/1">
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="document">
<ePackage href="http://www.eclipse.org/intent/intentdocument/0.7#/"/>
</metamodelDeclarations>
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
<ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
</metamodelDeclarations>
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="genericUnit">
<ePackage href="http://www.eclipse.org/intent/genericunit/0.7#/"/>
</metamodelDeclarations>
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="modelingUnit">
<ePackage href="http://www.eclipse.org/intent/modelingunit/0.7#/"/>
</metamodelDeclarations>
<rules xsi:type="xtext:ParserRule" name="ModelingUnit">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//ModelingUnit"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Action">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//ModelingUnit"/>
</type>
</elements>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="unitName" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
</elements>
<elements xsi:type="xtext:RuleCall" cardinality="?" rule="/0/@rules.7"/>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="resource" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.34"/>
</elements>
<elements xsi:type="xtext:Assignment" cardinality="*" feature="instructions" operator="+=">
<terminal xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
</terminal>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="EBoolean">
<type metamodel="/0/@metamodelDeclarations.1">
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</type>
<alternatives xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:Keyword" value="true"/>
<elements xsi:type="xtext:Keyword" value="false"/>
</alternatives>
</rules>
<rules xsi:type="xtext:TerminalRule" name="EInt">
<type metamodel="/0/@metamodelDeclarations.1">
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</type>
<alternatives xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
</rules>
<rules xsi:type="xtext:ParserRule" name="EString">
<type metamodel="/0/@metamodelDeclarations.1">
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</type>
<alternatives xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
</alternatives>
</rules>
<rules xsi:type="xtext:TerminalRule" name="StringWithoutQuotes">
<type metamodel="/0/@metamodelDeclarations.1">
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</type>
<alternatives xsi:type="xtext:Alternatives" cardinality="+">
<elements xsi:type="xtext:CharacterRange">
<left value="a"/>
<right value="z"/>
</elements>
<elements xsi:type="xtext:CharacterRange">
<left value="A"/>
<right value="Z"/>
</elements>
<elements xsi:type="xtext:CharacterRange">
<left value="0"/>
<right value="9"/>
</elements>
<elements xsi:type="xtext:Keyword" value="."/>
<elements xsi:type="xtext:Keyword" value=":"/>
<elements xsi:type="xtext:Keyword" value="_"/>
<elements xsi:type="xtext:Keyword" value="-"/>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="StringWithQuotes">
<type metamodel="/0/@metamodelDeclarations.1">
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</type>
<alternatives xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
</rules>
<rules xsi:type="xtext:TerminalRule" name="URI">
<type metamodel="/0/@metamodelDeclarations.0">
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/intent/intentdocument/0.7#//URI"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="&quot;"/>
<elements xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:Keyword" value="file:/"/>
<elements xsi:type="xtext:Keyword" value="platform:/"/>
<elements xsi:type="xtext:Keyword" value="cdo:/"/>
</elements>
<elements xsi:type="xtext:Alternatives" cardinality="+">
<elements xsi:type="xtext:CharacterRange">
<left value="a"/>
<right value="z"/>
</elements>
<elements xsi:type="xtext:CharacterRange">
<left value="A"/>
<right value="Z"/>
</elements>
<elements xsi:type="xtext:CharacterRange">
<left value="0"/>
<right value="9"/>
</elements>
<elements xsi:type="xtext:Keyword" value="."/>
<elements xsi:type="xtext:Keyword" value="/"/>
<elements xsi:type="xtext:Keyword" value=":"/>
<elements xsi:type="xtext:Keyword" value="_"/>
<elements xsi:type="xtext:Keyword" value="-"/>
</elements>
<elements xsi:type="xtext:Keyword" value="&quot;"/>
</alternatives>
</rules>
<rules xsi:type="xtext:TerminalRule" name="LINE_BREAK">
<type metamodel="/0/@metamodelDeclarations.1">
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</type>
<alternatives xsi:type="xtext:Keyword" value="&#xA;"/>
</rules>
<rules xsi:type="xtext:EnumRule" name="TypeLabel">
<type metamodel="/0/@metamodelDeclarations.2">
<classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/intent/genericunit/0.7#//TypeLabel"/>
</type>
<alternatives xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:EnumLiteralDeclaration">
<enumLiteral href="http://www.eclipse.org/intent/genericunit/0.7#//TypeLabel/LAZY"/>
<literal value="@lazylabel"/>
</elements>
<elements xsi:type="xtext:EnumLiteralDeclaration">
<enumLiteral href="http://www.eclipse.org/intent/genericunit/0.7#//TypeLabel/EXPLICIT"/>
<literal value="@label"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:EnumRule" name="AffectationOperator">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/intent/modelingunit/0.7#//AffectationOperator"/>
</type>
<alternatives xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:EnumLiteralDeclaration">
<enumLiteral href="http://www.eclipse.org/intent/modelingunit/0.7#//AffectationOperator/MULTI_VALUED_AFFECTATION"/>
<literal value="+="/>
</elements>
<elements xsi:type="xtext:EnumLiteralDeclaration">
<enumLiteral href="http://www.eclipse.org/intent/modelingunit/0.7#//AffectationOperator/SINGLE_VALUED_AFFECTATION"/>
<literal value="="/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="UnitInstruction">
<type metamodel="/0/@metamodelDeclarations.2">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/genericunit/0.7#//UnitInstruction"/>
</type>
<alternatives xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="LabelReferenceInstruction">
<type metamodel="/0/@metamodelDeclarations.2">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/genericunit/0.7#//LabelReferenceInstruction"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="@see"/>
<elements xsi:type="xtext:Assignment" feature="type" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
</elements>
<elements xsi:type="xtext:Assignment" feature="referencedLabel" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
</elements>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="lineBreak" operator="?=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="SectionReferenceInstruction">
<type metamodel="/0/@metamodelDeclarations.2">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/genericunit/0.7#//IntentSectionReferenceInstruction"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="@see"/>
<elements xsi:type="xtext:Assignment" feature="referencedObject" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
</elements>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="textToPrint" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</elements>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="lineBreak" operator="?=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="AdressedAnnotation">
<type metamodel="/0/@metamodelDeclarations.2">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/genericunit/0.7#//AdressedAnnotation"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Assignment" cardinality="?" feature="lineBreak" operator="?=">
<terminal xsi:type="xtext:Keyword" value="lineBreak"/>
</elements>
<elements xsi:type="xtext:Keyword" value="AdressedAnnotation"/>
<elements xsi:type="xtext:Keyword" value="{"/>
<elements xsi:type="xtext:Keyword" value="receiver"/>
<elements xsi:type="xtext:Keyword" value="{"/>
<elements xsi:type="xtext:Assignment" feature="receiver" operator="+=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</elements>
<elements xsi:type="xtext:Group" cardinality="*">
<elements xsi:type="xtext:Keyword" value=","/>
<elements xsi:type="xtext:Assignment" feature="receiver" operator="+=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</elements>
</elements>
<elements xsi:type="xtext:Keyword" value="}"/>
<elements xsi:type="xtext:Keyword" value="source"/>
<elements xsi:type="xtext:Assignment" feature="source" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</elements>
<elements xsi:type="xtext:Keyword" value="message"/>
<elements xsi:type="xtext:Assignment" feature="message" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</elements>
<elements xsi:type="xtext:Keyword" value="type"/>
<elements xsi:type="xtext:Assignment" feature="type" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</elements>
<elements xsi:type="xtext:Keyword" value="}"/>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="SectionOrParagraphReference">
<type metamodel="/0/@metamodelDeclarations.0">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/intentdocument/0.7#//IntentSectionOrParagraphReference"/>
</type>
<alternatives xsi:type="xtext:Assignment" feature="IntentHref" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="UnitInstructionReference">
<type metamodel="/0/@metamodelDeclarations.2">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/genericunit/0.7#//UnitInstructionReference"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="href"/>
<elements xsi:type="xtext:Assignment" feature="IntentHref" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="LabelDeclarationReference">
<type metamodel="/0/@metamodelDeclarations.2">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/genericunit/0.7#//LabelDeclarationReference"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="href"/>
<elements xsi:type="xtext:Assignment" feature="IntentHref" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</elements>
<elements xsi:type="xtext:Group" cardinality="?">
<elements xsi:type="xtext:Keyword" value="referencedElement"/>
<elements xsi:type="xtext:Assignment" feature="referencedElement" operator="=">
<terminal xsi:type="xtext:CrossReference">
<type metamodel="/0/@metamodelDeclarations.2">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/genericunit/0.7#//LabelDeclaration"/>
</type>
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</terminal>
</elements>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="ModelingUnitInstructionReference">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//ModelingUnitInstructionReference"/>
</type>
<alternatives xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
</rules>
<rules xsi:type="xtext:ParserRule" name="ModelingUnitInstruction">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//ModelingUnitInstruction"/>
</type>
<alternatives xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.35"/>
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.30"/>
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="InstanceLevelInstruction">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//InstanceLevelInstruction"/>
</type>
<alternatives xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="ValueForStructuralFeature">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//ValueForStructuralFeature"/>
</type>
<alternatives xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
<elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="ModelingUnitInstructionReference_Impl">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//ModelingUnitInstructionReference"/>
</type>
<alternatives xsi:type="xtext:Assignment" feature="IntentHref" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="SectionReferenceinModelingUnit">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//IntentSectionReferenceinModelingUnit"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="@see"/>
<elements xsi:type="xtext:Assignment" feature="referencedObject" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
</elements>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="textToPrint" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</elements>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="lineBreak" operator="?=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="LabelinModelingUnit">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//LabelinModelingUnit"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Assignment" feature="type" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
</elements>
<elements xsi:type="xtext:Assignment" feature="labelValue" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</elements>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="textToPrint" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</elements>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="lineBreak" operator="?=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="AnnotationDeclaration">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//AnnotationDeclaration"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="@Annotation"/>
<elements xsi:type="xtext:Assignment" feature="annotationID" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
</elements>
<elements xsi:type="xtext:Assignment" feature="map" operator="+=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
</elements>
<elements xsi:type="xtext:Group" cardinality="*">
<elements xsi:type="xtext:Keyword" value=","/>
<elements xsi:type="xtext:Assignment" feature="map" operator="+=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
</elements>
</elements>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="lineBreak" operator="?=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="InstanciationInstruction">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//InstanciationInstruction"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="new"/>
<elements xsi:type="xtext:Assignment" feature="metaType" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.31"/>
</elements>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="name" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
</elements>
<elements xsi:type="xtext:Keyword" value="{"/>
<elements xsi:type="xtext:Assignment" cardinality="*" feature="structuralFeatures" operator="+=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
</elements>
<elements xsi:type="xtext:Keyword" value="}"/>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="lineBreak" operator="?=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="StructuralFeatureAffectation">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//StructuralFeatureAffectation"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Assignment" feature="name" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
</elements>
<elements xsi:type="xtext:Group">
<elements xsi:type="xtext:Assignment" feature="usedOperator" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
</elements>
<elements xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:Assignment" feature="values" operator="+=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
</elements>
<elements xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="["/>
<elements xsi:type="xtext:Assignment" feature="values" operator="+=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
</elements>
<elements xsi:type="xtext:Group" cardinality="*">
<elements xsi:type="xtext:Keyword" value=","/>
<elements xsi:type="xtext:Assignment" feature="values" operator="+=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
</elements>
</elements>
<elements xsi:type="xtext:Keyword" value="]"/>
</elements>
</elements>
</elements>
<elements xsi:type="xtext:Keyword" value=";"/>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="lineBreak" operator="?=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="NativeValueForStructuralFeature">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//NativeValueForStructuralFeature"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Assignment" feature="value" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
</elements>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="lineBreak" operator="?=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="NewObjectValueForStructuralFeature">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//NewObjectValueForStructuralFeature"/>
</type>
<alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="ReferenceValueForStructuralFeature">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//ReferenceValueForStructuralFeature"/>
</type>
<alternatives xsi:type="xtext:Assignment" feature="referencedElement" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="ContributionInstruction">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//ContributionInstruction"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Assignment" feature="referencedElement" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
</elements>
<elements xsi:type="xtext:Keyword" value="{"/>
<elements xsi:type="xtext:Assignment" cardinality="*" feature="contributions" operator="+=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
</elements>
<elements xsi:type="xtext:Keyword" value="}"/>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="lineBreak" operator="?=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="TypeReference">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//TypeReference"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Action">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//TypeReference"/>
</type>
</elements>
<elements xsi:type="xtext:Assignment" feature="IntentHref" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="InstanciationInstructionReference">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//InstanciationInstructionReference"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Action">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//InstanciationInstructionReference"/>
</type>
</elements>
<elements xsi:type="xtext:Assignment" feature="IntentHref" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="KeyValForAnnotation">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//KeyValForAnnotation"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Action">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//KeyValForAnnotation"/>
</type>
</elements>
<elements xsi:type="xtext:Assignment" feature="key" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
</elements>
<elements xsi:type="xtext:Keyword" value="="/>
<elements xsi:type="xtext:Assignment" feature="value" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="ResourceReference">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//ResourceReference"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="["/>
<elements xsi:type="xtext:Assignment" feature="IntentHref" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</elements>
<elements xsi:type="xtext:Keyword" value="]"/>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="lineBreak" operator="?=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="ResourceDeclaration">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//ResourceDeclaration"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Action">
<type metamodel="/0/@metamodelDeclarations.3">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/intent/modelingunit/0.7#//ResourceDeclaration"/>
</type>
</elements>
<elements xsi:type="xtext:Keyword" value="Resource"/>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="name" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
</elements>
<elements xsi:type="xtext:Keyword" value="{"/>
<elements xsi:type="xtext:RuleCall" cardinality="?" rule="/0/@rules.7"/>
<elements xsi:type="xtext:Group" cardinality="?">
<elements xsi:type="xtext:Keyword" value="URI"/>
<elements xsi:type="xtext:Keyword" value="="/>
<elements xsi:type="xtext:Assignment" feature="uri" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
</elements>
<elements xsi:type="xtext:Keyword" value=";"/>
<elements xsi:type="xtext:RuleCall" cardinality="?" rule="/0/@rules.7"/>
</elements>
<elements xsi:type="xtext:Group" cardinality="?">
<elements xsi:type="xtext:Keyword" value="contentType"/>
<elements xsi:type="xtext:Keyword" value="="/>
<elements xsi:type="xtext:Assignment" feature="contentType" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
</elements>
<elements xsi:type="xtext:Keyword" value=";"/>
<elements xsi:type="xtext:RuleCall" cardinality="?" rule="/0/@rules.7"/>
</elements>
<elements xsi:type="xtext:Group" cardinality="*">
<elements xsi:type="xtext:Keyword" value="content"/>
<elements xsi:type="xtext:Keyword" value="+="/>
<elements xsi:type="xtext:Assignment" feature="content" operator="+=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
</elements>
<elements xsi:type="xtext:Keyword" value=";"/>
<elements xsi:type="xtext:RuleCall" cardinality="?" rule="/0/@rules.7"/>
</elements>
<elements xsi:type="xtext:Keyword" value="}"/>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="lineBreak" operator="?=">
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
</elements>
</alternatives>
</rules>
</xtext:Grammar>
<xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/1/@rules.5 /1/@rules.3 /1/@rules.4">
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
<ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
</metamodelDeclarations>
<rules xsi:type="xtext:TerminalRule" name="ID">
<type metamodel="/1/@metamodelDeclarations.0">
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" cardinality="?" value="^"/>
<elements xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:CharacterRange">
<left value="a"/>
<right value="z"/>
</elements>
<elements xsi:type="xtext:CharacterRange">
<left value="A"/>
<right value="Z"/>
</elements>
<elements xsi:type="xtext:Keyword" value="_"/>
</elements>
<elements xsi:type="xtext:Alternatives" cardinality="*">
<elements xsi:type="xtext:CharacterRange">
<left value="a"/>
<right value="z"/>
</elements>
<elements xsi:type="xtext:CharacterRange">
<left value="A"/>
<right value="Z"/>
</elements>
<elements xsi:type="xtext:Keyword" value="_"/>
<elements xsi:type="xtext:CharacterRange">
<left value="0"/>
<right value="9"/>
</elements>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:TerminalRule" name="INT">
<type metamodel="/1/@metamodelDeclarations.0">
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</type>
<alternatives xsi:type="xtext:CharacterRange" cardinality="+">
<left value="0"/>
<right value="9"/>
</alternatives>
</rules>
<rules xsi:type="xtext:TerminalRule" name="STRING">
<type metamodel="/1/@metamodelDeclarations.0">
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</type>
<alternatives xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="&quot;"/>
<elements xsi:type="xtext:Alternatives" cardinality="*">
<elements xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="\"/>
<elements xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:Keyword" value="b"/>
<elements xsi:type="xtext:Keyword" value="t"/>
<elements xsi:type="xtext:Keyword" value="n"/>
<elements xsi:type="xtext:Keyword" value="f"/>
<elements xsi:type="xtext:Keyword" value="r"/>
<elements xsi:type="xtext:Keyword" value="&quot;"/>
<elements xsi:type="xtext:Keyword" value="'"/>
<elements xsi:type="xtext:Keyword" value="\"/>
</elements>
</elements>
<elements xsi:type="xtext:NegatedToken">
<terminal xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:Keyword" value="\"/>
<elements xsi:type="xtext:Keyword" value="&quot;"/>
</terminal>
</elements>
</elements>
<elements xsi:type="xtext:Keyword" value="&quot;"/>
</elements>
<elements xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="'"/>
<elements xsi:type="xtext:Alternatives" cardinality="*">
<elements xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="\"/>
<elements xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:Keyword" value="b"/>
<elements xsi:type="xtext:Keyword" value="t"/>
<elements xsi:type="xtext:Keyword" value="n"/>
<elements xsi:type="xtext:Keyword" value="f"/>
<elements xsi:type="xtext:Keyword" value="r"/>
<elements xsi:type="xtext:Keyword" value="&quot;"/>
<elements xsi:type="xtext:Keyword" value="'"/>
<elements xsi:type="xtext:Keyword" value="\"/>
</elements>
</elements>
<elements xsi:type="xtext:NegatedToken">
<terminal xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:Keyword" value="\"/>
<elements xsi:type="xtext:Keyword" value="'"/>
</terminal>
</elements>
</elements>
<elements xsi:type="xtext:Keyword" value="'"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
<type metamodel="/1/@metamodelDeclarations.0">
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="/*"/>
<elements xsi:type="xtext:UntilToken">
<terminal xsi:type="xtext:Keyword" value="*/"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:TerminalRule" name="SL_COMMENT">
<type metamodel="/1/@metamodelDeclarations.0">
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="//"/>
<elements xsi:type="xtext:NegatedToken" cardinality="*">
<terminal xsi:type="xtext:Alternatives">
<elements xsi:type="xtext:Keyword" value="&#xA;"/>
<elements xsi:type="xtext:Keyword" value="&#xD;"/>
</terminal>
</elements>
<elements xsi:type="xtext:Group" cardinality="?">
<elements xsi:type="xtext:Keyword" cardinality="?" value="&#xD;"/>
<elements xsi:type="xtext:Keyword" value="&#xA;"/>
</elements>
</alternatives>
</rules>
<rules xsi:type="xtext:TerminalRule" name="WS">
<type metamodel="/1/@metamodelDeclarations.0">
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</type>
<alternatives xsi:type="xtext:Alternatives" cardinality="+">
<elements xsi:type="xtext:Keyword" value=" "/>
<elements xsi:type="xtext:Keyword" value="&#x9;"/>
<elements xsi:type="xtext:Keyword" value="&#xD;"/>
<elements xsi:type="xtext:Keyword" value="&#xA;"/>
</alternatives>
</rules>
<rules xsi:type="xtext:TerminalRule" name="ANY_OTHER">
<type metamodel="/1/@metamodelDeclarations.0">
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</type>
<alternatives xsi:type="xtext:Wildcard"/>
</rules>
</xtext:Grammar>
</xmi:XMI>