| <?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.amp.amf.testing.ATest" usedGrammars="/1"> |
| <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="aTest"> |
| <ePackage href="http://www.eclipse.org/amp/amf/testing/ATest#/"/> |
| </metamodelDeclarations> |
| <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore"> |
| <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/> |
| </metamodelDeclarations> |
| <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel"> |
| <ePackage href="http://metaabm.org/structure#/"/> |
| </metamodelDeclarations> |
| <rules xsi:type="xtext:ParserRule" name="Model"> |
| <type metamodel="/0/@metamodelDeclarations.0"> |
| <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/amp/amf/testing/ATest#//Model"/> |
| </type> |
| <alternatives xsi:type="xtext:Group"> |
| <tokens xsi:type="xtext:Assignment" cardinality="?" feature="name" operator="="> |
| <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/> |
| </tokens> |
| <tokens xsi:type="xtext:Assignment" cardinality="?" feature="description" operator="="> |
| <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/> |
| </tokens> |
| <tokens xsi:type="xtext:Assignment" cardinality="?" feature="tests" operator="="> |
| <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/> |
| </tokens> |
| <tokens xsi:type="xtext:Assignment" cardinality="*" feature="contraints" operator="+="> |
| <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/> |
| </tokens> |
| </alternatives> |
| </rules> |
| <rules xsi:type="xtext:ParserRule" name="Tests"> |
| <type metamodel="/0/@metamodelDeclarations.0"> |
| <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/amp/amf/testing/ATest#//Tests"/> |
| </type> |
| <alternatives xsi:type="xtext:Group"> |
| <tokens xsi:type="xtext:Keyword" value="TESTS"/> |
| <tokens xsi:type="xtext:Assignment" feature="importURI" operator="="> |
| <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/> |
| </tokens> |
| </alternatives> |
| </rules> |
| <rules xsi:type="xtext:ParserRule" name="Constraint"> |
| <type metamodel="/0/@metamodelDeclarations.0"> |
| <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/amp/amf/testing/ATest#//Constraint"/> |
| </type> |
| <alternatives xsi:type="xtext:Group"> |
| <tokens xsi:type="xtext:Assignment" feature="measure" operator="="> |
| <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/> |
| </tokens> |
| <tokens xsi:type="xtext:Keyword" value="("/> |
| <tokens xsi:type="xtext:Assignment" feature="agent" operator="="> |
| <terminal xsi:type="xtext:CrossReference"> |
| <type metamodel="/0/@metamodelDeclarations.2"> |
| <classifier xsi:type="ecore:EClass" href="http://metaabm.org/structure#//SAgent"/> |
| </type> |
| <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/> |
| </terminal> |
| </tokens> |
| <tokens xsi:type="xtext:Keyword" value=":"/> |
| <tokens xsi:type="xtext:Assignment" feature="attribute" operator="="> |
| <terminal xsi:type="xtext:CrossReference"> |
| <type metamodel="/0/@metamodelDeclarations.2"> |
| <classifier xsi:type="ecore:EClass" href="http://metaabm.org/structure#//SAttribute"/> |
| </type> |
| <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/> |
| </terminal> |
| </tokens> |
| <tokens xsi:type="xtext:Group" cardinality="?"> |
| <tokens xsi:type="xtext:Keyword" value=":"/> |
| <tokens xsi:type="xtext:Assignment" feature="qualifier" operator="="> |
| <terminal xsi:type="xtext:CrossReference"> |
| <type metamodel="/0/@metamodelDeclarations.2"> |
| <classifier xsi:type="ecore:EClass" href="http://metaabm.org/structure#//SStateValue"/> |
| </type> |
| <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/> |
| </terminal> |
| </tokens> |
| </tokens> |
| <tokens xsi:type="xtext:Keyword" value=")"/> |
| <tokens xsi:type="xtext:Group"> |
| <tokens xsi:type="xtext:Keyword" value="="/> |
| <tokens xsi:type="xtext:Keyword" value="["/> |
| <tokens xsi:type="xtext:Assignment" feature="minValue" operator="="> |
| <terminal xsi:type="xtext:Alternatives"> |
| <groups xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> |
| <groups xsi:type="xtext:RuleCall" rule="/0/@rules.5"/> |
| </terminal> |
| </tokens> |
| <tokens xsi:type="xtext:Keyword" value=","/> |
| <tokens xsi:type="xtext:Assignment" feature="maxValue" operator="="> |
| <terminal xsi:type="xtext:Alternatives"> |
| <groups xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> |
| <groups xsi:type="xtext:RuleCall" rule="/0/@rules.5"/> |
| </terminal> |
| </tokens> |
| <tokens xsi:type="xtext:Keyword" value="]"/> |
| </tokens> |
| </alternatives> |
| </rules> |
| <rules xsi:type="xtext:EnumRule" name="Measure"> |
| <type metamodel="/0/@metamodelDeclarations.0"> |
| <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/amp/amf/testing/ATest#//Measure"/> |
| </type> |
| <alternatives xsi:type="xtext:Alternatives"> |
| <groups xsi:type="xtext:EnumLiteralDeclaration"> |
| <enumLiteral href="http://www.eclipse.org/amp/amf/testing/ATest#//Measure/COUNT"/> |
| <literal value="Count"/> |
| </groups> |
| <groups xsi:type="xtext:EnumLiteralDeclaration"> |
| <enumLiteral href="http://www.eclipse.org/amp/amf/testing/ATest#//Measure/AVERAGE"/> |
| <literal value="Average"/> |
| </groups> |
| <groups xsi:type="xtext:EnumLiteralDeclaration"> |
| <enumLiteral href="http://www.eclipse.org/amp/amf/testing/ATest#//Measure/SUM"/> |
| <literal value="Sum"/> |
| </groups> |
| <groups xsi:type="xtext:EnumLiteralDeclaration"> |
| <enumLiteral href="http://www.eclipse.org/amp/amf/testing/ATest#//Measure/MINIMUM"/> |
| <literal value="Minimum"/> |
| </groups> |
| <groups xsi:type="xtext:EnumLiteralDeclaration"> |
| <enumLiteral href="http://www.eclipse.org/amp/amf/testing/ATest#//Measure/MAXIMUM"/> |
| <literal value="Maximum"/> |
| </groups> |
| </alternatives> |
| </rules> |
| <rules xsi:type="xtext:ParserRule" name="IntValue"> |
| <type metamodel="/0/@metamodelDeclarations.0"> |
| <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/amp/amf/testing/ATest#//IntValue"/> |
| </type> |
| <alternatives xsi:type="xtext:Assignment" feature="value" operator="="> |
| <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> |
| </alternatives> |
| </rules> |
| <rules xsi:type="xtext:ParserRule" name="RealValue"> |
| <type metamodel="/0/@metamodelDeclarations.0"> |
| <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/amp/amf/testing/ATest#//RealValue"/> |
| </type> |
| <alternatives xsi:type="xtext:Assignment" feature="value" operator="="> |
| <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/> |
| </alternatives> |
| </rules> |
| <rules xsi:type="xtext:TerminalRule" name="REAL"> |
| <type metamodel="/0/@metamodelDeclarations.1"> |
| <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </type> |
| <alternatives xsi:type="xtext:Group"> |
| <tokens xsi:type="xtext:Keyword" cardinality="?" value="-"/> |
| <tokens xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> |
| <tokens xsi:type="xtext:Group" cardinality="?"> |
| <tokens xsi:type="xtext:Keyword" value="."/> |
| <tokens xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> |
| </tokens> |
| </alternatives> |
| </rules> |
| <rules xsi:type="xtext:TerminalRule" name="PLAIN_STRING"> |
| <type metamodel="/0/@metamodelDeclarations.1"> |
| <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </type> |
| <alternatives xsi:type="xtext:Group"> |
| <tokens xsi:type="xtext:Keyword" value="«"/> |
| <tokens xsi:type="xtext:Alternatives" cardinality="*"> |
| <groups xsi:type="xtext:Group"> |
| <tokens xsi:type="xtext:Keyword" value="\"/> |
| <tokens xsi:type="xtext:Alternatives"> |
| <groups xsi:type="xtext:Keyword" value="b"/> |
| <groups xsi:type="xtext:Keyword" value="t"/> |
| <groups xsi:type="xtext:Keyword" value="n"/> |
| <groups xsi:type="xtext:Keyword" value="f"/> |
| <groups xsi:type="xtext:Keyword" value="r"/> |
| <groups xsi:type="xtext:Keyword" value="""/> |
| <groups xsi:type="xtext:Keyword" value="'"/> |
| <groups xsi:type="xtext:Keyword" value="\"/> |
| </tokens> |
| </groups> |
| <groups xsi:type="xtext:NegatedToken"> |
| <terminal xsi:type="xtext:Alternatives"> |
| <groups xsi:type="xtext:Keyword" value="\"/> |
| <groups xsi:type="xtext:Keyword" value="«"/> |
| <groups xsi:type="xtext:Keyword" value="»"/> |
| </terminal> |
| </groups> |
| </tokens> |
| <tokens xsi:type="xtext:Keyword" value="»"/> |
| </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"> |
| <tokens xsi:type="xtext:Keyword" cardinality="?" value="^"/> |
| <tokens xsi:type="xtext:Alternatives"> |
| <groups xsi:type="xtext:CharacterRange"> |
| <left value="a"/> |
| <right value="z"/> |
| </groups> |
| <groups xsi:type="xtext:CharacterRange"> |
| <left value="A"/> |
| <right value="Z"/> |
| </groups> |
| <groups xsi:type="xtext:Keyword" value="_"/> |
| </tokens> |
| <tokens xsi:type="xtext:Alternatives" cardinality="*"> |
| <groups xsi:type="xtext:CharacterRange"> |
| <left value="a"/> |
| <right value="z"/> |
| </groups> |
| <groups xsi:type="xtext:CharacterRange"> |
| <left value="A"/> |
| <right value="Z"/> |
| </groups> |
| <groups xsi:type="xtext:Keyword" value="_"/> |
| <groups xsi:type="xtext:CharacterRange"> |
| <left value="0"/> |
| <right value="9"/> |
| </groups> |
| </tokens> |
| </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"> |
| <groups xsi:type="xtext:Group"> |
| <tokens xsi:type="xtext:Keyword" value="""/> |
| <tokens xsi:type="xtext:Alternatives" cardinality="*"> |
| <groups xsi:type="xtext:Group"> |
| <tokens xsi:type="xtext:Keyword" value="\"/> |
| <tokens xsi:type="xtext:Alternatives"> |
| <groups xsi:type="xtext:Keyword" value="b"/> |
| <groups xsi:type="xtext:Keyword" value="t"/> |
| <groups xsi:type="xtext:Keyword" value="n"/> |
| <groups xsi:type="xtext:Keyword" value="f"/> |
| <groups xsi:type="xtext:Keyword" value="r"/> |
| <groups xsi:type="xtext:Keyword" value="""/> |
| <groups xsi:type="xtext:Keyword" value="'"/> |
| <groups xsi:type="xtext:Keyword" value="\"/> |
| </tokens> |
| </groups> |
| <groups xsi:type="xtext:NegatedToken"> |
| <terminal xsi:type="xtext:Alternatives"> |
| <groups xsi:type="xtext:Keyword" value="\"/> |
| <groups xsi:type="xtext:Keyword" value="""/> |
| </terminal> |
| </groups> |
| </tokens> |
| <tokens xsi:type="xtext:Keyword" value="""/> |
| </groups> |
| <groups xsi:type="xtext:Group"> |
| <tokens xsi:type="xtext:Keyword" value="'"/> |
| <tokens xsi:type="xtext:Alternatives" cardinality="*"> |
| <groups xsi:type="xtext:Group"> |
| <tokens xsi:type="xtext:Keyword" value="\"/> |
| <tokens xsi:type="xtext:Alternatives"> |
| <groups xsi:type="xtext:Keyword" value="b"/> |
| <groups xsi:type="xtext:Keyword" value="t"/> |
| <groups xsi:type="xtext:Keyword" value="n"/> |
| <groups xsi:type="xtext:Keyword" value="f"/> |
| <groups xsi:type="xtext:Keyword" value="r"/> |
| <groups xsi:type="xtext:Keyword" value="""/> |
| <groups xsi:type="xtext:Keyword" value="'"/> |
| <groups xsi:type="xtext:Keyword" value="\"/> |
| </tokens> |
| </groups> |
| <groups xsi:type="xtext:NegatedToken"> |
| <terminal xsi:type="xtext:Alternatives"> |
| <groups xsi:type="xtext:Keyword" value="\"/> |
| <groups xsi:type="xtext:Keyword" value="'"/> |
| </terminal> |
| </groups> |
| </tokens> |
| <tokens xsi:type="xtext:Keyword" value="'"/> |
| </groups> |
| </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"> |
| <tokens xsi:type="xtext:Keyword" value="/*"/> |
| <tokens xsi:type="xtext:UntilToken"> |
| <terminal xsi:type="xtext:Keyword" value="*/"/> |
| </tokens> |
| </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"> |
| <tokens xsi:type="xtext:Keyword" value="//"/> |
| <tokens xsi:type="xtext:NegatedToken" cardinality="*"> |
| <terminal xsi:type="xtext:Alternatives"> |
| <groups xsi:type="xtext:Keyword" value="
"/> |
| <groups xsi:type="xtext:Keyword" value="
"/> |
| </terminal> |
| </tokens> |
| <tokens xsi:type="xtext:Group" cardinality="?"> |
| <tokens xsi:type="xtext:Keyword" cardinality="?" value="
"/> |
| <tokens xsi:type="xtext:Keyword" value="
"/> |
| </tokens> |
| </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="+"> |
| <groups xsi:type="xtext:Keyword" value=" "/> |
| <groups xsi:type="xtext:Keyword" value="	"/> |
| <groups xsi:type="xtext:Keyword" value="
"/> |
| <groups xsi:type="xtext:Keyword" value="
"/> |
| </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> |