<?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.qvtd.xtext.qvtcore.QVTcore" usedGrammars="/1"> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore"> | |
<ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="base"> | |
<ePackage href="http://www.eclipse.org/ocl/3.1.0/BaseCST#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="essentialocl"> | |
<ePackage href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="pivot"> | |
<ePackage href="http://www.eclipse.org/ocl/3.1.0/Pivot#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="qvtbase"> | |
<ePackage href="http://www.eclipse.org/qvt/0.9/QVTbase#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="qvtcorebase"> | |
<ePackage href="http://www.eclipse.org/qvt/0.9/QVTcoreBase#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="qvtcore"> | |
<ePackage href="http://www.eclipse.org/qvt/0.9/QVTcore#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel"> | |
<ePackage href="http://www.eclipse.org/qvt/0.9/QVTcoreCST#/"/> | |
</metamodelDeclarations> | |
<rules xsi:type="xtext:ParserRule" name="TopLevelCS"> | |
<type metamodel="/0/@metamodelDeclarations.7"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreCST#//TopLevelCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Alternatives" cardinality="*"> | |
<elements xsi:type="xtext:Assignment" feature="ownedImport" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.4"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="ownedLibrary" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.5"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Alternatives" cardinality="*"> | |
<elements xsi:type="xtext:Assignment" feature="mappings" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="transformations" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.10"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="queries" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.8"/> | |
</elements> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="MappingCS"> | |
<type metamodel="/0/@metamodelDeclarations.7"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreCST#//MappingCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action"> | |
<type metamodel="/0/@metamodelDeclarations.7"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreCST#//MappingCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="map"/> | |
<elements xsi:type="xtext:Assignment" cardinality="?" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value="in"/> | |
<elements xsi:type="xtext:Assignment" feature="in" operator="="> | |
<terminal xsi:type="xtext:CrossReference"> | |
<type metamodel="/0/@metamodelDeclarations.4"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTbase#//Transformation"/> | |
</type> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</terminal> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value="refines"/> | |
<elements xsi:type="xtext:Assignment" feature="refines" operator="+="> | |
<terminal xsi:type="xtext:CrossReference"> | |
<type metamodel="/0/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcore#//Mapping"/> | |
</type> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</terminal> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value=","/> | |
<elements xsi:type="xtext:Assignment" feature="refines" operator="+="> | |
<terminal xsi:type="xtext:CrossReference"> | |
<type metamodel="/0/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcore#//Mapping"/> | |
</type> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</terminal> | |
</elements> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="{"/> | |
<elements xsi:type="xtext:Assignment" cardinality="*" feature="domains" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.6"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value="where"/> | |
<elements xsi:type="xtext:Assignment" feature="middle" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.13"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Assignment" cardinality="*" feature="composedMappings" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="}"/> | |
</alternatives> | |
</rules> | |
</xtext:Grammar> | |
<xtext:Grammar name="org.eclipse.qvtd.xtext.qvtcorebase.QVTcoreBase" usedGrammars="/2"> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore"> | |
<ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="base"> | |
<ePackage href="http://www.eclipse.org/ocl/3.1.0/BaseCST#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="essentialocl"> | |
<ePackage href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="pivot"> | |
<ePackage href="http://www.eclipse.org/ocl/3.1.0/Pivot#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="qvtbase"> | |
<ePackage href="http://www.eclipse.org/qvt/0.9/QVTbase#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="qvtcorebase"> | |
<ePackage href="http://www.eclipse.org/qvt/0.9/QVTcoreBase#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel"> | |
<ePackage href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#/"/> | |
</metamodelDeclarations> | |
<rules xsi:type="xtext:ParserRule" name="BottomPatternCS"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//BottomPatternCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Keyword" value="{"/> | |
<elements xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Assignment" feature="unrealizedVariables" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.11"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="realizedVariables" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.12"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value=","/> | |
<elements xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Assignment" feature="unrealizedVariables" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.11"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="realizedVariables" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.12"/> | |
</elements> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="|"/> | |
<elements xsi:type="xtext:Assignment" cardinality="*" feature="constraints" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="}"/> | |
</elements> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//BottomPatternCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="{"/> | |
<elements xsi:type="xtext:Assignment" cardinality="*" feature="constraints" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="}"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="AssignmentCS"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//AssignmentCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" cardinality="?" feature="default" operator="?="> | |
<terminal xsi:type="xtext:Keyword" value="default"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="target" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value=":="/> | |
<elements xsi:type="xtext:Assignment" feature="initialiser" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=";"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="DirectionCS"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//DirectionCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//DirectionCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Assignment" cardinality="?" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value="imports"/> | |
<elements xsi:type="xtext:Assignment" feature="imports" operator="+="> | |
<terminal xsi:type="xtext:CrossReference"> | |
<type metamodel="/1/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Package"/> | |
</type> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</terminal> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value=","/> | |
<elements xsi:type="xtext:Assignment" feature="imports" operator="+="> | |
<terminal xsi:type="xtext:CrossReference"> | |
<type metamodel="/1/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Package"/> | |
</type> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</terminal> | |
</elements> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value="uses"/> | |
<elements xsi:type="xtext:Assignment" feature="uses" operator="+="> | |
<terminal xsi:type="xtext:CrossReference"> | |
<type metamodel="/1/@metamodelDeclarations.5"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBase#//CoreDomain"/> | |
</type> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</terminal> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value=","/> | |
<elements xsi:type="xtext:Assignment" feature="uses" operator="+="> | |
<terminal xsi:type="xtext:CrossReference"> | |
<type metamodel="/1/@metamodelDeclarations.5"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBase#//CoreDomain"/> | |
</type> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</terminal> | |
</elements> | |
</elements> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="GuardPatternCS"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//GuardPatternCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Keyword" value="("/> | |
<elements xsi:type="xtext:Assignment" feature="unrealizedVariables" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.11"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value=","/> | |
<elements xsi:type="xtext:Assignment" feature="unrealizedVariables" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.11"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="|"/> | |
<elements xsi:type="xtext:Assignment" cardinality="*" feature="constraints" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=")"/> | |
</elements> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//GuardPatternCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="("/> | |
<elements xsi:type="xtext:Assignment" cardinality="*" feature="constraints" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=")"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="ImportCS"> | |
<type metamodel="/1/@metamodelDeclarations.1"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//ImportCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Keyword" value="import"/> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.22"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=":"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="pathName" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.35"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Assignment" feature="all" operator="?="> | |
<terminal xsi:type="xtext:Keyword" value="::"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="*"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=";"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="LibraryCS"> | |
<type metamodel="/1/@metamodelDeclarations.1"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//LibraryCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Keyword" value="library"/> | |
<elements xsi:type="xtext:Assignment" feature="package" operator="="> | |
<terminal xsi:type="xtext:CrossReference"> | |
<type metamodel="/1/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Package"/> | |
</type> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.17"/> | |
</terminal> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=";"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="NamedDomainCS"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//DomainCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" cardinality="?" feature="check" operator="?="> | |
<terminal xsi:type="xtext:Keyword" value="check"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" cardinality="?" feature="enforce" operator="?="> | |
<terminal xsi:type="xtext:Keyword" value="enforce"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="direction" operator="="> | |
<terminal xsi:type="xtext:CrossReference"> | |
<type metamodel="/1/@metamodelDeclarations.4"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTbase#//TypedModel"/> | |
</type> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</terminal> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="guardPattern" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.3"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="bottomPattern" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="ParamDeclarationCS"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//ParamDeclarationCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=":"/> | |
<elements xsi:type="xtext:Assignment" feature="ownedType" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.62"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="QueryCS"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//QueryCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Keyword" value="query"/> | |
<elements xsi:type="xtext:Assignment" feature="pathName" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.9"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="("/> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Assignment" feature="inputParamDeclaration" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.7"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value=","/> | |
<elements xsi:type="xtext:Assignment" feature="inputParamDeclaration" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.7"/> | |
</elements> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=")"/> | |
<elements xsi:type="xtext:Keyword" value=":"/> | |
<elements xsi:type="xtext:Assignment" feature="ownedType" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.62"/> | |
</elements> | |
<elements xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Keyword" value=";"/> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Keyword" value="{"/> | |
<elements xsi:type="xtext:Assignment" feature="expression" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="}"/> | |
</elements> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="ScopeNameCS"> | |
<type metamodel="/1/@metamodelDeclarations.1"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//PathNameCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="path" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.33"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="::"/> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Assignment" feature="path" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.34"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="::"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="TransformationCS"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//TransformationCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Keyword" value="transformation"/> | |
<elements xsi:type="xtext:Assignment" cardinality="?" feature="pathName" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.9"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.31"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="{"/> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Assignment" feature="directions" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=";"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="}"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="UnrealizedVariableCS"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//UnrealizedVariableCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=":"/> | |
<elements xsi:type="xtext:Assignment" feature="ownedType" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.62"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="RealizedVariableCS"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//RealizedVariableCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Keyword" value="realize"/> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=":"/> | |
<elements xsi:type="xtext:Assignment" feature="ownedType" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.62"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="UnnamedDomainCS"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//DomainCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action"> | |
<type metamodel="/1/@metamodelDeclarations.6"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTcoreBaseCST#//DomainCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="guardPattern" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.3"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="bottomPattern" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="UnrestrictedName"> | |
<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:RuleCall" rule="/2/@rules.28"/> | |
<elements xsi:type="xtext:Keyword" value="check"/> | |
<elements xsi:type="xtext:Keyword" value="enforce"/> | |
<elements xsi:type="xtext:Keyword" value="import"/> | |
<elements xsi:type="xtext:Keyword" value="imports"/> | |
<elements xsi:type="xtext:Keyword" value="library"/> | |
<elements xsi:type="xtext:Keyword" value="map"/> | |
<elements xsi:type="xtext:Keyword" value="query"/> | |
<elements xsi:type="xtext:Keyword" value="realize"/> | |
<elements xsi:type="xtext:Keyword" value="refines"/> | |
<elements xsi:type="xtext:Keyword" value="transformation"/> | |
<elements xsi:type="xtext:Keyword" value="uses"/> | |
</alternatives> | |
</rules> | |
</xtext:Grammar> | |
<xtext:Grammar name="org.eclipse.ocl.examples.xtext.essentialocl.EssentialOCL" definesHiddenTokens="true" hiddenTokens="/2/@rules.15 /2/@rules.13 /2/@rules.14"> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore"> | |
<ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="pivot"> | |
<ePackage href="http://www.eclipse.org/ocl/3.1.0/Pivot#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="base"> | |
<ePackage href="http://www.eclipse.org/ocl/3.1.0/BaseCST#/"/> | |
</metamodelDeclarations> | |
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel"> | |
<ePackage href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#/"/> | |
</metamodelDeclarations> | |
<rules xsi:type="xtext:ParserRule" name="Model"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//ContextCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Assignment" feature="ownedExpression" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:TerminalRule" name="ESCAPED_CHARACTER" fragment="true"> | |
<type metamodel="/2/@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: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="u"/> | |
<elements xsi:type="xtext:Keyword" value="""/> | |
<elements xsi:type="xtext:Keyword" value="'"/> | |
<elements xsi:type="xtext:Keyword" value="\"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:TerminalRule" name="LETTER_CHARACTER" fragment="true"> | |
<type metamodel="/2/@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: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="_"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:TerminalRule" name="DOUBLE_QUOTED_STRING"> | |
<type metamodel="/2/@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:Alternatives" cardinality="*"> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.1"/> | |
<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="""/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:TerminalRule" name="SINGLE_QUOTED_STRING"> | |
<type metamodel="/2/@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:Alternatives" cardinality="*"> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.1"/> | |
<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="'"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:TerminalRule" name="ML_SINGLE_QUOTED_STRING"> | |
<type metamodel="/2/@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="SIMPLE_ID"> | |
<type metamodel="/2/@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:RuleCall" rule="/2/@rules.2"/> | |
<elements xsi:type="xtext:Alternatives" cardinality="*"> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.2"/> | |
<elements xsi:type="xtext:CharacterRange"> | |
<left value="0"/> | |
<right value="9"/> | |
</elements> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:TerminalRule" name="ESCAPED_ID"> | |
<type metamodel="/2/@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:RuleCall" rule="/2/@rules.4"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="ID"> | |
<type metamodel="/2/@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:RuleCall" rule="/2/@rules.6"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.7"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:TerminalRule" name="INT"> | |
<type metamodel="/2/@metamodelDeclarations.0"> | |
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</type> | |
<alternatives xsi:type="xtext:CharacterRange" cardinality="+"> | |
<left value="0"/> | |
<right value="9"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="LOWER"> | |
<type metamodel="/2/@metamodelDeclarations.0"> | |
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | |
</type> | |
<alternatives xsi:type="xtext:RuleCall" rule="/2/@rules.9"/> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="UPPER"> | |
<type metamodel="/2/@metamodelDeclarations.0"> | |
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | |
</type> | |
<alternatives xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.9"/> | |
<elements xsi:type="xtext:Keyword" value="*"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="NUMBER_LITERAL"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//BigNumber"/> | |
</type> | |
<alternatives xsi:type="xtext:RuleCall" rule="/2/@rules.9"/> | |
</rules> | |
<rules xsi:type="xtext:TerminalRule" name="ML_COMMENT"> | |
<type metamodel="/2/@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="/2/@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="
"/> | |
<elements xsi:type="xtext:Keyword" value="
"/> | |
</terminal> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" cardinality="?" value="
"/> | |
<elements xsi:type="xtext:Keyword" value="
"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:TerminalRule" name="WS"> | |
<type metamodel="/2/@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="	"/> | |
<elements xsi:type="xtext:Keyword" value="
"/> | |
<elements xsi:type="xtext:Keyword" value="
"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:TerminalRule" name="ANY_OTHER"> | |
<type metamodel="/2/@metamodelDeclarations.0"> | |
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</type> | |
<alternatives xsi:type="xtext:Wildcard"/> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="URI"> | |
<type metamodel="/2/@metamodelDeclarations.0"> | |
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</type> | |
<alternatives xsi:type="xtext:RuleCall" rule="/2/@rules.4"/> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="EssentialOCLReservedKeyword"> | |
<type metamodel="/2/@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:Keyword" value="and"/> | |
<elements xsi:type="xtext:Keyword" value="else"/> | |
<elements xsi:type="xtext:Keyword" value="endif"/> | |
<elements xsi:type="xtext:Keyword" value="if"/> | |
<elements xsi:type="xtext:Keyword" value="implies"/> | |
<elements xsi:type="xtext:Keyword" value="in"/> | |
<elements xsi:type="xtext:Keyword" value="let"/> | |
<elements xsi:type="xtext:Keyword" value="not"/> | |
<elements xsi:type="xtext:Keyword" value="or"/> | |
<elements xsi:type="xtext:Keyword" value="then"/> | |
<elements xsi:type="xtext:Keyword" value="xor"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="EssentialOCLUnaryOperatorCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//UnaryOperatorCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Keyword" value="-"/> | |
<elements xsi:type="xtext:Keyword" value="not"/> | |
</terminal> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="EssentialOCLInfixOperatorCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//BinaryOperatorCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:Alternatives"> | |
<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 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 xsi:type="xtext:Keyword" value="and"/> | |
<elements xsi:type="xtext:Keyword" value="or"/> | |
<elements xsi:type="xtext:Keyword" value="xor"/> | |
<elements xsi:type="xtext:Keyword" value="implies"/> | |
</terminal> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="EssentialOCLNavigationOperatorCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//NavigationOperatorCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Keyword" value="."/> | |
<elements xsi:type="xtext:Keyword" value="->"/> | |
</terminal> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="Identifier"> | |
<type metamodel="/2/@metamodelDeclarations.0"> | |
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</type> | |
<alternatives xsi:type="xtext:RuleCall" rule="/2/@rules.8"/> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="StringLiteral"> | |
<type metamodel="/2/@metamodelDeclarations.0"> | |
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</type> | |
<alternatives xsi:type="xtext:RuleCall" rule="/2/@rules.4"/> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="BinaryOperatorCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//BinaryOperatorCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.25"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.26"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="InfixOperatorCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//BinaryOperatorCS"/> | |
</type> | |
<alternatives xsi:type="xtext:RuleCall" rule="/2/@rules.20"/> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="NavigationOperatorCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//NavigationOperatorCS"/> | |
</type> | |
<alternatives xsi:type="xtext:RuleCall" rule="/2/@rules.21"/> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="UnaryOperatorCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//UnaryOperatorCS"/> | |
</type> | |
<alternatives xsi:type="xtext:RuleCall" rule="/2/@rules.19"/> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="EssentialOCLUnrestrictedName"> | |
<type metamodel="/2/@metamodelDeclarations.0"> | |
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</type> | |
<alternatives xsi:type="xtext:RuleCall" rule="/2/@rules.22"/> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="UnrestrictedName"> | |
<type metamodel="/2/@metamodelDeclarations.0"> | |
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</type> | |
<alternatives xsi:type="xtext:RuleCall" rule="/2/@rules.28"/> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="EssentialOCLUnreservedName"> | |
<type metamodel="/2/@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:RuleCall" rule="/1/@rules.14"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.39"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.37"/> | |
<elements xsi:type="xtext:Keyword" value="Tuple"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="UnreservedName"> | |
<type metamodel="/2/@metamodelDeclarations.0"> | |
<classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</type> | |
<alternatives xsi:type="xtext:RuleCall" rule="/2/@rules.30"/> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="PathNameCS"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//PathNameCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="path" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.33"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value="::"/> | |
<elements xsi:type="xtext:Assignment" feature="path" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.34"/> | |
</elements> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="FirstPathElementCS"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//PathElementCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Assignment" feature="element" operator="="> | |
<terminal xsi:type="xtext:CrossReference"> | |
<type metamodel="/2/@metamodelDeclarations.1"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//NamedElement"/> | |
</type> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</terminal> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="NextPathElementCS"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//PathElementCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Assignment" feature="element" operator="="> | |
<terminal xsi:type="xtext:CrossReference"> | |
<type metamodel="/2/@metamodelDeclarations.1"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//NamedElement"/> | |
</type> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.31"/> | |
</terminal> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="URIPathNameCS"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//PathNameCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="path" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.36"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value="::"/> | |
<elements xsi:type="xtext:Assignment" feature="path" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.34"/> | |
</elements> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="URIFirstPathElementCS"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//PathElementCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Assignment" feature="element" operator="="> | |
<terminal xsi:type="xtext:CrossReference"> | |
<type metamodel="/2/@metamodelDeclarations.1"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//NamedElement"/> | |
</type> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</terminal> | |
</elements> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//PathElementWithURICS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="element" operator="="> | |
<terminal xsi:type="xtext:CrossReference"> | |
<type metamodel="/2/@metamodelDeclarations.1"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Namespace"/> | |
</type> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.17"/> | |
</terminal> | |
</elements> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="PrimitiveTypeIdentifier"> | |
<type metamodel="/2/@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:Keyword" value="Boolean"/> | |
<elements xsi:type="xtext:Keyword" value="Integer"/> | |
<elements xsi:type="xtext:Keyword" value="Real"/> | |
<elements xsi:type="xtext:Keyword" value="String"/> | |
<elements xsi:type="xtext:Keyword" value="UnlimitedNatural"/> | |
<elements xsi:type="xtext:Keyword" value="OclAny"/> | |
<elements xsi:type="xtext:Keyword" value="OclInvalid"/> | |
<elements xsi:type="xtext:Keyword" value="OclVoid"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="PrimitiveTypeCS"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//PrimitiveTypeRefCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.37"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="CollectionTypeIdentifier"> | |
<type metamodel="/2/@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:Keyword" value="Set"/> | |
<elements xsi:type="xtext:Keyword" value="Bag"/> | |
<elements xsi:type="xtext:Keyword" value="Sequence"/> | |
<elements xsi:type="xtext:Keyword" value="Collection"/> | |
<elements xsi:type="xtext:Keyword" value="OrderedSet"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="CollectionTypeCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//CollectionTypeCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.39"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value="("/> | |
<elements xsi:type="xtext:Assignment" feature="ownedType" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.62"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=")"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="MultiplicityBoundsCS"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//MultiplicityBoundsCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="lowerBound" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.10"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value=".."/> | |
<elements xsi:type="xtext:Assignment" feature="upperBound" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.11"/> | |
</elements> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="MultiplicityCS"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//MultiplicityCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Keyword" value="["/> | |
<elements xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.41"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.43"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="]"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="MultiplicityStringCS"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//MultiplicityStringCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Assignment" feature="stringBounds" operator="="> | |
<terminal xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Keyword" value="*"/> | |
<elements xsi:type="xtext:Keyword" value="+"/> | |
<elements xsi:type="xtext:Keyword" value="?"/> | |
</terminal> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="TupleTypeCS"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//TupleTypeCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:Keyword" value="Tuple"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value="("/> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Assignment" feature="ownedParts" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.45"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value=","/> | |
<elements xsi:type="xtext:Assignment" feature="ownedParts" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.45"/> | |
</elements> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=")"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="TuplePartCS"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//TuplePartCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=":"/> | |
<elements xsi:type="xtext:Assignment" feature="ownedType" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.62"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="CollectionLiteralExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//CollectionLiteralExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="ownedType" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.40"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="{"/> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Assignment" feature="ownedParts" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.47"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value=","/> | |
<elements xsi:type="xtext:Assignment" feature="ownedParts" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.47"/> | |
</elements> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="}"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="CollectionLiteralPartCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//CollectionLiteralPartCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="expressionCS" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value=".."/> | |
<elements xsi:type="xtext:Assignment" feature="lastExpressionCS" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="ConstructorPartCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//ConstructorPartCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="property" operator="="> | |
<terminal xsi:type="xtext:CrossReference"> | |
<type metamodel="/2/@metamodelDeclarations.1"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Property"/> | |
</type> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</terminal> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="="/> | |
<elements xsi:type="xtext:Assignment" feature="initExpression" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="PrimitiveLiteralExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//PrimitiveLiteralExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.52"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.53"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.54"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.55"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.56"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.57"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="TupleLiteralExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//TupleLiteralExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Keyword" value="Tuple"/> | |
<elements xsi:type="xtext:Keyword" value="{"/> | |
<elements xsi:type="xtext:Assignment" feature="ownedParts" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.51"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value=","/> | |
<elements xsi:type="xtext:Assignment" feature="ownedParts" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.51"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="}"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="TupleLiteralPartCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//TupleLiteralPartCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value=":"/> | |
<elements xsi:type="xtext:Assignment" feature="ownedType" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.62"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="="/> | |
<elements xsi:type="xtext:Assignment" feature="initExpression" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="NumberLiteralExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//NumberLiteralExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.12"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="StringLiteralExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//StringLiteralExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Assignment" cardinality="+" feature="name" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.23"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="BooleanLiteralExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//BooleanLiteralExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:Keyword" value="true"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:Keyword" value="false"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="UnlimitedNaturalLiteralExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//UnlimitedNaturalLiteralExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//UnlimitedNaturalLiteralExpCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="*"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="InvalidLiteralExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//InvalidLiteralExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//InvalidLiteralExpCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="invalid"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="NullLiteralExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//NullLiteralExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//NullLiteralExpCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="null"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="TypeLiteralCS"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//TypedRefCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.38"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.40"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.44"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="TypeLiteralWithMultiplicityCS"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//TypedRefCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.58"/> | |
<elements xsi:type="xtext:Assignment" cardinality="?" feature="multiplicity" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.42"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="TypeLiteralExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//TypeLiteralExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Assignment" feature="ownedType" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.59"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="TypeNameExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//TypeNameExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Assignment" feature="pathName" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.32"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="TypeExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.2"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//TypedRefCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.61"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.58"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" cardinality="?" feature="multiplicity" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.42"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="ExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//ExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.64"/> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Action" feature="ownedExpression" operator="+="> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//InfixExpCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="ownedOperator" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.24"/> | |
</elements> | |
<elements xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="ownedExpression" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.64"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Assignment" feature="ownedOperator" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.24"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="ownedExpression" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.64"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Assignment" feature="ownedOperator" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.24"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="ownedExpression" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.72"/> | |
</elements> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="ownedExpression" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.72"/> | |
</elements> | |
</elements> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//PrefixExpCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Assignment" cardinality="+" feature="ownedOperator" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.27"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="ownedExpression" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.72"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.72"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="PrefixedExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//ExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//PrefixExpCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Assignment" cardinality="+" feature="ownedOperator" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.27"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="ownedExpression" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.65"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.65"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="PrimaryExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//ExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.74"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.71"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.75"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.49"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.50"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.46"/> | |
<elements xsi:type="xtext:RuleCall" rule="/2/@rules.60"/> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//NameExpCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="pathName" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.32"/> | |
</elements> | |
<elements xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action" feature="nameExp" operator="="> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//IndexExpCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="["/> | |
<elements xsi:type="xtext:Assignment" feature="firstIndexes" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value=","/> | |
<elements xsi:type="xtext:Assignment" feature="firstIndexes" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="]"/> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value="["/> | |
<elements xsi:type="xtext:Assignment" feature="secondIndexes" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value=","/> | |
<elements xsi:type="xtext:Assignment" feature="secondIndexes" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="]"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Assignment" feature="atPre" operator="?="> | |
<terminal xsi:type="xtext:Keyword" value="@"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="pre"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action" feature="nameExp" operator="="> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//ConstructorExpCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="{"/> | |
<elements xsi:type="xtext:Alternatives"> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="ownedParts" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.48"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value=","/> | |
<elements xsi:type="xtext:Assignment" feature="ownedParts" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.48"/> | |
</elements> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="value" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.23"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="}"/> | |
</elements> | |
<elements xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Assignment" feature="atPre" operator="?="> | |
<terminal xsi:type="xtext:Keyword" value="@"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="pre"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Action" feature="nameExp" operator="="> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//InvocationExpCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="("/> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Assignment" feature="argument" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.66"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" cardinality="*" feature="argument" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.68"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Assignment" feature="argument" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.69"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" cardinality="*" feature="argument" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.68"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Assignment" feature="argument" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.67"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" cardinality="*" feature="argument" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.68"/> | |
</elements> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=")"/> | |
</elements> | |
</elements> | |
</elements> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="NavigatingArgCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//NavigatingArgCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.70"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value=":"/> | |
<elements xsi:type="xtext:Assignment" feature="ownedType" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.62"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value="="/> | |
<elements xsi:type="xtext:Assignment" feature="init" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
</elements> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="NavigatingBarArgCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//NavigatingArgCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="prefix" operator="="> | |
<terminal xsi:type="xtext:Keyword" value="|"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.70"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value=":"/> | |
<elements xsi:type="xtext:Assignment" feature="ownedType" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.62"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value="="/> | |
<elements xsi:type="xtext:Assignment" feature="init" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
</elements> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="NavigatingCommaArgCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//NavigatingArgCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="prefix" operator="="> | |
<terminal xsi:type="xtext:Keyword" value=","/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.70"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value=":"/> | |
<elements xsi:type="xtext:Assignment" feature="ownedType" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.62"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value="="/> | |
<elements xsi:type="xtext:Assignment" feature="init" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
</elements> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="NavigatingSemiArgCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//NavigatingArgCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="prefix" operator="="> | |
<terminal xsi:type="xtext:Keyword" value=";"/> | |
</elements> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.70"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value=":"/> | |
<elements xsi:type="xtext:Assignment" feature="ownedType" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.62"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value="="/> | |
<elements xsi:type="xtext:Assignment" feature="init" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
</elements> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="NavigatingArgExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//ExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="IfExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//IfExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Keyword" value="if"/> | |
<elements xsi:type="xtext:Assignment" feature="condition" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="then"/> | |
<elements xsi:type="xtext:Assignment" feature="thenExpression" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="else"/> | |
<elements xsi:type="xtext:Assignment" feature="elseExpression" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="endif"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="LetExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//LetExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Keyword" value="let"/> | |
<elements xsi:type="xtext:Assignment" feature="variable" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.73"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="*"> | |
<elements xsi:type="xtext:Keyword" value=","/> | |
<elements xsi:type="xtext:Assignment" feature="variable" operator="+="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.73"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="in"/> | |
<elements xsi:type="xtext:Assignment" feature="in" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="LetVariableCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//LetVariableCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Assignment" feature="name" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.14"/> | |
</elements> | |
<elements xsi:type="xtext:Group" cardinality="?"> | |
<elements xsi:type="xtext:Keyword" value=":"/> | |
<elements xsi:type="xtext:Assignment" feature="ownedType" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.62"/> | |
</elements> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="="/> | |
<elements xsi:type="xtext:Assignment" feature="initExpression" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="NestedExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//NestedExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Keyword" value="("/> | |
<elements xsi:type="xtext:Assignment" feature="source" operator="="> | |
<terminal xsi:type="xtext:RuleCall" rule="/2/@rules.63"/> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value=")"/> | |
</alternatives> | |
</rules> | |
<rules xsi:type="xtext:ParserRule" name="SelfExpCS"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//SelfExpCS"/> | |
</type> | |
<alternatives xsi:type="xtext:Group"> | |
<elements xsi:type="xtext:Action"> | |
<type metamodel="/2/@metamodelDeclarations.3"> | |
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//SelfExpCS"/> | |
</type> | |
</elements> | |
<elements xsi:type="xtext:Keyword" value="self"/> | |
</alternatives> | |
</rules> | |
</xtext:Grammar> | |
</xmi:XMI> |