Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/Domain.java2
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/impl/QVTbaseFactoryImpl.java1
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseSaver.java1
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/CoreDomainAttribution.java2
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/CoreModelAttribution.java5
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationToStringVisitor.java1
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore.ui/META-INF/MANIFEST.MF1
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/.classpath6
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/AreaCS.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/BottomPatternCS.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/DirectionCS.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/DomainCS.java11
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/EnforcementOperationCS.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/GuardPatternCS.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/MappingCS.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/ParamDeclarationCS.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/PatternCS.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QVTcoreCSTFactory.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QVTcoreCSTPackage.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QueryCS.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/RealizeableVariableCS.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/RealizedVariableCS.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/TopLevelCS.java15
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/TransformationCS.java13
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/UnrealizedVariableCS.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/AreaCSImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/BottomPatternCSImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/DirectionCSImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/DomainCSImpl.java16
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/EnforcementOperationCSImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/GuardPatternCSImpl.java11
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/MappingCSImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/ParamDeclarationCSImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/PatternCSImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QVTcoreCSTFactoryImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QVTcoreCSTPackageImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QueryCSImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/RealizeableVariableCSImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/RealizedVariableCSImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/TopLevelCSImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/TransformationCSImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/UnrealizedVariableCSImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTAdapterFactory.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTResourceFactoryImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTResourceImpl.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTSwitch.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTXMLProcessor.java10
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/plugin.properties2
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2pivot/QVTcoreContainmentVisitor.java1
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2pivot/QVTcorePreOrderVisitor.java5
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.classpath8
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.gitignore1
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.project28
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/META-INF/.gitignore1
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/META-INF/MANIFEST.MF22
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/about.html43
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/build.properties8
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/plugin.properties15
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/plugin.xml239
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/AbstractQVTrelationUiModule.java185
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/QVTrelationExecutableExtensionFactory.java42
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/AbstractQVTrelationProposalProvider.java252
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/QVTrelationParser.java367
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g16972
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.tokens169
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelationLexer.java3627
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelationParser.java53245
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/internal/QVTrelationActivator.java108
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/QVTrelationUiModule.java28
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/QVTrelationProposalProvider.java12
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/labeling/QVTrelationDescriptionLabelProvider.java27
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/labeling/QVTrelationLabelProvider.java34
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/outline/QVTrelationOutlineTreeProvider.java14
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/quickfix/QVTrelationQuickfixProvider.java19
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/.classpath9
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/.project34
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/META-INF/.gitignore1
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/META-INF/MANIFEST.MF30
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/about.html43
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/build.properties11
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AbstractDomainCS.java34
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AnyElementCS.java32
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/CollectionTemplateCS.java83
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DefaultValueCS.java95
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DomainCS.java220
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/KeyDeclCS.java102
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ModelDeclCS.java56
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ObjectTemplateCS.java54
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ParamDeclarationCS.java65
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PrimitiveTypeDomainCS.java63
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PropertyTemplateCS.java123
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTFactory.java209
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTPackage.java3027
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QueryCS.java143
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/RelationCS.java183
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateCS.java64
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateVariableCS.java94
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TopLevelCS.java73
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TransformationCS.java126
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/UnitCS.java58
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/VarDeclarationCS.java86
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhenCS.java58
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhereCS.java58
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AbstractDomainCSImpl.java60
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AnyElementCSImpl.java60
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/CollectionTemplateCSImpl.java235
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DefaultValueCSImpl.java256
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DomainCSImpl.java537
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/KeyDeclCSImpl.java250
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ModelDeclCSImpl.java150
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ObjectTemplateCSImpl.java167
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ParamDeclarationCSImpl.java194
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PrimitiveTypeDomainCSImpl.java174
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PropertyTemplateCSImpl.java318
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTFactoryImpl.java312
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTPackageImpl.java1146
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QueryCSImpl.java378
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/RelationCSImpl.java464
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateCSImpl.java269
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateVariableCSImpl.java256
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TopLevelCSImpl.java205
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TransformationCSImpl.java315
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/UnitCSImpl.java151
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/VarDeclarationCSImpl.java234
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhenCSImpl.java168
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhereCSImpl.java168
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractDelegatingQVTrelationCSVisitor.java127
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingDelegatingQVTrelationCSVisitor.java130
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingQVTrelationCSVisitor.java131
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractNullQVTrelationCSVisitor.java127
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractQVTrelationCSVisitor.java42
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/DecorableQVTrelationCSVisitor.java34
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTAdapterFactory.java650
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceFactoryImpl.java55
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceImpl.java42
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTSwitch.java781
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTXMLProcessor.java64
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSVisitor.java53
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore134
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.genmodel11
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/plugin.properties15
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/plugin.xml22
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/AbstractQVTrelationRuntimeModule.java197
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelation.xmi1833
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationStandaloneSetupGenerated.java40
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parseTreeConstruction/QVTrelationParsetreeConstructor.java15454
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/QVTrelationAntlrTokenFileProvider.java15
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/QVTrelationParser.java39
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g6360
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.tokens169
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelationLexer.java3631
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelationParser.java23491
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/services/QVTrelationGrammarAccess.java2713
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/validation/AbstractQVTrelationJavaValidator.java22
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/QVTrelation.xtext123
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationRuntimeModule.java11
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationStandaloneSetup.java14
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/formatting/QVTrelationFormatter.java27
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/scoping/QVTrelationScopeProvider.java17
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/validation/QVTrelationJavaValidator.java13
-rw-r--r--releng/org.eclipse.qvtd.build/.launches/GenerateQVTcoreEditor.mwe2.launch2
-rw-r--r--releng/org.eclipse.qvtd.build/.launches/GenerateQVTrelationEditor.mwe2.launch14
-rw-r--r--releng/org.eclipse.qvtd.build/META-INF/MANIFEST.MF3
-rw-r--r--releng/org.eclipse.qvtd.build/build.acceleo2
-rw-r--r--releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTXtextModels.mwe212
-rw-r--r--releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTcoreEditor.mwe22
-rw-r--r--releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTrelationEditor.mwe2153
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/.classpath7
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/.project28
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/META-INF/MANIFEST.MF10
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/about.html43
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/build.properties6
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/plugin.properties15
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/LoadTests.java129
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/LexerErrorUnexpectedCharacter.qvtc1
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/ParserErrorNoTxName.qvtc1
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/ParserErrorSplitTx.qvtc1
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/Rule4b.qvtc53
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/Rule6.qvtc35
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/TumlRdbms.ecore25
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/badmaps.qvtc71
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/dependencies.qvtc227
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/empty.qvtc0
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/expressions.qvtc28
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/mini.qvtc12
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/multimaps.qvtc63
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/queries.qvtc19
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/rdbmsMM.emof72
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/redefinition.qvtc37
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/test.qvtc36
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/type_check.qvtc20
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/umlMM.emof67
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/validator.qvtc39
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/visibility.qvtc22
197 files changed, 145423 insertions, 40 deletions
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/Domain.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/Domain.java
index 1422537c6..3791111a6 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/Domain.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/Domain.java
@@ -17,10 +17,8 @@
package org.eclipse.qvtd.pivot.qvtbase;
import org.eclipse.emf.ecore.EObject;
-
import org.eclipse.ocl.examples.pivot.Element;
import org.eclipse.ocl.examples.pivot.util.Nameable;
-import org.eclipse.ocl.examples.pivot.NamedElement;
/**
* <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/impl/QVTbaseFactoryImpl.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/impl/QVTbaseFactoryImpl.java
index 1590b9a2b..7ae8b0f22 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/impl/QVTbaseFactoryImpl.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/emf-gen/org/eclipse/qvtd/pivot/qvtbase/impl/QVTbaseFactoryImpl.java
@@ -21,7 +21,6 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
-import org.eclipse.qvtd.pivot.qvtbase.*;
import org.eclipse.qvtd.pivot.qvtbase.Function;
import org.eclipse.qvtd.pivot.qvtbase.FunctionParameter;
import org.eclipse.qvtd.pivot.qvtbase.Pattern;
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseSaver.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseSaver.java
index 564264fd9..5aee01773 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseSaver.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseSaver.java
@@ -22,7 +22,6 @@ import org.eclipse.ocl.examples.pivot.util.Visitable;
import org.eclipse.ocl.examples.pivot.utilities.AbstractPivotSaver;
import org.eclipse.ocl.examples.pivot.utilities.PivotSaver;
import org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage;
-import org.eclipse.qvtd.pivot.qvtbase.util.AbstractExtendingQVTbaseVisitor;
import org.eclipse.qvtd.pivot.qvtbase.util.AbstractNullQVTbaseVisitor;
/**
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/CoreDomainAttribution.java b/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/CoreDomainAttribution.java
index dcc4d76eb..745ceb1ad 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/CoreDomainAttribution.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/CoreDomainAttribution.java
@@ -18,10 +18,8 @@ package org.eclipse.qvtd.pivot.qvtcore.attributes;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.ocl.examples.pivot.scoping.AbstractAttribution;
-import org.eclipse.ocl.examples.pivot.scoping.Attribution;
import org.eclipse.ocl.examples.pivot.scoping.EnvironmentView;
import org.eclipse.ocl.examples.pivot.scoping.ScopeView;
-import org.eclipse.ocl.examples.pivot.utilities.PivotUtil;
import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
import org.eclipse.qvtd.pivot.qvtcore.CoreDomain;
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/CoreModelAttribution.java b/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/CoreModelAttribution.java
index b87c1a23a..70647166a 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/CoreModelAttribution.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/CoreModelAttribution.java
@@ -18,13 +18,8 @@ package org.eclipse.qvtd.pivot.qvtcore.attributes;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.ocl.examples.pivot.attributes.ModelAttribution;
-import org.eclipse.ocl.examples.pivot.manager.MetaModelManager;
-import org.eclipse.ocl.examples.pivot.scoping.AbstractAttribution;
import org.eclipse.ocl.examples.pivot.scoping.EnvironmentView;
import org.eclipse.ocl.examples.pivot.scoping.ScopeView;
-import org.eclipse.qvtd.pivot.qvtbase.Domain;
-import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
-import org.eclipse.qvtd.pivot.qvtcore.CoreModel;
public class CoreModelAttribution extends ModelAttribution
{
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationToStringVisitor.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationToStringVisitor.java
index c17ddc0e2..22009a53a 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationToStringVisitor.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationToStringVisitor.java
@@ -16,7 +16,6 @@ package org.eclipse.qvtd.pivot.qvtrelation.utilities;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.ocl.examples.pivot.utilities.ToStringVisitor;
-import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbaseToStringVisitor;
import org.eclipse.qvtd.pivot.qvtrelation.DomainPattern;
import org.eclipse.qvtd.pivot.qvtrelation.Key;
import org.eclipse.qvtd.pivot.qvtrelation.OppositePropertyCallExp;
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.qvtd.xtext.qvtcore.ui/META-INF/MANIFEST.MF
index 81bee3be7..5e59b1866 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore.ui/META-INF/MANIFEST.MF
@@ -5,6 +5,7 @@ Bundle-SymbolicName: org.eclipse.qvtd.xtext.qvtcore.ui; singleton:=true
Bundle-Version: 0.9.0.qualifier
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
Export-Package: org.eclipse.qvtd.xtext.qvtcore.ui.contentassist.antlr
Require-Bundle: org.eclipse.xtext.ui,
org.eclipse.xtext.ui.shared,
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/.classpath b/plugins/org.eclipse.qvtd.xtext.qvtcore/.classpath
index 543c16cc9..374e8aa83 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/.classpath
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/.classpath
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="emf-gen"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="src-gen"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="emf-gen"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/AreaCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/AreaCS.java
index 53c9c78f1..34e343726 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/AreaCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/AreaCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/BottomPatternCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/BottomPatternCS.java
index 6c3d29aa9..979b34ae2 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/BottomPatternCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/BottomPatternCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/DirectionCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/DirectionCS.java
index 0684cdefd..e5147a820 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/DirectionCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/DirectionCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/DomainCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/DomainCS.java
index 414e19e39..1a81621b8 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/DomainCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/DomainCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
@@ -7,7 +17,6 @@
package org.eclipse.qvtd.xtext.qvtcorecst;
import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
-import org.eclipse.qvtd.pivot.qvtcore.CoreDomain;
/**
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/EnforcementOperationCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/EnforcementOperationCS.java
index fbd5a31c7..4e2ef071a 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/EnforcementOperationCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/EnforcementOperationCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/GuardPatternCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/GuardPatternCS.java
index e2708b758..7e6d0407b 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/GuardPatternCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/GuardPatternCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/MappingCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/MappingCS.java
index f8c9ec341..37d4506b0 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/MappingCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/MappingCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/ParamDeclarationCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/ParamDeclarationCS.java
index f72f6e072..2d63705bd 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/ParamDeclarationCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/ParamDeclarationCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/PatternCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/PatternCS.java
index 9b0a2c6cf..4db390f7b 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/PatternCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/PatternCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QVTcoreCSTFactory.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QVTcoreCSTFactory.java
index b7ad9ebab..8b18a887f 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QVTcoreCSTFactory.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QVTcoreCSTFactory.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QVTcoreCSTPackage.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QVTcoreCSTPackage.java
index 9de001edc..cf75783e6 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QVTcoreCSTPackage.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QVTcoreCSTPackage.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QueryCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QueryCS.java
index 27b8b6b62..894eb6265 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QueryCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/QueryCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/RealizeableVariableCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/RealizeableVariableCS.java
index daf367abc..a623b66a8 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/RealizeableVariableCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/RealizeableVariableCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/RealizedVariableCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/RealizedVariableCS.java
index e4637569c..b4e5cd0ed 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/RealizedVariableCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/RealizedVariableCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/TopLevelCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/TopLevelCS.java
index 089e20ab6..cfb7cafeb 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/TopLevelCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/TopLevelCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
@@ -7,12 +17,7 @@
package org.eclipse.qvtd.xtext.qvtcorecst;
import org.eclipse.emf.common.util.EList;
-
import org.eclipse.ocl.examples.xtext.base.baseCST.RootPackageCS;
-import org.eclipse.ocl.examples.xtext.base.baseCST.RootCS;
-import org.eclipse.ocl.examples.xtext.base.baseCST.ImportCS;
-import org.eclipse.ocl.examples.xtext.base.baseCST.LibraryCS;
-import org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS;
/**
* <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/TransformationCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/TransformationCS.java
index 8f6f0b45f..15c06a6e1 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/TransformationCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/TransformationCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
@@ -7,11 +17,8 @@
package org.eclipse.qvtd.xtext.qvtcorecst;
import org.eclipse.emf.common.util.EList;
-
import org.eclipse.ocl.examples.pivot.Namespace;
-
import org.eclipse.ocl.examples.xtext.base.baseCST.PackageCS;
-import org.eclipse.ocl.examples.xtext.base.baseCST.NamespaceCS;
/**
* <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/UnrealizedVariableCS.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/UnrealizedVariableCS.java
index e302b1dcb..fc0283e42 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/UnrealizedVariableCS.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/UnrealizedVariableCS.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/AreaCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/AreaCSImpl.java
index abf71f902..aee52b797 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/AreaCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/AreaCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/BottomPatternCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/BottomPatternCSImpl.java
index 98b51713b..ac52ccbad 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/BottomPatternCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/BottomPatternCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/DirectionCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/DirectionCSImpl.java
index 527a2d1dc..bf9264944 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/DirectionCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/DirectionCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/DomainCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/DomainCSImpl.java
index 5a2bedafc..9dd6c4c63 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/DomainCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/DomainCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
@@ -7,15 +17,11 @@
package org.eclipse.qvtd.xtext.qvtcorecst.impl;
import org.eclipse.emf.common.notify.Notification;
-
import org.eclipse.emf.ecore.EClass;
-
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
-import org.eclipse.qvtd.pivot.qvtcore.CoreDomain;
import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
import org.eclipse.qvtd.xtext.qvtcorecst.DomainCS;
import org.eclipse.qvtd.xtext.qvtcorecst.QVTcoreCSTPackage;
import org.eclipse.qvtd.xtext.qvtcorecst.util.QVTcoreCSVisitor;
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/EnforcementOperationCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/EnforcementOperationCSImpl.java
index 4b6896c38..b7bfcd0e4 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/EnforcementOperationCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/EnforcementOperationCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/GuardPatternCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/GuardPatternCSImpl.java
index d141815b9..5f956bef8 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/GuardPatternCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/GuardPatternCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
@@ -42,7 +52,6 @@ public class GuardPatternCSImpl extends PatternCSImpl implements GuardPatternCS
return QVTcoreCSTPackage.Literals.GUARD_PATTERN_CS;
}
-
@SuppressWarnings("unchecked")
@Override
public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/MappingCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/MappingCSImpl.java
index 089d82a91..f77daa297 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/MappingCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/MappingCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/ParamDeclarationCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/ParamDeclarationCSImpl.java
index cd23d1b1a..f7f32d1b6 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/ParamDeclarationCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/ParamDeclarationCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/PatternCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/PatternCSImpl.java
index aa51361a9..54d53b5a4 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/PatternCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/PatternCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QVTcoreCSTFactoryImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QVTcoreCSTFactoryImpl.java
index f7d129e84..56a4701c9 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QVTcoreCSTFactoryImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QVTcoreCSTFactoryImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QVTcoreCSTPackageImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QVTcoreCSTPackageImpl.java
index b4d6c9c9a..1e394637a 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QVTcoreCSTPackageImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QVTcoreCSTPackageImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QueryCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QueryCSImpl.java
index c9bb35bdf..c92b22888 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QueryCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/QueryCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/RealizeableVariableCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/RealizeableVariableCSImpl.java
index 0a34dfdad..9c882bf3b 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/RealizeableVariableCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/RealizeableVariableCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/RealizedVariableCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/RealizedVariableCSImpl.java
index 9a609dd8a..c3bc8e696 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/RealizedVariableCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/RealizedVariableCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/TopLevelCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/TopLevelCSImpl.java
index b30fbe0b2..c4ff738f8 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/TopLevelCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/TopLevelCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/TransformationCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/TransformationCSImpl.java
index c39bb3079..a0bd166ec 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/TransformationCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/TransformationCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/UnrealizedVariableCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/UnrealizedVariableCSImpl.java
index 6ad27246a..67b5539e8 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/UnrealizedVariableCSImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/impl/UnrealizedVariableCSImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTAdapterFactory.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTAdapterFactory.java
index 7521c2410..f9651c9fe 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTAdapterFactory.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTAdapterFactory.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTResourceFactoryImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTResourceFactoryImpl.java
index 81d799e2b..d06f9da8a 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTResourceFactoryImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTResourceFactoryImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTResourceImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTResourceImpl.java
index 1c3d75110..e6bc14ea2 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTResourceImpl.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTResourceImpl.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTSwitch.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTSwitch.java
index 7a26d6188..6c62806fc 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTSwitch.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTSwitch.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTXMLProcessor.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTXMLProcessor.java
index 750a9ca9f..ae2826e59 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTXMLProcessor.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen/org/eclipse/qvtd/xtext/qvtcorecst/util/QVTcoreCSTXMLProcessor.java
@@ -1,5 +1,15 @@
/**
* <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
* </copyright>
*
* $Id$
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/plugin.properties b/plugins/org.eclipse.qvtd.xtext.qvtcore/plugin.properties
index 4b719430f..bc2aba915 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/plugin.properties
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/plugin.properties
@@ -11,5 +11,5 @@
# $Id$
###############################################################################
-pluginName = QVTcore CS Model
+pluginName = QVTcore CS Model and Parser
providerName = Eclipse Modeling Project
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2pivot/QVTcoreContainmentVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2pivot/QVTcoreContainmentVisitor.java
index 2b329bc74..a9c7397f6 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2pivot/QVTcoreContainmentVisitor.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2pivot/QVTcoreContainmentVisitor.java
@@ -21,7 +21,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.eclipse.ocl.examples.pivot.Model;
import org.eclipse.ocl.examples.pivot.PivotPackage;
import org.eclipse.ocl.examples.pivot.Variable;
import org.eclipse.ocl.examples.pivot.utilities.PivotUtil;
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2pivot/QVTcorePreOrderVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2pivot/QVTcorePreOrderVisitor.java
index ad9be6d38..0131843c8 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2pivot/QVTcorePreOrderVisitor.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2pivot/QVTcorePreOrderVisitor.java
@@ -16,14 +16,9 @@
*/
package org.eclipse.qvtd.xtext.qvtcore.cs2pivot;
-import org.eclipse.ocl.examples.pivot.manager.MetaModelManager;
-import org.eclipse.ocl.examples.pivot.utilities.PivotUtil;
-import org.eclipse.ocl.examples.xtext.base.cs2pivot.BasicContinuation;
import org.eclipse.ocl.examples.xtext.base.cs2pivot.CS2PivotConversion;
import org.eclipse.ocl.examples.xtext.base.cs2pivot.Continuation;
-import org.eclipse.ocl.examples.xtext.base.cs2pivot.SingleContinuation;
import org.eclipse.ocl.examples.xtext.essentialocl.cs2pivot.EssentialOCLPreOrderVisitor;
-import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
import org.eclipse.qvtd.xtext.qvtcorecst.AssignmentCS;
import org.eclipse.qvtd.xtext.qvtcorecst.BottomPatternCS;
import org.eclipse.qvtd.xtext.qvtcorecst.DirectionCS;
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.classpath b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.classpath
new file mode 100644
index 000000000..2734480ce
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.gitignore b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.gitignore
new file mode 100644
index 000000000..6dfe64ea7
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.gitignore
@@ -0,0 +1 @@
+/plugin.xml_gen
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.project b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.project
new file mode 100644
index 000000000..10eee05a5
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.qvtd.xtext.qvtrelation.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..44217f8c0
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/META-INF/.gitignore b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/META-INF/.gitignore
new file mode 100644
index 000000000..feca270a0
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/META-INF/.gitignore
@@ -0,0 +1 @@
+/MANIFEST.MF_gen
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..1229e8cae
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.qvtd.xtext.qvtrelation.ui; singleton:=true
+Bundle-Version: 0.9.0.qualifier
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
+Export-Package: org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist,
+ org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr
+Require-Bundle: org.eclipse.xtext.ui,
+ org.eclipse.xtext.ui.shared,
+ org.eclipse.ui.editors,
+ org.eclipse.ui,
+ org.antlr.runtime,
+ org.eclipse.xtext.builder,
+ org.eclipse.ocl.examples.xtext.essentialocl.ui;bundle-version="3.2.0",
+ org.eclipse.qvtd.xtext.qvtrelation,
+ org.eclipse.ocl.examples.xtext.markup.ui
+Import-Package: org.apache.log4j
+Bundle-Activator: org.eclipse.qvtd.xtext.qvtrelation.ui.internal.QVTrelationActivator
+Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/about.html b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/about.html
new file mode 100644
index 000000000..1d2734022
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/about.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>About</title>
+</head><body lang="EN-US">
+<h2>About This Content</h2>
+
+<pem>September 21, 2008</em></p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+
+ <h3>Third Party Content</h3>
+ <p>The Content includes items that have been sourced from third parties as set out below. If you
+ did not receive this Content directly from the Eclipse Foundation, the following is provided
+ for informational purposes only, and you should look to the Redistributor's license for
+ terms and conditions of use.</p>
+ <p><em>
+ <br><br>
+ <strong>OMG QVT 1.0 specification (08-04-03)</strong> <br>
+ <ul>
+ <li><a href="http://www.omg.org/spec/QVT/1.0/">QVT 1.0 main page</a></li>
+ <li><a href="http://www.omg.org/docs/formal/08-04-03.pdf">QVT 1.0 specification</a></li>
+ <li><a href="http://www.omg.org/">OMG site</a></li>
+ </ul>
+ <br>
+ </em></p>
+ <p>A detailed list of fixes and clarifications with respect to those specifications may be found in <a href="QVTBaseCompliance.html">QVTBaseCompliance.html</a>.</p>
+</body></html> \ No newline at end of file
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/build.properties b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/build.properties
new file mode 100644
index 000000000..684cc8e40
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/build.properties
@@ -0,0 +1,8 @@
+source.. = src/,\
+ src-gen/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html,\
+ plugin.xml,\
+ plugin.properties
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/plugin.properties b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/plugin.properties
new file mode 100644
index 000000000..83bc4dd1a
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/plugin.properties
@@ -0,0 +1,15 @@
+###############################################################################
+# Copyright (c) 2011 Eclipse Modeling Project and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# E.D.Willink - initial API and implementation
+#
+# $Id$
+###############################################################################
+
+pluginName = QVTrelation Editor
+providerName = Eclipse Modeling Project
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/plugin.xml b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/plugin.xml
new file mode 100644
index 000000000..bf8dbfc8e
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/plugin.xml
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+ contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+ default="true"
+ extensions="qvtr"
+ id="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation"
+ name="QVTrelation Editor">
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+ commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+ commandId="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.validate">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.core.expressions.definitions">
+ <definition id="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.Editor.opened">
+ <and>
+ <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation"
+ name="QVTrelation">
+ <keywordReference id="org.eclipse.qvtd.xtext.qvtrelation.ui.keyword_QVTrelation"/>
+ </page>
+ <page
+ category="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation"
+ class="org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+ id="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.coloring"
+ name="Syntax Coloring">
+ <keywordReference id="org.eclipse.qvtd.xtext.qvtrelation.ui.keyword_QVTrelation"/>
+ </page>
+ <page
+ category="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation"
+ class="org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+ id="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.templates"
+ name="Templates">
+ <keywordReference id="org.eclipse.qvtd.xtext.qvtrelation.ui.keyword_QVTrelation"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ class="org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation"
+ name="QVTrelation">
+ <keywordReference id="org.eclipse.qvtd.xtext.qvtrelation.ui.keyword_QVTrelation"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.keywords">
+ <keyword
+ id="org.eclipse.qvtd.xtext.qvtrelation.ui.keyword_QVTrelation"
+ label="QVTrelation"/>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Trigger expensive validation"
+ id="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.validate"
+ name="Validate">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command
+ commandId="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.validate"
+ style="push"
+ tooltip="Trigger expensive validation">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+ <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+ commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+
+<!-- adding resource factories -->
+
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+ type="qvtr">
+ </parser>
+ </extension>
+ <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+ <resourceServiceProvider
+ class="org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+ uriExtension="qvtr">
+ </resourceServiceProvider>
+ </extension>
+
+
+ <!-- marker definitions for org.eclipse.qvtd.xtext.qvtrelation.QVTrelation -->
+ <extension
+ id="qvtrelation.check.fast"
+ name="QVTrelation Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.fast"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="qvtrelation.check.normal"
+ name="QVTrelation Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.normal"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="qvtrelation.check.expensive"
+ name="QVTrelation Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.expensive"/>
+ <persistent value="true"/>
+ </extension>
+
+ <!-- Quick Outline -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+ commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Open the quick outline."
+ id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ name="Quick Outline">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.open">
+ <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ style="push"
+ tooltip="Open Quick Outline">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- quickfix marker resolution generator for org.eclipse.qvtd.xtext.qvtrelation.QVTrelation -->
+ <extension
+ point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ class="org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.qvtd.xtext.qvtrelation.ui.qvtrelation.check.fast">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.qvtd.xtext.qvtrelation.ui.qvtrelation.check.normal">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.qvtd.xtext.qvtrelation.ui.qvtrelation.check.expensive">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/AbstractQVTrelationUiModule.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/AbstractQVTrelationUiModule.java
new file mode 100644
index 000000000..bd44ba7dc
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/AbstractQVTrelationUiModule.java
@@ -0,0 +1,185 @@
+
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelation.ui;
+
+import org.eclipse.xtext.ui.DefaultUiModule;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Manual modifications go to {org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationUiModule}
+ */
+@SuppressWarnings("all")
+public abstract class AbstractQVTrelationUiModule extends DefaultUiModule {
+
+ public AbstractQVTrelationUiModule(AbstractUIPlugin plugin) {
+ super(plugin);
+ }
+
+
+ // contributed by org.eclipse.xtext.ui.generator.ImplicitUiFragment
+ public com.google.inject.Provider<org.eclipse.xtext.resource.containers.IAllContainersState> provideIAllContainersState() {
+ return org.eclipse.xtext.ui.shared.Access.getJavaProjectsState();
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper> bindIProposalConflictHelper() {
+ return org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureHighlightingLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.qvtd.xtext.qvtrelation.parser.antlr.internal.InternalQVTrelationLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureHighlightingTokenDefProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.ITokenDefProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher> bindPrefixMatcher() {
+ return org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator> bindIDependentElementsCalculator() {
+ return org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+ public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() {
+ return org.eclipse.qvtd.xtext.qvtrelation.ui.labeling.QVTrelationLabelProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+ public void configureResourceUIServiceLabelProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.jface.viewers.ILabelProvider.class).annotatedWith(org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider.class).to(org.eclipse.qvtd.xtext.qvtrelation.ui.labeling.QVTrelationDescriptionLabelProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider> bindIOutlineTreeProvider() {
+ return org.eclipse.qvtd.xtext.qvtrelation.ui.outline.QVTrelationOutlineTreeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
+ return org.eclipse.qvtd.xtext.qvtrelation.ui.outline.QVTrelationOutlineTreeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.contentAssist.JavaBasedContentAssistFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider> bindIContentProposalProvider() {
+ return org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.QVTrelationProposalProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext.Factory> bindContentAssistContext$Factory() {
+ return org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.antlr.IContentAssistParser> bindIContentAssistParser() {
+ return org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr.QVTrelationParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public void configureContentAssistLexerProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr.internal.InternalQVTrelationLexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr.internal.InternalQVTrelationLexer.class));
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public void configureContentAssistLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.CONTENT_ASSIST)).to(org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr.internal.InternalQVTrelationLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.builder.clustering.CurrentDescriptions.ResourceSetAware.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
+ return org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
+ return org.eclipse.qvtd.xtext.qvtrelation.ui.quickfix.QVTrelationQuickfixProvider.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.syntaxcoloring.AbstractAntlrTokenToAttributeIdMapper> bindAbstractAntlrTokenToAttributeIdMapper() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.ui.syntaxcoloring.BaseAntlrTokenToAttributeIdMapper.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.autoedit.AbstractEditStrategyProvider> bindAbstractEditStrategyProvider() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.ui.autoedit.BaseAutoEditStrategyProvider.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfiguration> bindIHighlightingConfiguration() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.ui.syntaxcoloring.EssentialOCLHighlightingConfiguration.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.resource.ILocationInFileProvider> bindILocationInFileProvider() {
+ return org.eclipse.ocl.examples.xtext.base.pivot2cs.BaseLocationInFileProvider.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.syntaxcoloring.ISemanticHighlightingCalculator> bindISemanticHighlightingCalculator() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.ui.syntaxcoloring.EssentialOCLSemanticHighlightingCalculator.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.model.ITokenTypeToPartitionTypeMapper> bindITokenTypeToPartitionTypeMapper() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.ui.model.BaseTerminalsTokenTypeToPartitionMapper.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.IURIEditorOpener> bindIURIEditorOpener() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.ui.model.BaseURIEditorOpener.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.IXtextEditorCallback> bindIXtextEditorCallback() {
+ return org.eclipse.xtext.ui.editor.validation.ValidatingEditorCallback.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.model.XtextDocument> bindXtextDocument() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.ui.model.BaseDocument.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.MarkupHoverFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider> bindIEObjectHoverProvider() {
+ return org.eclipse.ocl.examples.xtext.markup.ui.hover.MarkupHoverProvider.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.MarkupHoverFragment
+ public Class<? extends org.eclipse.xtext.documentation.IEObjectDocumentationProvider> bindIEObjectDocumentationProvider() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.ui.model.BaseDocumentationProvider.class;
+ }
+
+
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/QVTrelationExecutableExtensionFactory.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/QVTrelationExecutableExtensionFactory.java
new file mode 100644
index 000000000..7aac4b3d0
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/QVTrelationExecutableExtensionFactory.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelation.ui;
+
+import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
+import org.osgi.framework.Bundle;
+
+import com.google.inject.Injector;
+
+import org.eclipse.qvtd.xtext.qvtrelation.ui.internal.QVTrelationActivator;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class QVTrelationExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
+
+ @Override
+ protected Bundle getBundle() {
+ return QVTrelationActivator.getInstance().getBundle();
+ }
+
+ @Override
+ protected Injector getInjector() {
+ return QVTrelationActivator.getInstance().getInjector(QVTrelationActivator.ORG_ECLIPSE_QVTD_XTEXT_QVTRELATION_QVTRELATION);
+ }
+
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/AbstractQVTrelationProposalProvider.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/AbstractQVTrelationProposalProvider.java
new file mode 100644
index 000000000..faabd7bc4
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/AbstractQVTrelationProposalProvider.java
@@ -0,0 +1,252 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.*;
+import org.eclipse.ocl.examples.xtext.essentialocl.ui.contentassist.EssentialOCLProposalProvider;
+import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
+
+/**
+ * Represents a generated, default implementation of interface {@link IProposalProvider}.
+ * Methods are dynamically dispatched on the first parameter, i.e., you can override them
+ * with a more concrete subtype.
+ */
+@SuppressWarnings("all")
+public class AbstractQVTrelationProposalProvider extends EssentialOCLProposalProvider {
+
+ public void completeTopLevelCS_ImportClause(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTopLevelCS_Transformation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeUnitCS_Identifier(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTransformationCS_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTransformationCS_ModelDecl(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTransformationCS_Extends(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTransformationCS_KeyDecl(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTransformationCS_Relation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTransformationCS_Query(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeModelDeclCS_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeModelDeclCS_MetaModelId(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeKeyDeclCS_PathName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeKeyDeclCS_PropertyId(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRelationCS_Top(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void completeRelationCS_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRelationCS_Overrides(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRelationCS_VarDeclaration(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRelationCS_Domain(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRelationCS_When(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRelationCS_Where(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeWhenCS_Expr(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeWhereCS_Expr(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeVarDeclarationCS_VarDeclarationId(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeVarDeclarationCS_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDomainCS_Checkonly(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void completeDomainCS_Enforce(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void completeDomainCS_ModelId(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDomainCS_Template(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDomainCS_ImplementedBy(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDomainCS_DefaultValue(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePrimitiveTypeDomainCS_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePrimitiveTypeDomainCS_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTemplateCS_GuardExpression(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeObjectTemplateCS_PropertyId(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeObjectTemplateCS_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeObjectTemplateCS_PropertyTemplate(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePropertyTemplateCS_PropertyId(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePropertyTemplateCS_OclExpression(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeCollectionTemplateCS_PropertyId(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeCollectionTemplateCS_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeCollectionTemplateCS_MemberIdentifier(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(0)), context, acceptor);
+ completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(1)), context, acceptor);
+ completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(2)), context, acceptor);
+ }
+ public void completeCollectionTemplateCS_RestIdentifier(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(0)), context, acceptor);
+ completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(1)), context, acceptor);
+ }
+ public void completeNameExpCS_PathName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDefaultValueCS_PropertyId(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDefaultValueCS_Initialiser(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeQueryCS_PathName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeQueryCS_InputParamDeclaration(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeQueryCS_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeQueryCS_OclExpression(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeParamDeclarationCS_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeParamDeclarationCS_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeCollectionTypedRefCS_PathName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTypedRefCS_PathName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+
+ public void complete_TopLevelCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_UnitCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_TransformationCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ModelDeclCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_KeyDeclCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_RelationCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_WhenCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_WhereCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_VarDeclarationCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_DomainCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_PrimitiveTypeDomainCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_TemplateCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ObjectTemplateCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_PropertyTemplateCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_CollectionTemplateCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_NameExpCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_AnyElementCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_DefaultValueCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_QueryCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ParamDeclarationCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_CollectionTypedRefCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_TypedRefCS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_UnrestrictedName(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/QVTrelationParser.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/QVTrelationParser.java
new file mode 100644
index 000000000..03251fe97
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/QVTrelationParser.java
@@ -0,0 +1,367 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.HashMap;
+
+import org.antlr.runtime.RecognitionException;
+import org.eclipse.xtext.AbstractElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+
+import com.google.inject.Inject;
+
+import org.eclipse.qvtd.xtext.qvtrelation.services.QVTrelationGrammarAccess;
+
+public class QVTrelationParser extends AbstractContentAssistParser {
+
+ @Inject
+ private QVTrelationGrammarAccess grammarAccess;
+
+ private Map<AbstractElement, String> nameMappings;
+
+ @Override
+ protected org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr.internal.InternalQVTrelationParser createParser() {
+ org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr.internal.InternalQVTrelationParser result = new org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr.internal.InternalQVTrelationParser(null);
+ result.setGrammarAccess(grammarAccess);
+ return result;
+ }
+
+ @Override
+ protected String getRuleName(AbstractElement element) {
+ if (nameMappings == null) {
+ nameMappings = new HashMap<AbstractElement, String>() {
+ private static final long serialVersionUID = 1L;
+ {
+ put(grammarAccess.getTransformationCSAccess().getAlternatives_9(), "rule__TransformationCS__Alternatives_9");
+ put(grammarAccess.getModelDeclCSAccess().getAlternatives_2(), "rule__ModelDeclCS__Alternatives_2");
+ put(grammarAccess.getRelationCSAccess().getAlternatives_6(), "rule__RelationCS__Alternatives_6");
+ put(grammarAccess.getDomainCSAccess().getAlternatives_0(), "rule__DomainCS__Alternatives_0");
+ put(grammarAccess.getTemplateCSAccess().getAlternatives_0(), "rule__TemplateCS__Alternatives_0");
+ put(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAlternatives_4_0_0(), "rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0");
+ put(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAlternatives_4_1_1_0(), "rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0");
+ put(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAlternatives_4_3_0(), "rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0");
+ put(grammarAccess.getQueryCSAccess().getAlternatives_7(), "rule__QueryCS__Alternatives_7");
+ put(grammarAccess.getUnrestrictedNameAccess().getAlternatives(), "rule__UnrestrictedName__Alternatives");
+ put(grammarAccess.getIDAccess().getAlternatives(), "rule__ID__Alternatives");
+ put(grammarAccess.getUPPERAccess().getAlternatives(), "rule__UPPER__Alternatives");
+ put(grammarAccess.getNUMBER_LITERALAccess().getAlternatives_2_0(), "rule__NUMBER_LITERAL__Alternatives_2_0");
+ put(grammarAccess.getNUMBER_LITERALAccess().getAlternatives_2_1(), "rule__NUMBER_LITERAL__Alternatives_2_1");
+ put(grammarAccess.getEssentialOCLReservedKeywordAccess().getAlternatives(), "rule__EssentialOCLReservedKeyword__Alternatives");
+ put(grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getAlternatives(), "rule__EssentialOCLUnrestrictedIdentifier__Alternatives");
+ put(grammarAccess.getEssentialOCLPrefixOperatorAccess().getAlternatives(), "rule__EssentialOCLPrefixOperator__Alternatives");
+ put(grammarAccess.getEssentialOCLInfixOperatorAccess().getAlternatives(), "rule__EssentialOCLInfixOperator__Alternatives");
+ put(grammarAccess.getEssentialOCLNavigationOperatorAccess().getAlternatives(), "rule__EssentialOCLNavigationOperator__Alternatives");
+ put(grammarAccess.getIdentifierAccess().getAlternatives(), "rule__Identifier__Alternatives");
+ put(grammarAccess.getEssentialOCLUnreservedNameAccess().getAlternatives(), "rule__EssentialOCLUnreservedName__Alternatives");
+ put(grammarAccess.getPrimitiveTypeIdentifierAccess().getAlternatives(), "rule__PrimitiveTypeIdentifier__Alternatives");
+ put(grammarAccess.getCollectionTypeIdentifierAccess().getAlternatives(), "rule__CollectionTypeIdentifier__Alternatives");
+ put(grammarAccess.getMultiplicityCSAccess().getAlternatives_1(), "rule__MultiplicityCS__Alternatives_1");
+ put(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAlternatives_0(), "rule__MultiplicityStringCS__StringBoundsAlternatives_0");
+ put(grammarAccess.getPrimitiveLiteralExpCSAccess().getAlternatives(), "rule__PrimitiveLiteralExpCS__Alternatives");
+ put(grammarAccess.getBooleanLiteralExpCSAccess().getAlternatives(), "rule__BooleanLiteralExpCS__Alternatives");
+ put(grammarAccess.getTypeLiteralCSAccess().getAlternatives(), "rule__TypeLiteralCS__Alternatives");
+ put(grammarAccess.getTypeExpCSAccess().getAlternatives_0(), "rule__TypeExpCS__Alternatives_0");
+ put(grammarAccess.getExpCSAccess().getAlternatives(), "rule__ExpCS__Alternatives");
+ put(grammarAccess.getBinaryOperatorCSAccess().getAlternatives(), "rule__BinaryOperatorCS__Alternatives");
+ put(grammarAccess.getPrefixedExpCSAccess().getAlternatives(), "rule__PrefixedExpCS__Alternatives");
+ put(grammarAccess.getPrefixedExpOrLetExpCSAccess().getAlternatives(), "rule__PrefixedExpOrLetExpCS__Alternatives");
+ put(grammarAccess.getPrimaryExpCSAccess().getAlternatives(), "rule__PrimaryExpCS__Alternatives");
+ put(grammarAccess.getPrimaryExpOrLetExpCSAccess().getAlternatives(), "rule__PrimaryExpOrLetExpCS__Alternatives");
+ put(grammarAccess.getTopLevelCSAccess().getGroup(), "rule__TopLevelCS__Group__0");
+ put(grammarAccess.getTopLevelCSAccess().getGroup_0(), "rule__TopLevelCS__Group_0__0");
+ put(grammarAccess.getUnitCSAccess().getGroup(), "rule__UnitCS__Group__0");
+ put(grammarAccess.getUnitCSAccess().getGroup_1(), "rule__UnitCS__Group_1__0");
+ put(grammarAccess.getTransformationCSAccess().getGroup(), "rule__TransformationCS__Group__0");
+ put(grammarAccess.getTransformationCSAccess().getGroup_4(), "rule__TransformationCS__Group_4__0");
+ put(grammarAccess.getTransformationCSAccess().getGroup_6(), "rule__TransformationCS__Group_6__0");
+ put(grammarAccess.getTransformationCSAccess().getGroup_6_2(), "rule__TransformationCS__Group_6_2__0");
+ put(grammarAccess.getModelDeclCSAccess().getGroup(), "rule__ModelDeclCS__Group__0");
+ put(grammarAccess.getModelDeclCSAccess().getGroup_2_1(), "rule__ModelDeclCS__Group_2_1__0");
+ put(grammarAccess.getModelDeclCSAccess().getGroup_2_1_2(), "rule__ModelDeclCS__Group_2_1_2__0");
+ put(grammarAccess.getKeyDeclCSAccess().getGroup(), "rule__KeyDeclCS__Group__0");
+ put(grammarAccess.getKeyDeclCSAccess().getGroup_4(), "rule__KeyDeclCS__Group_4__0");
+ put(grammarAccess.getRelationCSAccess().getGroup(), "rule__RelationCS__Group__0");
+ put(grammarAccess.getRelationCSAccess().getGroup_3(), "rule__RelationCS__Group_3__0");
+ put(grammarAccess.getWhenCSAccess().getGroup(), "rule__WhenCS__Group__0");
+ put(grammarAccess.getWhenCSAccess().getGroup_3(), "rule__WhenCS__Group_3__0");
+ put(grammarAccess.getWhereCSAccess().getGroup(), "rule__WhereCS__Group__0");
+ put(grammarAccess.getWhereCSAccess().getGroup_3(), "rule__WhereCS__Group_3__0");
+ put(grammarAccess.getVarDeclarationCSAccess().getGroup(), "rule__VarDeclarationCS__Group__0");
+ put(grammarAccess.getVarDeclarationCSAccess().getGroup_1(), "rule__VarDeclarationCS__Group_1__0");
+ put(grammarAccess.getDomainCSAccess().getGroup(), "rule__DomainCS__Group__0");
+ put(grammarAccess.getDomainCSAccess().getGroup_4(), "rule__DomainCS__Group_4__0");
+ put(grammarAccess.getDomainCSAccess().getGroup_5(), "rule__DomainCS__Group_5__0");
+ put(grammarAccess.getPrimitiveTypeDomainCSAccess().getGroup(), "rule__PrimitiveTypeDomainCS__Group__0");
+ put(grammarAccess.getTemplateCSAccess().getGroup(), "rule__TemplateCS__Group__0");
+ put(grammarAccess.getTemplateCSAccess().getGroup_1(), "rule__TemplateCS__Group_1__0");
+ put(grammarAccess.getObjectTemplateCSAccess().getGroup(), "rule__ObjectTemplateCS__Group__0");
+ put(grammarAccess.getObjectTemplateCSAccess().getGroup_4(), "rule__ObjectTemplateCS__Group_4__0");
+ put(grammarAccess.getObjectTemplateCSAccess().getGroup_4_1(), "rule__ObjectTemplateCS__Group_4_1__0");
+ put(grammarAccess.getPropertyTemplateCSAccess().getGroup(), "rule__PropertyTemplateCS__Group__0");
+ put(grammarAccess.getCollectionTemplateCSAccess().getGroup(), "rule__CollectionTemplateCS__Group__0");
+ put(grammarAccess.getCollectionTemplateCSAccess().getGroup_4(), "rule__CollectionTemplateCS__Group_4__0");
+ put(grammarAccess.getCollectionTemplateCSAccess().getGroup_4_1(), "rule__CollectionTemplateCS__Group_4_1__0");
+ put(grammarAccess.getAnyElementCSAccess().getGroup(), "rule__AnyElementCS__Group__0");
+ put(grammarAccess.getDefaultValueCSAccess().getGroup(), "rule__DefaultValueCS__Group__0");
+ put(grammarAccess.getQueryCSAccess().getGroup(), "rule__QueryCS__Group__0");
+ put(grammarAccess.getQueryCSAccess().getGroup_3(), "rule__QueryCS__Group_3__0");
+ put(grammarAccess.getQueryCSAccess().getGroup_3_1(), "rule__QueryCS__Group_3_1__0");
+ put(grammarAccess.getQueryCSAccess().getGroup_7_1(), "rule__QueryCS__Group_7_1__0");
+ put(grammarAccess.getParamDeclarationCSAccess().getGroup(), "rule__ParamDeclarationCS__Group__0");
+ put(grammarAccess.getNUMBER_LITERALAccess().getGroup(), "rule__NUMBER_LITERAL__Group__0");
+ put(grammarAccess.getNUMBER_LITERALAccess().getGroup_1(), "rule__NUMBER_LITERAL__Group_1__0");
+ put(grammarAccess.getNUMBER_LITERALAccess().getGroup_2(), "rule__NUMBER_LITERAL__Group_2__0");
+ put(grammarAccess.getPathNameCSAccess().getGroup(), "rule__PathNameCS__Group__0");
+ put(grammarAccess.getPathNameCSAccess().getGroup_1(), "rule__PathNameCS__Group_1__0");
+ put(grammarAccess.getCollectionTypeCSAccess().getGroup(), "rule__CollectionTypeCS__Group__0");
+ put(grammarAccess.getCollectionTypeCSAccess().getGroup_1(), "rule__CollectionTypeCS__Group_1__0");
+ put(grammarAccess.getMultiplicityBoundsCSAccess().getGroup(), "rule__MultiplicityBoundsCS__Group__0");
+ put(grammarAccess.getMultiplicityBoundsCSAccess().getGroup_1(), "rule__MultiplicityBoundsCS__Group_1__0");
+ put(grammarAccess.getMultiplicityCSAccess().getGroup(), "rule__MultiplicityCS__Group__0");
+ put(grammarAccess.getTupleTypeCSAccess().getGroup(), "rule__TupleTypeCS__Group__0");
+ put(grammarAccess.getTupleTypeCSAccess().getGroup_1(), "rule__TupleTypeCS__Group_1__0");
+ put(grammarAccess.getTupleTypeCSAccess().getGroup_1_1(), "rule__TupleTypeCS__Group_1_1__0");
+ put(grammarAccess.getTupleTypeCSAccess().getGroup_1_1_1(), "rule__TupleTypeCS__Group_1_1_1__0");
+ put(grammarAccess.getTuplePartCSAccess().getGroup(), "rule__TuplePartCS__Group__0");
+ put(grammarAccess.getCollectionLiteralExpCSAccess().getGroup(), "rule__CollectionLiteralExpCS__Group__0");
+ put(grammarAccess.getCollectionLiteralExpCSAccess().getGroup_2(), "rule__CollectionLiteralExpCS__Group_2__0");
+ put(grammarAccess.getCollectionLiteralExpCSAccess().getGroup_2_1(), "rule__CollectionLiteralExpCS__Group_2_1__0");
+ put(grammarAccess.getCollectionLiteralPartCSAccess().getGroup(), "rule__CollectionLiteralPartCS__Group__0");
+ put(grammarAccess.getCollectionLiteralPartCSAccess().getGroup_1(), "rule__CollectionLiteralPartCS__Group_1__0");
+ put(grammarAccess.getConstructorPartCSAccess().getGroup(), "rule__ConstructorPartCS__Group__0");
+ put(grammarAccess.getTupleLiteralExpCSAccess().getGroup(), "rule__TupleLiteralExpCS__Group__0");
+ put(grammarAccess.getTupleLiteralExpCSAccess().getGroup_3(), "rule__TupleLiteralExpCS__Group_3__0");
+ put(grammarAccess.getTupleLiteralPartCSAccess().getGroup(), "rule__TupleLiteralPartCS__Group__0");
+ put(grammarAccess.getTupleLiteralPartCSAccess().getGroup_1(), "rule__TupleLiteralPartCS__Group_1__0");
+ put(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getGroup(), "rule__UnlimitedNaturalLiteralExpCS__Group__0");
+ put(grammarAccess.getInvalidLiteralExpCSAccess().getGroup(), "rule__InvalidLiteralExpCS__Group__0");
+ put(grammarAccess.getNullLiteralExpCSAccess().getGroup(), "rule__NullLiteralExpCS__Group__0");
+ put(grammarAccess.getTypeExpCSAccess().getGroup(), "rule__TypeExpCS__Group__0");
+ put(grammarAccess.getExpCSAccess().getGroup_0(), "rule__ExpCS__Group_0__0");
+ put(grammarAccess.getExpCSAccess().getGroup_0_1(), "rule__ExpCS__Group_0_1__0");
+ put(grammarAccess.getExpCSAccess().getGroup_1(), "rule__ExpCS__Group_1__0");
+ put(grammarAccess.getPrefixedExpCSAccess().getGroup_1(), "rule__PrefixedExpCS__Group_1__0");
+ put(grammarAccess.getPrefixedExpOrLetExpCSAccess().getGroup_1(), "rule__PrefixedExpOrLetExpCS__Group_1__0");
+ put(grammarAccess.getPrimaryExpCSAccess().getGroup_0(), "rule__PrimaryExpCS__Group_0__0");
+ put(grammarAccess.getPrimaryExpCSAccess().getGroup_0_4(), "rule__PrimaryExpCS__Group_0_4__0");
+ put(grammarAccess.getPrimaryExpCSAccess().getGroup_0_6(), "rule__PrimaryExpCS__Group_0_6__0");
+ put(grammarAccess.getPrimaryExpCSAccess().getGroup_0_6_2(), "rule__PrimaryExpCS__Group_0_6_2__0");
+ put(grammarAccess.getPrimaryExpCSAccess().getGroup_0_7(), "rule__PrimaryExpCS__Group_0_7__0");
+ put(grammarAccess.getPrimaryExpCSAccess().getGroup_1(), "rule__PrimaryExpCS__Group_1__0");
+ put(grammarAccess.getPrimaryExpCSAccess().getGroup_1_4(), "rule__PrimaryExpCS__Group_1_4__0");
+ put(grammarAccess.getPrimaryExpCSAccess().getGroup_2(), "rule__PrimaryExpCS__Group_2__0");
+ put(grammarAccess.getPrimaryExpCSAccess().getGroup_2_2(), "rule__PrimaryExpCS__Group_2_2__0");
+ put(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4(), "rule__PrimaryExpCS__Group_2_4__0");
+ put(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4_2(), "rule__PrimaryExpCS__Group_2_4_2__0");
+ put(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4_3(), "rule__PrimaryExpCS__Group_2_4_3__0");
+ put(grammarAccess.getPrimaryExpCSAccess().getGroup_3(), "rule__PrimaryExpCS__Group_3__0");
+ put(grammarAccess.getPrimaryExpCSAccess().getGroup_3_2(), "rule__PrimaryExpCS__Group_3_2__0");
+ put(grammarAccess.getNavigatingArgCSAccess().getGroup(), "rule__NavigatingArgCS__Group__0");
+ put(grammarAccess.getNavigatingArgCSAccess().getGroup_1(), "rule__NavigatingArgCS__Group_1__0");
+ put(grammarAccess.getNavigatingArgCSAccess().getGroup_1_2(), "rule__NavigatingArgCS__Group_1_2__0");
+ put(grammarAccess.getNavigatingBarArgCSAccess().getGroup(), "rule__NavigatingBarArgCS__Group__0");
+ put(grammarAccess.getNavigatingBarArgCSAccess().getGroup_2(), "rule__NavigatingBarArgCS__Group_2__0");
+ put(grammarAccess.getNavigatingBarArgCSAccess().getGroup_2_2(), "rule__NavigatingBarArgCS__Group_2_2__0");
+ put(grammarAccess.getNavigatingCommaArgCSAccess().getGroup(), "rule__NavigatingCommaArgCS__Group__0");
+ put(grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2(), "rule__NavigatingCommaArgCS__Group_2__0");
+ put(grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2_2(), "rule__NavigatingCommaArgCS__Group_2_2__0");
+ put(grammarAccess.getNavigatingSemiArgCSAccess().getGroup(), "rule__NavigatingSemiArgCS__Group__0");
+ put(grammarAccess.getNavigatingSemiArgCSAccess().getGroup_2(), "rule__NavigatingSemiArgCS__Group_2__0");
+ put(grammarAccess.getNavigatingSemiArgCSAccess().getGroup_2_2(), "rule__NavigatingSemiArgCS__Group_2_2__0");
+ put(grammarAccess.getIfExpCSAccess().getGroup(), "rule__IfExpCS__Group__0");
+ put(grammarAccess.getLetExpCSAccess().getGroup(), "rule__LetExpCS__Group__0");
+ put(grammarAccess.getLetExpCSAccess().getGroup_2(), "rule__LetExpCS__Group_2__0");
+ put(grammarAccess.getLetVariableCSAccess().getGroup(), "rule__LetVariableCS__Group__0");
+ put(grammarAccess.getLetVariableCSAccess().getGroup_1(), "rule__LetVariableCS__Group_1__0");
+ put(grammarAccess.getNestedExpCSAccess().getGroup(), "rule__NestedExpCS__Group__0");
+ put(grammarAccess.getSelfExpCSAccess().getGroup(), "rule__SelfExpCS__Group__0");
+ put(grammarAccess.getTopLevelCSAccess().getImportClauseAssignment_0_1(), "rule__TopLevelCS__ImportClauseAssignment_0_1");
+ put(grammarAccess.getTopLevelCSAccess().getTransformationAssignment_1(), "rule__TopLevelCS__TransformationAssignment_1");
+ put(grammarAccess.getUnitCSAccess().getIdentifierAssignment_0(), "rule__UnitCS__IdentifierAssignment_0");
+ put(grammarAccess.getUnitCSAccess().getIdentifierAssignment_1_1(), "rule__UnitCS__IdentifierAssignment_1_1");
+ put(grammarAccess.getTransformationCSAccess().getNameAssignment_1(), "rule__TransformationCS__NameAssignment_1");
+ put(grammarAccess.getTransformationCSAccess().getModelDeclAssignment_3(), "rule__TransformationCS__ModelDeclAssignment_3");
+ put(grammarAccess.getTransformationCSAccess().getModelDeclAssignment_4_1(), "rule__TransformationCS__ModelDeclAssignment_4_1");
+ put(grammarAccess.getTransformationCSAccess().getExtendsAssignment_6_1(), "rule__TransformationCS__ExtendsAssignment_6_1");
+ put(grammarAccess.getTransformationCSAccess().getExtendsAssignment_6_2_1(), "rule__TransformationCS__ExtendsAssignment_6_2_1");
+ put(grammarAccess.getTransformationCSAccess().getKeyDeclAssignment_8(), "rule__TransformationCS__KeyDeclAssignment_8");
+ put(grammarAccess.getTransformationCSAccess().getRelationAssignment_9_0(), "rule__TransformationCS__RelationAssignment_9_0");
+ put(grammarAccess.getTransformationCSAccess().getQueryAssignment_9_1(), "rule__TransformationCS__QueryAssignment_9_1");
+ put(grammarAccess.getModelDeclCSAccess().getNameAssignment_0(), "rule__ModelDeclCS__NameAssignment_0");
+ put(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_0(), "rule__ModelDeclCS__MetaModelIdAssignment_2_0");
+ put(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_1_1(), "rule__ModelDeclCS__MetaModelIdAssignment_2_1_1");
+ put(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_1_2_1(), "rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1");
+ put(grammarAccess.getKeyDeclCSAccess().getPathNameAssignment_1(), "rule__KeyDeclCS__PathNameAssignment_1");
+ put(grammarAccess.getKeyDeclCSAccess().getPropertyIdAssignment_3(), "rule__KeyDeclCS__PropertyIdAssignment_3");
+ put(grammarAccess.getKeyDeclCSAccess().getPropertyIdAssignment_4_1(), "rule__KeyDeclCS__PropertyIdAssignment_4_1");
+ put(grammarAccess.getRelationCSAccess().getTopAssignment_0(), "rule__RelationCS__TopAssignment_0");
+ put(grammarAccess.getRelationCSAccess().getNameAssignment_2(), "rule__RelationCS__NameAssignment_2");
+ put(grammarAccess.getRelationCSAccess().getOverridesAssignment_3_1(), "rule__RelationCS__OverridesAssignment_3_1");
+ put(grammarAccess.getRelationCSAccess().getVarDeclarationAssignment_5(), "rule__RelationCS__VarDeclarationAssignment_5");
+ put(grammarAccess.getRelationCSAccess().getDomainAssignment_6_0(), "rule__RelationCS__DomainAssignment_6_0");
+ put(grammarAccess.getRelationCSAccess().getDomainAssignment_6_1(), "rule__RelationCS__DomainAssignment_6_1");
+ put(grammarAccess.getRelationCSAccess().getWhenAssignment_7(), "rule__RelationCS__WhenAssignment_7");
+ put(grammarAccess.getRelationCSAccess().getWhereAssignment_8(), "rule__RelationCS__WhereAssignment_8");
+ put(grammarAccess.getWhenCSAccess().getExprAssignment_3_0(), "rule__WhenCS__ExprAssignment_3_0");
+ put(grammarAccess.getWhereCSAccess().getExprAssignment_3_0(), "rule__WhereCS__ExprAssignment_3_0");
+ put(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdAssignment_0(), "rule__VarDeclarationCS__VarDeclarationIdAssignment_0");
+ put(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdAssignment_1_1(), "rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1");
+ put(grammarAccess.getVarDeclarationCSAccess().getTypeAssignment_3(), "rule__VarDeclarationCS__TypeAssignment_3");
+ put(grammarAccess.getDomainCSAccess().getCheckonlyAssignment_0_0(), "rule__DomainCS__CheckonlyAssignment_0_0");
+ put(grammarAccess.getDomainCSAccess().getEnforceAssignment_0_1(), "rule__DomainCS__EnforceAssignment_0_1");
+ put(grammarAccess.getDomainCSAccess().getModelIdAssignment_2(), "rule__DomainCS__ModelIdAssignment_2");
+ put(grammarAccess.getDomainCSAccess().getTemplateAssignment_3(), "rule__DomainCS__TemplateAssignment_3");
+ put(grammarAccess.getDomainCSAccess().getImplementedByAssignment_4_1(), "rule__DomainCS__ImplementedByAssignment_4_1");
+ put(grammarAccess.getDomainCSAccess().getDefaultValueAssignment_5_2(), "rule__DomainCS__DefaultValueAssignment_5_2");
+ put(grammarAccess.getPrimitiveTypeDomainCSAccess().getNameAssignment_2(), "rule__PrimitiveTypeDomainCS__NameAssignment_2");
+ put(grammarAccess.getPrimitiveTypeDomainCSAccess().getTypeAssignment_4(), "rule__PrimitiveTypeDomainCS__TypeAssignment_4");
+ put(grammarAccess.getTemplateCSAccess().getGuardExpressionAssignment_1_1(), "rule__TemplateCS__GuardExpressionAssignment_1_1");
+ put(grammarAccess.getObjectTemplateCSAccess().getPropertyIdAssignment_0(), "rule__ObjectTemplateCS__PropertyIdAssignment_0");
+ put(grammarAccess.getObjectTemplateCSAccess().getTypeAssignment_2(), "rule__ObjectTemplateCS__TypeAssignment_2");
+ put(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplateAssignment_4_0(), "rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0");
+ put(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplateAssignment_4_1_1(), "rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1");
+ put(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdAssignment_0(), "rule__PropertyTemplateCS__PropertyIdAssignment_0");
+ put(grammarAccess.getPropertyTemplateCSAccess().getOclExpressionAssignment_2(), "rule__PropertyTemplateCS__OclExpressionAssignment_2");
+ put(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdAssignment_0(), "rule__CollectionTemplateCS__PropertyIdAssignment_0");
+ put(grammarAccess.getCollectionTemplateCSAccess().getTypeAssignment_2(), "rule__CollectionTemplateCS__TypeAssignment_2");
+ put(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAssignment_4_0(), "rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0");
+ put(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAssignment_4_1_1(), "rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1");
+ put(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAssignment_4_3(), "rule__CollectionTemplateCS__RestIdentifierAssignment_4_3");
+ put(grammarAccess.getNameExpCSAccess().getPathNameAssignment(), "rule__NameExpCS__PathNameAssignment");
+ put(grammarAccess.getDefaultValueCSAccess().getPropertyIdAssignment_0(), "rule__DefaultValueCS__PropertyIdAssignment_0");
+ put(grammarAccess.getDefaultValueCSAccess().getInitialiserAssignment_2(), "rule__DefaultValueCS__InitialiserAssignment_2");
+ put(grammarAccess.getQueryCSAccess().getPathNameAssignment_1(), "rule__QueryCS__PathNameAssignment_1");
+ put(grammarAccess.getQueryCSAccess().getInputParamDeclarationAssignment_3_0(), "rule__QueryCS__InputParamDeclarationAssignment_3_0");
+ put(grammarAccess.getQueryCSAccess().getInputParamDeclarationAssignment_3_1_1(), "rule__QueryCS__InputParamDeclarationAssignment_3_1_1");
+ put(grammarAccess.getQueryCSAccess().getTypeAssignment_6(), "rule__QueryCS__TypeAssignment_6");
+ put(grammarAccess.getQueryCSAccess().getOclExpressionAssignment_7_1_1(), "rule__QueryCS__OclExpressionAssignment_7_1_1");
+ put(grammarAccess.getParamDeclarationCSAccess().getNameAssignment_0(), "rule__ParamDeclarationCS__NameAssignment_0");
+ put(grammarAccess.getParamDeclarationCSAccess().getTypeAssignment_2(), "rule__ParamDeclarationCS__TypeAssignment_2");
+ put(grammarAccess.getCollectionTypedRefCSAccess().getPathNameAssignment(), "rule__CollectionTypedRefCS__PathNameAssignment");
+ put(grammarAccess.getTypedRefCSAccess().getPathNameAssignment(), "rule__TypedRefCS__PathNameAssignment");
+ put(grammarAccess.getModelAccess().getOwnedExpressionAssignment(), "rule__Model__OwnedExpressionAssignment");
+ put(grammarAccess.getPathNameCSAccess().getPathAssignment_0(), "rule__PathNameCS__PathAssignment_0");
+ put(grammarAccess.getPathNameCSAccess().getPathAssignment_1_1(), "rule__PathNameCS__PathAssignment_1_1");
+ put(grammarAccess.getFirstPathElementCSAccess().getElementAssignment(), "rule__FirstPathElementCS__ElementAssignment");
+ put(grammarAccess.getNextPathElementCSAccess().getElementAssignment(), "rule__NextPathElementCS__ElementAssignment");
+ put(grammarAccess.getPrimitiveTypeCSAccess().getNameAssignment(), "rule__PrimitiveTypeCS__NameAssignment");
+ put(grammarAccess.getCollectionTypeCSAccess().getNameAssignment_0(), "rule__CollectionTypeCS__NameAssignment_0");
+ put(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeAssignment_1_1(), "rule__CollectionTypeCS__OwnedTypeAssignment_1_1");
+ put(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundAssignment_0(), "rule__MultiplicityBoundsCS__LowerBoundAssignment_0");
+ put(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundAssignment_1_1(), "rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1");
+ put(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAssignment(), "rule__MultiplicityStringCS__StringBoundsAssignment");
+ put(grammarAccess.getTupleTypeCSAccess().getNameAssignment_0(), "rule__TupleTypeCS__NameAssignment_0");
+ put(grammarAccess.getTupleTypeCSAccess().getOwnedPartsAssignment_1_1_0(), "rule__TupleTypeCS__OwnedPartsAssignment_1_1_0");
+ put(grammarAccess.getTupleTypeCSAccess().getOwnedPartsAssignment_1_1_1_1(), "rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1");
+ put(grammarAccess.getTuplePartCSAccess().getNameAssignment_0(), "rule__TuplePartCS__NameAssignment_0");
+ put(grammarAccess.getTuplePartCSAccess().getOwnedTypeAssignment_2(), "rule__TuplePartCS__OwnedTypeAssignment_2");
+ put(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeAssignment_0(), "rule__CollectionLiteralExpCS__OwnedTypeAssignment_0");
+ put(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsAssignment_2_0(), "rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0");
+ put(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsAssignment_2_1_1(), "rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1");
+ put(grammarAccess.getCollectionLiteralPartCSAccess().getExpressionCSAssignment_0(), "rule__CollectionLiteralPartCS__ExpressionCSAssignment_0");
+ put(grammarAccess.getCollectionLiteralPartCSAccess().getLastExpressionCSAssignment_1_1(), "rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1");
+ put(grammarAccess.getConstructorPartCSAccess().getPropertyAssignment_0(), "rule__ConstructorPartCS__PropertyAssignment_0");
+ put(grammarAccess.getConstructorPartCSAccess().getInitExpressionAssignment_2(), "rule__ConstructorPartCS__InitExpressionAssignment_2");
+ put(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsAssignment_2(), "rule__TupleLiteralExpCS__OwnedPartsAssignment_2");
+ put(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsAssignment_3_1(), "rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1");
+ put(grammarAccess.getTupleLiteralPartCSAccess().getNameAssignment_0(), "rule__TupleLiteralPartCS__NameAssignment_0");
+ put(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeAssignment_1_1(), "rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1");
+ put(grammarAccess.getTupleLiteralPartCSAccess().getInitExpressionAssignment_3(), "rule__TupleLiteralPartCS__InitExpressionAssignment_3");
+ put(grammarAccess.getNumberLiteralExpCSAccess().getNameAssignment(), "rule__NumberLiteralExpCS__NameAssignment");
+ put(grammarAccess.getStringLiteralExpCSAccess().getNameAssignment(), "rule__StringLiteralExpCS__NameAssignment");
+ put(grammarAccess.getBooleanLiteralExpCSAccess().getNameAssignment_0(), "rule__BooleanLiteralExpCS__NameAssignment_0");
+ put(grammarAccess.getBooleanLiteralExpCSAccess().getNameAssignment_1(), "rule__BooleanLiteralExpCS__NameAssignment_1");
+ put(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeAssignment(), "rule__TypeLiteralExpCS__OwnedTypeAssignment");
+ put(grammarAccess.getTypeNameExpCSAccess().getPathNameAssignment(), "rule__TypeNameExpCS__PathNameAssignment");
+ put(grammarAccess.getTypeExpCSAccess().getMultiplicityAssignment_1(), "rule__TypeExpCS__MultiplicityAssignment_1");
+ put(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_0_1_0(), "rule__ExpCS__OwnedExpressionAssignment_0_1_0");
+ put(grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_0_1_1(), "rule__ExpCS__OwnedOperatorAssignment_0_1_1");
+ put(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_0_2(), "rule__ExpCS__OwnedExpressionAssignment_0_2");
+ put(grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_1_1(), "rule__ExpCS__OwnedOperatorAssignment_1_1");
+ put(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_1_2(), "rule__ExpCS__OwnedExpressionAssignment_1_2");
+ put(grammarAccess.getInfixOperatorCSAccess().getNameAssignment(), "rule__InfixOperatorCS__NameAssignment");
+ put(grammarAccess.getNavigationOperatorCSAccess().getNameAssignment(), "rule__NavigationOperatorCS__NameAssignment");
+ put(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorAssignment_1_1(), "rule__PrefixedExpCS__OwnedOperatorAssignment_1_1");
+ put(grammarAccess.getPrefixedExpCSAccess().getOwnedExpressionAssignment_1_2(), "rule__PrefixedExpCS__OwnedExpressionAssignment_1_2");
+ put(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorAssignment_1_1(), "rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1");
+ put(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedExpressionAssignment_1_2(), "rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2");
+ put(grammarAccess.getUnaryOperatorCSAccess().getNameAssignment(), "rule__UnaryOperatorCS__NameAssignment");
+ put(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_0_1(), "rule__PrimaryExpCS__PathNameAssignment_0_1");
+ put(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesAssignment_0_3(), "rule__PrimaryExpCS__FirstIndexesAssignment_0_3");
+ put(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesAssignment_0_4_1(), "rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1");
+ put(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesAssignment_0_6_1(), "rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1");
+ put(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesAssignment_0_6_2_1(), "rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1");
+ put(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_0_7_0(), "rule__PrimaryExpCS__AtPreAssignment_0_7_0");
+ put(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_1_1(), "rule__PrimaryExpCS__PathNameAssignment_1_1");
+ put(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsAssignment_1_3(), "rule__PrimaryExpCS__OwnedPartsAssignment_1_3");
+ put(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsAssignment_1_4_1(), "rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1");
+ put(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_2_1(), "rule__PrimaryExpCS__PathNameAssignment_2_1");
+ put(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_2_2_0(), "rule__PrimaryExpCS__AtPreAssignment_2_2_0");
+ put(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_0(), "rule__PrimaryExpCS__ArgumentAssignment_2_4_0");
+ put(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_1(), "rule__PrimaryExpCS__ArgumentAssignment_2_4_1");
+ put(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_2_0(), "rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0");
+ put(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_2_1(), "rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1");
+ put(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_3_0(), "rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0");
+ put(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_3_1(), "rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1");
+ put(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_3_1(), "rule__PrimaryExpCS__PathNameAssignment_3_1");
+ put(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_3_2_0(), "rule__PrimaryExpCS__AtPreAssignment_3_2_0");
+ put(grammarAccess.getNavigatingArgCSAccess().getNameAssignment_0(), "rule__NavigatingArgCS__NameAssignment_0");
+ put(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeAssignment_1_1(), "rule__NavigatingArgCS__OwnedTypeAssignment_1_1");
+ put(grammarAccess.getNavigatingArgCSAccess().getInitAssignment_1_2_1(), "rule__NavigatingArgCS__InitAssignment_1_2_1");
+ put(grammarAccess.getNavigatingBarArgCSAccess().getPrefixAssignment_0(), "rule__NavigatingBarArgCS__PrefixAssignment_0");
+ put(grammarAccess.getNavigatingBarArgCSAccess().getNameAssignment_1(), "rule__NavigatingBarArgCS__NameAssignment_1");
+ put(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeAssignment_2_1(), "rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1");
+ put(grammarAccess.getNavigatingBarArgCSAccess().getInitAssignment_2_2_1(), "rule__NavigatingBarArgCS__InitAssignment_2_2_1");
+ put(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixAssignment_0(), "rule__NavigatingCommaArgCS__PrefixAssignment_0");
+ put(grammarAccess.getNavigatingCommaArgCSAccess().getNameAssignment_1(), "rule__NavigatingCommaArgCS__NameAssignment_1");
+ put(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeAssignment_2_1(), "rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1");
+ put(grammarAccess.getNavigatingCommaArgCSAccess().getInitAssignment_2_2_1(), "rule__NavigatingCommaArgCS__InitAssignment_2_2_1");
+ put(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixAssignment_0(), "rule__NavigatingSemiArgCS__PrefixAssignment_0");
+ put(grammarAccess.getNavigatingSemiArgCSAccess().getNameAssignment_1(), "rule__NavigatingSemiArgCS__NameAssignment_1");
+ put(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeAssignment_2_1(), "rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1");
+ put(grammarAccess.getNavigatingSemiArgCSAccess().getInitAssignment_2_2_1(), "rule__NavigatingSemiArgCS__InitAssignment_2_2_1");
+ put(grammarAccess.getIfExpCSAccess().getConditionAssignment_1(), "rule__IfExpCS__ConditionAssignment_1");
+ put(grammarAccess.getIfExpCSAccess().getThenExpressionAssignment_3(), "rule__IfExpCS__ThenExpressionAssignment_3");
+ put(grammarAccess.getIfExpCSAccess().getElseExpressionAssignment_5(), "rule__IfExpCS__ElseExpressionAssignment_5");
+ put(grammarAccess.getLetExpCSAccess().getVariableAssignment_1(), "rule__LetExpCS__VariableAssignment_1");
+ put(grammarAccess.getLetExpCSAccess().getVariableAssignment_2_1(), "rule__LetExpCS__VariableAssignment_2_1");
+ put(grammarAccess.getLetExpCSAccess().getInAssignment_4(), "rule__LetExpCS__InAssignment_4");
+ put(grammarAccess.getLetVariableCSAccess().getNameAssignment_0(), "rule__LetVariableCS__NameAssignment_0");
+ put(grammarAccess.getLetVariableCSAccess().getOwnedTypeAssignment_1_1(), "rule__LetVariableCS__OwnedTypeAssignment_1_1");
+ put(grammarAccess.getLetVariableCSAccess().getInitExpressionAssignment_3(), "rule__LetVariableCS__InitExpressionAssignment_3");
+ put(grammarAccess.getNestedExpCSAccess().getSourceAssignment_1(), "rule__NestedExpCS__SourceAssignment_1");
+ }
+ };
+ }
+ return nameMappings.get(element);
+ }
+
+ @Override
+ protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
+ try {
+ org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr.internal.InternalQVTrelationParser typedParser = (org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr.internal.InternalQVTrelationParser) parser;
+ typedParser.entryRuleTopLevelCS();
+ return typedParser.getFollowElements();
+ } catch(RecognitionException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ @Override
+ protected String[] getInitialHiddenTokens() {
+ return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
+ }
+
+ public QVTrelationGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(QVTrelationGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g
new file mode 100644
index 000000000..eb73be907
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g
@@ -0,0 +1,16972 @@
+/*
+* generated by Xtext
+*/
+grammar InternalQVTrelation;
+
+options {
+ superClass=AbstractInternalContentAssistParser;
+ backtrack=true;
+
+}
+
+@lexer::header {
+package org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
+}
+
+@parser::header {
+package org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import org.eclipse.qvtd.xtext.qvtrelation.services.QVTrelationGrammarAccess;
+
+}
+
+@parser::members {
+
+ private QVTrelationGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(QVTrelationGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+}
+
+
+
+
+// Entry rule entryRuleTopLevelCS
+entryRuleTopLevelCS
+:
+{ before(grammarAccess.getTopLevelCSRule()); }
+ ruleTopLevelCS
+{ after(grammarAccess.getTopLevelCSRule()); }
+ EOF
+;
+
+// Rule TopLevelCS
+ruleTopLevelCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTopLevelCSAccess().getGroup()); }
+(rule__TopLevelCS__Group__0)
+{ after(grammarAccess.getTopLevelCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleUnitCS
+entryRuleUnitCS
+:
+{ before(grammarAccess.getUnitCSRule()); }
+ ruleUnitCS
+{ after(grammarAccess.getUnitCSRule()); }
+ EOF
+;
+
+// Rule UnitCS
+ruleUnitCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getUnitCSAccess().getGroup()); }
+(rule__UnitCS__Group__0)
+{ after(grammarAccess.getUnitCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTransformationCS
+entryRuleTransformationCS
+:
+{ before(grammarAccess.getTransformationCSRule()); }
+ ruleTransformationCS
+{ after(grammarAccess.getTransformationCSRule()); }
+ EOF
+;
+
+// Rule TransformationCS
+ruleTransformationCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTransformationCSAccess().getGroup()); }
+(rule__TransformationCS__Group__0)
+{ after(grammarAccess.getTransformationCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleModelDeclCS
+entryRuleModelDeclCS
+:
+{ before(grammarAccess.getModelDeclCSRule()); }
+ ruleModelDeclCS
+{ after(grammarAccess.getModelDeclCSRule()); }
+ EOF
+;
+
+// Rule ModelDeclCS
+ruleModelDeclCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getModelDeclCSAccess().getGroup()); }
+(rule__ModelDeclCS__Group__0)
+{ after(grammarAccess.getModelDeclCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleKeyDeclCS
+entryRuleKeyDeclCS
+:
+{ before(grammarAccess.getKeyDeclCSRule()); }
+ ruleKeyDeclCS
+{ after(grammarAccess.getKeyDeclCSRule()); }
+ EOF
+;
+
+// Rule KeyDeclCS
+ruleKeyDeclCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getGroup()); }
+(rule__KeyDeclCS__Group__0)
+{ after(grammarAccess.getKeyDeclCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRelationCS
+entryRuleRelationCS
+:
+{ before(grammarAccess.getRelationCSRule()); }
+ ruleRelationCS
+{ after(grammarAccess.getRelationCSRule()); }
+ EOF
+;
+
+// Rule RelationCS
+ruleRelationCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRelationCSAccess().getGroup()); }
+(rule__RelationCS__Group__0)
+{ after(grammarAccess.getRelationCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleWhenCS
+entryRuleWhenCS
+:
+{ before(grammarAccess.getWhenCSRule()); }
+ ruleWhenCS
+{ after(grammarAccess.getWhenCSRule()); }
+ EOF
+;
+
+// Rule WhenCS
+ruleWhenCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getWhenCSAccess().getGroup()); }
+(rule__WhenCS__Group__0)
+{ after(grammarAccess.getWhenCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleWhereCS
+entryRuleWhereCS
+:
+{ before(grammarAccess.getWhereCSRule()); }
+ ruleWhereCS
+{ after(grammarAccess.getWhereCSRule()); }
+ EOF
+;
+
+// Rule WhereCS
+ruleWhereCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getWhereCSAccess().getGroup()); }
+(rule__WhereCS__Group__0)
+{ after(grammarAccess.getWhereCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleVarDeclarationCS
+entryRuleVarDeclarationCS
+:
+{ before(grammarAccess.getVarDeclarationCSRule()); }
+ ruleVarDeclarationCS
+{ after(grammarAccess.getVarDeclarationCSRule()); }
+ EOF
+;
+
+// Rule VarDeclarationCS
+ruleVarDeclarationCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getVarDeclarationCSAccess().getGroup()); }
+(rule__VarDeclarationCS__Group__0)
+{ after(grammarAccess.getVarDeclarationCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleDomainCS
+entryRuleDomainCS
+:
+{ before(grammarAccess.getDomainCSRule()); }
+ ruleDomainCS
+{ after(grammarAccess.getDomainCSRule()); }
+ EOF
+;
+
+// Rule DomainCS
+ruleDomainCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getDomainCSAccess().getGroup()); }
+(rule__DomainCS__Group__0)
+{ after(grammarAccess.getDomainCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePrimitiveTypeDomainCS
+entryRulePrimitiveTypeDomainCS
+:
+{ before(grammarAccess.getPrimitiveTypeDomainCSRule()); }
+ rulePrimitiveTypeDomainCS
+{ after(grammarAccess.getPrimitiveTypeDomainCSRule()); }
+ EOF
+;
+
+// Rule PrimitiveTypeDomainCS
+rulePrimitiveTypeDomainCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getGroup()); }
+(rule__PrimitiveTypeDomainCS__Group__0)
+{ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTemplateCS
+entryRuleTemplateCS
+:
+{ before(grammarAccess.getTemplateCSRule()); }
+ ruleTemplateCS
+{ after(grammarAccess.getTemplateCSRule()); }
+ EOF
+;
+
+// Rule TemplateCS
+ruleTemplateCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTemplateCSAccess().getGroup()); }
+(rule__TemplateCS__Group__0)
+{ after(grammarAccess.getTemplateCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleObjectTemplateCS
+entryRuleObjectTemplateCS
+:
+{ before(grammarAccess.getObjectTemplateCSRule()); }
+ ruleObjectTemplateCS
+{ after(grammarAccess.getObjectTemplateCSRule()); }
+ EOF
+;
+
+// Rule ObjectTemplateCS
+ruleObjectTemplateCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getGroup()); }
+(rule__ObjectTemplateCS__Group__0)
+{ after(grammarAccess.getObjectTemplateCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyTemplateCS
+entryRulePropertyTemplateCS
+:
+{ before(grammarAccess.getPropertyTemplateCSRule()); }
+ rulePropertyTemplateCS
+{ after(grammarAccess.getPropertyTemplateCSRule()); }
+ EOF
+;
+
+// Rule PropertyTemplateCS
+rulePropertyTemplateCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPropertyTemplateCSAccess().getGroup()); }
+(rule__PropertyTemplateCS__Group__0)
+{ after(grammarAccess.getPropertyTemplateCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleCollectionTemplateCS
+entryRuleCollectionTemplateCS
+:
+{ before(grammarAccess.getCollectionTemplateCSRule()); }
+ ruleCollectionTemplateCS
+{ after(grammarAccess.getCollectionTemplateCSRule()); }
+ EOF
+;
+
+// Rule CollectionTemplateCS
+ruleCollectionTemplateCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getGroup()); }
+(rule__CollectionTemplateCS__Group__0)
+{ after(grammarAccess.getCollectionTemplateCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNameExpCS
+entryRuleNameExpCS
+:
+{ before(grammarAccess.getNameExpCSRule()); }
+ ruleNameExpCS
+{ after(grammarAccess.getNameExpCSRule()); }
+ EOF
+;
+
+// Rule NameExpCS
+ruleNameExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNameExpCSAccess().getPathNameAssignment()); }
+(rule__NameExpCS__PathNameAssignment)
+{ after(grammarAccess.getNameExpCSAccess().getPathNameAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleAnyElementCS
+entryRuleAnyElementCS
+:
+{ before(grammarAccess.getAnyElementCSRule()); }
+ ruleAnyElementCS
+{ after(grammarAccess.getAnyElementCSRule()); }
+ EOF
+;
+
+// Rule AnyElementCS
+ruleAnyElementCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getAnyElementCSAccess().getGroup()); }
+(rule__AnyElementCS__Group__0)
+{ after(grammarAccess.getAnyElementCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleDefaultValueCS
+entryRuleDefaultValueCS
+:
+{ before(grammarAccess.getDefaultValueCSRule()); }
+ ruleDefaultValueCS
+{ after(grammarAccess.getDefaultValueCSRule()); }
+ EOF
+;
+
+// Rule DefaultValueCS
+ruleDefaultValueCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getDefaultValueCSAccess().getGroup()); }
+(rule__DefaultValueCS__Group__0)
+{ after(grammarAccess.getDefaultValueCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleQueryCS
+entryRuleQueryCS
+:
+{ before(grammarAccess.getQueryCSRule()); }
+ ruleQueryCS
+{ after(grammarAccess.getQueryCSRule()); }
+ EOF
+;
+
+// Rule QueryCS
+ruleQueryCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getQueryCSAccess().getGroup()); }
+(rule__QueryCS__Group__0)
+{ after(grammarAccess.getQueryCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleParamDeclarationCS
+entryRuleParamDeclarationCS
+:
+{ before(grammarAccess.getParamDeclarationCSRule()); }
+ ruleParamDeclarationCS
+{ after(grammarAccess.getParamDeclarationCSRule()); }
+ EOF
+;
+
+// Rule ParamDeclarationCS
+ruleParamDeclarationCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getParamDeclarationCSAccess().getGroup()); }
+(rule__ParamDeclarationCS__Group__0)
+{ after(grammarAccess.getParamDeclarationCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleCollectionTypedRefCS
+entryRuleCollectionTypedRefCS
+:
+{ before(grammarAccess.getCollectionTypedRefCSRule()); }
+ ruleCollectionTypedRefCS
+{ after(grammarAccess.getCollectionTypedRefCSRule()); }
+ EOF
+;
+
+// Rule CollectionTypedRefCS
+ruleCollectionTypedRefCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getCollectionTypedRefCSAccess().getPathNameAssignment()); }
+(rule__CollectionTypedRefCS__PathNameAssignment)
+{ after(grammarAccess.getCollectionTypedRefCSAccess().getPathNameAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTypedRefCS
+entryRuleTypedRefCS
+:
+{ before(grammarAccess.getTypedRefCSRule()); }
+ ruleTypedRefCS
+{ after(grammarAccess.getTypedRefCSRule()); }
+ EOF
+;
+
+// Rule TypedRefCS
+ruleTypedRefCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTypedRefCSAccess().getPathNameAssignment()); }
+(rule__TypedRefCS__PathNameAssignment)
+{ after(grammarAccess.getTypedRefCSAccess().getPathNameAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleUnrestrictedName
+entryRuleUnrestrictedName
+:
+{ before(grammarAccess.getUnrestrictedNameRule()); }
+ ruleUnrestrictedName
+{ after(grammarAccess.getUnrestrictedNameRule()); }
+ EOF
+;
+
+// Rule UnrestrictedName
+ruleUnrestrictedName
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getUnrestrictedNameAccess().getAlternatives()); }
+(rule__UnrestrictedName__Alternatives)
+{ after(grammarAccess.getUnrestrictedNameAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleID
+entryRuleID
+:
+{ before(grammarAccess.getIDRule()); }
+ ruleID
+{ after(grammarAccess.getIDRule()); }
+ EOF
+;
+
+// Rule ID
+ruleID
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getIDAccess().getAlternatives()); }
+(rule__ID__Alternatives)
+{ after(grammarAccess.getIDAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleLOWER
+entryRuleLOWER
+:
+{ before(grammarAccess.getLOWERRule()); }
+ ruleLOWER
+{ after(grammarAccess.getLOWERRule()); }
+ EOF
+;
+
+// Rule LOWER
+ruleLOWER
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getLOWERAccess().getINTTerminalRuleCall()); }
+ RULE_INT
+{ after(grammarAccess.getLOWERAccess().getINTTerminalRuleCall()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleUPPER
+entryRuleUPPER
+:
+{ before(grammarAccess.getUPPERRule()); }
+ ruleUPPER
+{ after(grammarAccess.getUPPERRule()); }
+ EOF
+;
+
+// Rule UPPER
+ruleUPPER
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getUPPERAccess().getAlternatives()); }
+(rule__UPPER__Alternatives)
+{ after(grammarAccess.getUPPERAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNUMBER_LITERAL
+entryRuleNUMBER_LITERAL
+:
+{ before(grammarAccess.getNUMBER_LITERALRule()); }
+ ruleNUMBER_LITERAL
+{ after(grammarAccess.getNUMBER_LITERALRule()); }
+ EOF
+;
+
+// Rule NUMBER_LITERAL
+ruleNUMBER_LITERAL
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNUMBER_LITERALAccess().getGroup()); }
+(rule__NUMBER_LITERAL__Group__0)
+{ after(grammarAccess.getNUMBER_LITERALAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+// Entry rule entryRuleEssentialOCLUnrestrictedIdentifier
+entryRuleEssentialOCLUnrestrictedIdentifier
+:
+{ before(grammarAccess.getEssentialOCLUnrestrictedIdentifierRule()); }
+ ruleEssentialOCLUnrestrictedIdentifier
+{ after(grammarAccess.getEssentialOCLUnrestrictedIdentifierRule()); }
+ EOF
+;
+
+// Rule EssentialOCLUnrestrictedIdentifier
+ruleEssentialOCLUnrestrictedIdentifier
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getAlternatives()); }
+(rule__EssentialOCLUnrestrictedIdentifier__Alternatives)
+{ after(grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEssentialOCLPrefixOperator
+entryRuleEssentialOCLPrefixOperator
+:
+{ before(grammarAccess.getEssentialOCLPrefixOperatorRule()); }
+ ruleEssentialOCLPrefixOperator
+{ after(grammarAccess.getEssentialOCLPrefixOperatorRule()); }
+ EOF
+;
+
+// Rule EssentialOCLPrefixOperator
+ruleEssentialOCLPrefixOperator
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getEssentialOCLPrefixOperatorAccess().getAlternatives()); }
+(rule__EssentialOCLPrefixOperator__Alternatives)
+{ after(grammarAccess.getEssentialOCLPrefixOperatorAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEssentialOCLInfixOperator
+entryRuleEssentialOCLInfixOperator
+:
+{ before(grammarAccess.getEssentialOCLInfixOperatorRule()); }
+ ruleEssentialOCLInfixOperator
+{ after(grammarAccess.getEssentialOCLInfixOperatorRule()); }
+ EOF
+;
+
+// Rule EssentialOCLInfixOperator
+ruleEssentialOCLInfixOperator
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getAlternatives()); }
+(rule__EssentialOCLInfixOperator__Alternatives)
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEssentialOCLNavigationOperator
+entryRuleEssentialOCLNavigationOperator
+:
+{ before(grammarAccess.getEssentialOCLNavigationOperatorRule()); }
+ ruleEssentialOCLNavigationOperator
+{ after(grammarAccess.getEssentialOCLNavigationOperatorRule()); }
+ EOF
+;
+
+// Rule EssentialOCLNavigationOperator
+ruleEssentialOCLNavigationOperator
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getEssentialOCLNavigationOperatorAccess().getAlternatives()); }
+(rule__EssentialOCLNavigationOperator__Alternatives)
+{ after(grammarAccess.getEssentialOCLNavigationOperatorAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleIdentifier
+entryRuleIdentifier
+:
+{ before(grammarAccess.getIdentifierRule()); }
+ ruleIdentifier
+{ after(grammarAccess.getIdentifierRule()); }
+ EOF
+;
+
+// Rule Identifier
+ruleIdentifier
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getIdentifierAccess().getAlternatives()); }
+(rule__Identifier__Alternatives)
+{ after(grammarAccess.getIdentifierAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStringLiteral
+entryRuleStringLiteral
+:
+{ before(grammarAccess.getStringLiteralRule()); }
+ ruleStringLiteral
+{ after(grammarAccess.getStringLiteralRule()); }
+ EOF
+;
+
+// Rule StringLiteral
+ruleStringLiteral
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStringLiteralAccess().getSINGLE_QUOTED_STRINGTerminalRuleCall()); }
+ RULE_SINGLE_QUOTED_STRING
+{ after(grammarAccess.getStringLiteralAccess().getSINGLE_QUOTED_STRINGTerminalRuleCall()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePrefixOperator
+entryRulePrefixOperator
+:
+{ before(grammarAccess.getPrefixOperatorRule()); }
+ rulePrefixOperator
+{ after(grammarAccess.getPrefixOperatorRule()); }
+ EOF
+;
+
+// Rule PrefixOperator
+rulePrefixOperator
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPrefixOperatorAccess().getEssentialOCLPrefixOperatorParserRuleCall()); }
+ ruleEssentialOCLPrefixOperator
+{ after(grammarAccess.getPrefixOperatorAccess().getEssentialOCLPrefixOperatorParserRuleCall()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleInfixOperator
+entryRuleInfixOperator
+:
+{ before(grammarAccess.getInfixOperatorRule()); }
+ ruleInfixOperator
+{ after(grammarAccess.getInfixOperatorRule()); }
+ EOF
+;
+
+// Rule InfixOperator
+ruleInfixOperator
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getInfixOperatorAccess().getEssentialOCLInfixOperatorParserRuleCall()); }
+ ruleEssentialOCLInfixOperator
+{ after(grammarAccess.getInfixOperatorAccess().getEssentialOCLInfixOperatorParserRuleCall()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNavigationOperator
+entryRuleNavigationOperator
+:
+{ before(grammarAccess.getNavigationOperatorRule()); }
+ ruleNavigationOperator
+{ after(grammarAccess.getNavigationOperatorRule()); }
+ EOF
+;
+
+// Rule NavigationOperator
+ruleNavigationOperator
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNavigationOperatorAccess().getEssentialOCLNavigationOperatorParserRuleCall()); }
+ ruleEssentialOCLNavigationOperator
+{ after(grammarAccess.getNavigationOperatorAccess().getEssentialOCLNavigationOperatorParserRuleCall()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEssentialOCLUnrestrictedName
+entryRuleEssentialOCLUnrestrictedName
+:
+{ before(grammarAccess.getEssentialOCLUnrestrictedNameRule()); }
+ ruleEssentialOCLUnrestrictedName
+{ after(grammarAccess.getEssentialOCLUnrestrictedNameRule()); }
+ EOF
+;
+
+// Rule EssentialOCLUnrestrictedName
+ruleEssentialOCLUnrestrictedName
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getEssentialOCLUnrestrictedNameAccess().getIdentifierParserRuleCall()); }
+ ruleIdentifier
+{ after(grammarAccess.getEssentialOCLUnrestrictedNameAccess().getIdentifierParserRuleCall()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEssentialOCLUnreservedName
+entryRuleEssentialOCLUnreservedName
+:
+{ before(grammarAccess.getEssentialOCLUnreservedNameRule()); }
+ ruleEssentialOCLUnreservedName
+{ after(grammarAccess.getEssentialOCLUnreservedNameRule()); }
+ EOF
+;
+
+// Rule EssentialOCLUnreservedName
+ruleEssentialOCLUnreservedName
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getEssentialOCLUnreservedNameAccess().getAlternatives()); }
+(rule__EssentialOCLUnreservedName__Alternatives)
+{ after(grammarAccess.getEssentialOCLUnreservedNameAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleUnreservedName
+entryRuleUnreservedName
+:
+{ before(grammarAccess.getUnreservedNameRule()); }
+ ruleUnreservedName
+{ after(grammarAccess.getUnreservedNameRule()); }
+ EOF
+;
+
+// Rule UnreservedName
+ruleUnreservedName
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getUnreservedNameAccess().getEssentialOCLUnreservedNameParserRuleCall()); }
+ ruleEssentialOCLUnreservedName
+{ after(grammarAccess.getUnreservedNameAccess().getEssentialOCLUnreservedNameParserRuleCall()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePathNameCS
+entryRulePathNameCS
+:
+{ before(grammarAccess.getPathNameCSRule()); }
+ rulePathNameCS
+{ after(grammarAccess.getPathNameCSRule()); }
+ EOF
+;
+
+// Rule PathNameCS
+rulePathNameCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPathNameCSAccess().getGroup()); }
+(rule__PathNameCS__Group__0)
+{ after(grammarAccess.getPathNameCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleFirstPathElementCS
+entryRuleFirstPathElementCS
+:
+{ before(grammarAccess.getFirstPathElementCSRule()); }
+ ruleFirstPathElementCS
+{ after(grammarAccess.getFirstPathElementCSRule()); }
+ EOF
+;
+
+// Rule FirstPathElementCS
+ruleFirstPathElementCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getFirstPathElementCSAccess().getElementAssignment()); }
+(rule__FirstPathElementCS__ElementAssignment)
+{ after(grammarAccess.getFirstPathElementCSAccess().getElementAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNextPathElementCS
+entryRuleNextPathElementCS
+:
+{ before(grammarAccess.getNextPathElementCSRule()); }
+ ruleNextPathElementCS
+{ after(grammarAccess.getNextPathElementCSRule()); }
+ EOF
+;
+
+// Rule NextPathElementCS
+ruleNextPathElementCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNextPathElementCSAccess().getElementAssignment()); }
+(rule__NextPathElementCS__ElementAssignment)
+{ after(grammarAccess.getNextPathElementCSAccess().getElementAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePrimitiveTypeIdentifier
+entryRulePrimitiveTypeIdentifier
+:
+{ before(grammarAccess.getPrimitiveTypeIdentifierRule()); }
+ rulePrimitiveTypeIdentifier
+{ after(grammarAccess.getPrimitiveTypeIdentifierRule()); }
+ EOF
+;
+
+// Rule PrimitiveTypeIdentifier
+rulePrimitiveTypeIdentifier
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getAlternatives()); }
+(rule__PrimitiveTypeIdentifier__Alternatives)
+{ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePrimitiveTypeCS
+entryRulePrimitiveTypeCS
+:
+{ before(grammarAccess.getPrimitiveTypeCSRule()); }
+ rulePrimitiveTypeCS
+{ after(grammarAccess.getPrimitiveTypeCSRule()); }
+ EOF
+;
+
+// Rule PrimitiveTypeCS
+rulePrimitiveTypeCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPrimitiveTypeCSAccess().getNameAssignment()); }
+(rule__PrimitiveTypeCS__NameAssignment)
+{ after(grammarAccess.getPrimitiveTypeCSAccess().getNameAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleCollectionTypeIdentifier
+entryRuleCollectionTypeIdentifier
+:
+{ before(grammarAccess.getCollectionTypeIdentifierRule()); }
+ ruleCollectionTypeIdentifier
+{ after(grammarAccess.getCollectionTypeIdentifierRule()); }
+ EOF
+;
+
+// Rule CollectionTypeIdentifier
+ruleCollectionTypeIdentifier
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getCollectionTypeIdentifierAccess().getAlternatives()); }
+(rule__CollectionTypeIdentifier__Alternatives)
+{ after(grammarAccess.getCollectionTypeIdentifierAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleCollectionTypeCS
+entryRuleCollectionTypeCS
+:
+{ before(grammarAccess.getCollectionTypeCSRule()); }
+ ruleCollectionTypeCS
+{ after(grammarAccess.getCollectionTypeCSRule()); }
+ EOF
+;
+
+// Rule CollectionTypeCS
+ruleCollectionTypeCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getCollectionTypeCSAccess().getGroup()); }
+(rule__CollectionTypeCS__Group__0)
+{ after(grammarAccess.getCollectionTypeCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleMultiplicityBoundsCS
+entryRuleMultiplicityBoundsCS
+:
+{ before(grammarAccess.getMultiplicityBoundsCSRule()); }
+ ruleMultiplicityBoundsCS
+{ after(grammarAccess.getMultiplicityBoundsCSRule()); }
+ EOF
+;
+
+// Rule MultiplicityBoundsCS
+ruleMultiplicityBoundsCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getMultiplicityBoundsCSAccess().getGroup()); }
+(rule__MultiplicityBoundsCS__Group__0)
+{ after(grammarAccess.getMultiplicityBoundsCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleMultiplicityCS
+entryRuleMultiplicityCS
+:
+{ before(grammarAccess.getMultiplicityCSRule()); }
+ ruleMultiplicityCS
+{ after(grammarAccess.getMultiplicityCSRule()); }
+ EOF
+;
+
+// Rule MultiplicityCS
+ruleMultiplicityCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getMultiplicityCSAccess().getGroup()); }
+(rule__MultiplicityCS__Group__0)
+{ after(grammarAccess.getMultiplicityCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleMultiplicityStringCS
+entryRuleMultiplicityStringCS
+:
+{ before(grammarAccess.getMultiplicityStringCSRule()); }
+ ruleMultiplicityStringCS
+{ after(grammarAccess.getMultiplicityStringCSRule()); }
+ EOF
+;
+
+// Rule MultiplicityStringCS
+ruleMultiplicityStringCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAssignment()); }
+(rule__MultiplicityStringCS__StringBoundsAssignment)
+{ after(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTupleTypeCS
+entryRuleTupleTypeCS
+:
+{ before(grammarAccess.getTupleTypeCSRule()); }
+ ruleTupleTypeCS
+{ after(grammarAccess.getTupleTypeCSRule()); }
+ EOF
+;
+
+// Rule TupleTypeCS
+ruleTupleTypeCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTupleTypeCSAccess().getGroup()); }
+(rule__TupleTypeCS__Group__0)
+{ after(grammarAccess.getTupleTypeCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTuplePartCS
+entryRuleTuplePartCS
+:
+{ before(grammarAccess.getTuplePartCSRule()); }
+ ruleTuplePartCS
+{ after(grammarAccess.getTuplePartCSRule()); }
+ EOF
+;
+
+// Rule TuplePartCS
+ruleTuplePartCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTuplePartCSAccess().getGroup()); }
+(rule__TuplePartCS__Group__0)
+{ after(grammarAccess.getTuplePartCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleCollectionLiteralExpCS
+entryRuleCollectionLiteralExpCS
+:
+{ before(grammarAccess.getCollectionLiteralExpCSRule()); }
+ ruleCollectionLiteralExpCS
+{ after(grammarAccess.getCollectionLiteralExpCSRule()); }
+ EOF
+;
+
+// Rule CollectionLiteralExpCS
+ruleCollectionLiteralExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getCollectionLiteralExpCSAccess().getGroup()); }
+(rule__CollectionLiteralExpCS__Group__0)
+{ after(grammarAccess.getCollectionLiteralExpCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleCollectionLiteralPartCS
+entryRuleCollectionLiteralPartCS
+:
+{ before(grammarAccess.getCollectionLiteralPartCSRule()); }
+ ruleCollectionLiteralPartCS
+{ after(grammarAccess.getCollectionLiteralPartCSRule()); }
+ EOF
+;
+
+// Rule CollectionLiteralPartCS
+ruleCollectionLiteralPartCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getCollectionLiteralPartCSAccess().getGroup()); }
+(rule__CollectionLiteralPartCS__Group__0)
+{ after(grammarAccess.getCollectionLiteralPartCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleConstructorPartCS
+entryRuleConstructorPartCS
+:
+{ before(grammarAccess.getConstructorPartCSRule()); }
+ ruleConstructorPartCS
+{ after(grammarAccess.getConstructorPartCSRule()); }
+ EOF
+;
+
+// Rule ConstructorPartCS
+ruleConstructorPartCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getConstructorPartCSAccess().getGroup()); }
+(rule__ConstructorPartCS__Group__0)
+{ after(grammarAccess.getConstructorPartCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePrimitiveLiteralExpCS
+entryRulePrimitiveLiteralExpCS
+:
+{ before(grammarAccess.getPrimitiveLiteralExpCSRule()); }
+ rulePrimitiveLiteralExpCS
+{ after(grammarAccess.getPrimitiveLiteralExpCSRule()); }
+ EOF
+;
+
+// Rule PrimitiveLiteralExpCS
+rulePrimitiveLiteralExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPrimitiveLiteralExpCSAccess().getAlternatives()); }
+(rule__PrimitiveLiteralExpCS__Alternatives)
+{ after(grammarAccess.getPrimitiveLiteralExpCSAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTupleLiteralExpCS
+entryRuleTupleLiteralExpCS
+:
+{ before(grammarAccess.getTupleLiteralExpCSRule()); }
+ ruleTupleLiteralExpCS
+{ after(grammarAccess.getTupleLiteralExpCSRule()); }
+ EOF
+;
+
+// Rule TupleLiteralExpCS
+ruleTupleLiteralExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTupleLiteralExpCSAccess().getGroup()); }
+(rule__TupleLiteralExpCS__Group__0)
+{ after(grammarAccess.getTupleLiteralExpCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTupleLiteralPartCS
+entryRuleTupleLiteralPartCS
+:
+{ before(grammarAccess.getTupleLiteralPartCSRule()); }
+ ruleTupleLiteralPartCS
+{ after(grammarAccess.getTupleLiteralPartCSRule()); }
+ EOF
+;
+
+// Rule TupleLiteralPartCS
+ruleTupleLiteralPartCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTupleLiteralPartCSAccess().getGroup()); }
+(rule__TupleLiteralPartCS__Group__0)
+{ after(grammarAccess.getTupleLiteralPartCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNumberLiteralExpCS
+entryRuleNumberLiteralExpCS
+:
+{ before(grammarAccess.getNumberLiteralExpCSRule()); }
+ ruleNumberLiteralExpCS
+{ after(grammarAccess.getNumberLiteralExpCSRule()); }
+ EOF
+;
+
+// Rule NumberLiteralExpCS
+ruleNumberLiteralExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNumberLiteralExpCSAccess().getNameAssignment()); }
+(rule__NumberLiteralExpCS__NameAssignment)
+{ after(grammarAccess.getNumberLiteralExpCSAccess().getNameAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStringLiteralExpCS
+entryRuleStringLiteralExpCS
+:
+{ before(grammarAccess.getStringLiteralExpCSRule()); }
+ ruleStringLiteralExpCS
+{ after(grammarAccess.getStringLiteralExpCSRule()); }
+ EOF
+;
+
+// Rule StringLiteralExpCS
+ruleStringLiteralExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+(
+{ before(grammarAccess.getStringLiteralExpCSAccess().getNameAssignment()); }
+(rule__StringLiteralExpCS__NameAssignment)
+{ after(grammarAccess.getStringLiteralExpCSAccess().getNameAssignment()); }
+)
+(
+{ before(grammarAccess.getStringLiteralExpCSAccess().getNameAssignment()); }
+(rule__StringLiteralExpCS__NameAssignment)*
+{ after(grammarAccess.getStringLiteralExpCSAccess().getNameAssignment()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleBooleanLiteralExpCS
+entryRuleBooleanLiteralExpCS
+:
+{ before(grammarAccess.getBooleanLiteralExpCSRule()); }
+ ruleBooleanLiteralExpCS
+{ after(grammarAccess.getBooleanLiteralExpCSRule()); }
+ EOF
+;
+
+// Rule BooleanLiteralExpCS
+ruleBooleanLiteralExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getBooleanLiteralExpCSAccess().getAlternatives()); }
+(rule__BooleanLiteralExpCS__Alternatives)
+{ after(grammarAccess.getBooleanLiteralExpCSAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleUnlimitedNaturalLiteralExpCS
+entryRuleUnlimitedNaturalLiteralExpCS
+:
+{ before(grammarAccess.getUnlimitedNaturalLiteralExpCSRule()); }
+ ruleUnlimitedNaturalLiteralExpCS
+{ after(grammarAccess.getUnlimitedNaturalLiteralExpCSRule()); }
+ EOF
+;
+
+// Rule UnlimitedNaturalLiteralExpCS
+ruleUnlimitedNaturalLiteralExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getGroup()); }
+(rule__UnlimitedNaturalLiteralExpCS__Group__0)
+{ after(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleInvalidLiteralExpCS
+entryRuleInvalidLiteralExpCS
+:
+{ before(grammarAccess.getInvalidLiteralExpCSRule()); }
+ ruleInvalidLiteralExpCS
+{ after(grammarAccess.getInvalidLiteralExpCSRule()); }
+ EOF
+;
+
+// Rule InvalidLiteralExpCS
+ruleInvalidLiteralExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getInvalidLiteralExpCSAccess().getGroup()); }
+(rule__InvalidLiteralExpCS__Group__0)
+{ after(grammarAccess.getInvalidLiteralExpCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNullLiteralExpCS
+entryRuleNullLiteralExpCS
+:
+{ before(grammarAccess.getNullLiteralExpCSRule()); }
+ ruleNullLiteralExpCS
+{ after(grammarAccess.getNullLiteralExpCSRule()); }
+ EOF
+;
+
+// Rule NullLiteralExpCS
+ruleNullLiteralExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNullLiteralExpCSAccess().getGroup()); }
+(rule__NullLiteralExpCS__Group__0)
+{ after(grammarAccess.getNullLiteralExpCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTypeLiteralCS
+entryRuleTypeLiteralCS
+:
+{ before(grammarAccess.getTypeLiteralCSRule()); }
+ ruleTypeLiteralCS
+{ after(grammarAccess.getTypeLiteralCSRule()); }
+ EOF
+;
+
+// Rule TypeLiteralCS
+ruleTypeLiteralCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTypeLiteralCSAccess().getAlternatives()); }
+(rule__TypeLiteralCS__Alternatives)
+{ after(grammarAccess.getTypeLiteralCSAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTypeLiteralExpCS
+entryRuleTypeLiteralExpCS
+:
+{ before(grammarAccess.getTypeLiteralExpCSRule()); }
+ ruleTypeLiteralExpCS
+{ after(grammarAccess.getTypeLiteralExpCSRule()); }
+ EOF
+;
+
+// Rule TypeLiteralExpCS
+ruleTypeLiteralExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeAssignment()); }
+(rule__TypeLiteralExpCS__OwnedTypeAssignment)
+{ after(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTypeNameExpCS
+entryRuleTypeNameExpCS
+:
+{ before(grammarAccess.getTypeNameExpCSRule()); }
+ ruleTypeNameExpCS
+{ after(grammarAccess.getTypeNameExpCSRule()); }
+ EOF
+;
+
+// Rule TypeNameExpCS
+ruleTypeNameExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTypeNameExpCSAccess().getPathNameAssignment()); }
+(rule__TypeNameExpCS__PathNameAssignment)
+{ after(grammarAccess.getTypeNameExpCSAccess().getPathNameAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTypeExpCS
+entryRuleTypeExpCS
+:
+{ before(grammarAccess.getTypeExpCSRule()); }
+ ruleTypeExpCS
+{ after(grammarAccess.getTypeExpCSRule()); }
+ EOF
+;
+
+// Rule TypeExpCS
+ruleTypeExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTypeExpCSAccess().getGroup()); }
+(rule__TypeExpCS__Group__0)
+{ after(grammarAccess.getTypeExpCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleExpCS
+entryRuleExpCS
+:
+{ before(grammarAccess.getExpCSRule()); }
+ ruleExpCS
+{ after(grammarAccess.getExpCSRule()); }
+ EOF
+;
+
+// Rule ExpCS
+ruleExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getExpCSAccess().getAlternatives()); }
+(rule__ExpCS__Alternatives)
+{ after(grammarAccess.getExpCSAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleBinaryOperatorCS
+entryRuleBinaryOperatorCS
+:
+{ before(grammarAccess.getBinaryOperatorCSRule()); }
+ ruleBinaryOperatorCS
+{ after(grammarAccess.getBinaryOperatorCSRule()); }
+ EOF
+;
+
+// Rule BinaryOperatorCS
+ruleBinaryOperatorCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getBinaryOperatorCSAccess().getAlternatives()); }
+(rule__BinaryOperatorCS__Alternatives)
+{ after(grammarAccess.getBinaryOperatorCSAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleInfixOperatorCS
+entryRuleInfixOperatorCS
+:
+{ before(grammarAccess.getInfixOperatorCSRule()); }
+ ruleInfixOperatorCS
+{ after(grammarAccess.getInfixOperatorCSRule()); }
+ EOF
+;
+
+// Rule InfixOperatorCS
+ruleInfixOperatorCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getInfixOperatorCSAccess().getNameAssignment()); }
+(rule__InfixOperatorCS__NameAssignment)
+{ after(grammarAccess.getInfixOperatorCSAccess().getNameAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNavigationOperatorCS
+entryRuleNavigationOperatorCS
+:
+{ before(grammarAccess.getNavigationOperatorCSRule()); }
+ ruleNavigationOperatorCS
+{ after(grammarAccess.getNavigationOperatorCSRule()); }
+ EOF
+;
+
+// Rule NavigationOperatorCS
+ruleNavigationOperatorCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNavigationOperatorCSAccess().getNameAssignment()); }
+(rule__NavigationOperatorCS__NameAssignment)
+{ after(grammarAccess.getNavigationOperatorCSAccess().getNameAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePrefixedExpCS
+entryRulePrefixedExpCS
+:
+{ before(grammarAccess.getPrefixedExpCSRule()); }
+ rulePrefixedExpCS
+{ after(grammarAccess.getPrefixedExpCSRule()); }
+ EOF
+;
+
+// Rule PrefixedExpCS
+rulePrefixedExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPrefixedExpCSAccess().getAlternatives()); }
+(rule__PrefixedExpCS__Alternatives)
+{ after(grammarAccess.getPrefixedExpCSAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePrefixedExpOrLetExpCS
+entryRulePrefixedExpOrLetExpCS
+:
+{ before(grammarAccess.getPrefixedExpOrLetExpCSRule()); }
+ rulePrefixedExpOrLetExpCS
+{ after(grammarAccess.getPrefixedExpOrLetExpCSRule()); }
+ EOF
+;
+
+// Rule PrefixedExpOrLetExpCS
+rulePrefixedExpOrLetExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getAlternatives()); }
+(rule__PrefixedExpOrLetExpCS__Alternatives)
+{ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleUnaryOperatorCS
+entryRuleUnaryOperatorCS
+:
+{ before(grammarAccess.getUnaryOperatorCSRule()); }
+ ruleUnaryOperatorCS
+{ after(grammarAccess.getUnaryOperatorCSRule()); }
+ EOF
+;
+
+// Rule UnaryOperatorCS
+ruleUnaryOperatorCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getUnaryOperatorCSAccess().getNameAssignment()); }
+(rule__UnaryOperatorCS__NameAssignment)
+{ after(grammarAccess.getUnaryOperatorCSAccess().getNameAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePrimaryExpCS
+entryRulePrimaryExpCS
+:
+{ before(grammarAccess.getPrimaryExpCSRule()); }
+ rulePrimaryExpCS
+{ after(grammarAccess.getPrimaryExpCSRule()); }
+ EOF
+;
+
+// Rule PrimaryExpCS
+rulePrimaryExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getAlternatives()); }
+(rule__PrimaryExpCS__Alternatives)
+{ after(grammarAccess.getPrimaryExpCSAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePrimaryExpOrLetExpCS
+entryRulePrimaryExpOrLetExpCS
+:
+{ before(grammarAccess.getPrimaryExpOrLetExpCSRule()); }
+ rulePrimaryExpOrLetExpCS
+{ after(grammarAccess.getPrimaryExpOrLetExpCSRule()); }
+ EOF
+;
+
+// Rule PrimaryExpOrLetExpCS
+rulePrimaryExpOrLetExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPrimaryExpOrLetExpCSAccess().getAlternatives()); }
+(rule__PrimaryExpOrLetExpCS__Alternatives)
+{ after(grammarAccess.getPrimaryExpOrLetExpCSAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNavigatingArgCS
+entryRuleNavigatingArgCS
+:
+{ before(grammarAccess.getNavigatingArgCSRule()); }
+ ruleNavigatingArgCS
+{ after(grammarAccess.getNavigatingArgCSRule()); }
+ EOF
+;
+
+// Rule NavigatingArgCS
+ruleNavigatingArgCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNavigatingArgCSAccess().getGroup()); }
+(rule__NavigatingArgCS__Group__0)
+{ after(grammarAccess.getNavigatingArgCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNavigatingBarArgCS
+entryRuleNavigatingBarArgCS
+:
+{ before(grammarAccess.getNavigatingBarArgCSRule()); }
+ ruleNavigatingBarArgCS
+{ after(grammarAccess.getNavigatingBarArgCSRule()); }
+ EOF
+;
+
+// Rule NavigatingBarArgCS
+ruleNavigatingBarArgCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNavigatingBarArgCSAccess().getGroup()); }
+(rule__NavigatingBarArgCS__Group__0)
+{ after(grammarAccess.getNavigatingBarArgCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNavigatingCommaArgCS
+entryRuleNavigatingCommaArgCS
+:
+{ before(grammarAccess.getNavigatingCommaArgCSRule()); }
+ ruleNavigatingCommaArgCS
+{ after(grammarAccess.getNavigatingCommaArgCSRule()); }
+ EOF
+;
+
+// Rule NavigatingCommaArgCS
+ruleNavigatingCommaArgCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNavigatingCommaArgCSAccess().getGroup()); }
+(rule__NavigatingCommaArgCS__Group__0)
+{ after(grammarAccess.getNavigatingCommaArgCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNavigatingSemiArgCS
+entryRuleNavigatingSemiArgCS
+:
+{ before(grammarAccess.getNavigatingSemiArgCSRule()); }
+ ruleNavigatingSemiArgCS
+{ after(grammarAccess.getNavigatingSemiArgCSRule()); }
+ EOF
+;
+
+// Rule NavigatingSemiArgCS
+ruleNavigatingSemiArgCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNavigatingSemiArgCSAccess().getGroup()); }
+(rule__NavigatingSemiArgCS__Group__0)
+{ after(grammarAccess.getNavigatingSemiArgCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNavigatingArgExpCS
+entryRuleNavigatingArgExpCS
+:
+{ before(grammarAccess.getNavigatingArgExpCSRule()); }
+ ruleNavigatingArgExpCS
+{ after(grammarAccess.getNavigatingArgExpCSRule()); }
+ EOF
+;
+
+// Rule NavigatingArgExpCS
+ruleNavigatingArgExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNavigatingArgExpCSAccess().getExpCSParserRuleCall()); }
+ ruleExpCS
+{ after(grammarAccess.getNavigatingArgExpCSAccess().getExpCSParserRuleCall()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleIfExpCS
+entryRuleIfExpCS
+:
+{ before(grammarAccess.getIfExpCSRule()); }
+ ruleIfExpCS
+{ after(grammarAccess.getIfExpCSRule()); }
+ EOF
+;
+
+// Rule IfExpCS
+ruleIfExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getIfExpCSAccess().getGroup()); }
+(rule__IfExpCS__Group__0)
+{ after(grammarAccess.getIfExpCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleLetExpCS
+entryRuleLetExpCS
+:
+{ before(grammarAccess.getLetExpCSRule()); }
+ ruleLetExpCS
+{ after(grammarAccess.getLetExpCSRule()); }
+ EOF
+;
+
+// Rule LetExpCS
+ruleLetExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getLetExpCSAccess().getGroup()); }
+(rule__LetExpCS__Group__0)
+{ after(grammarAccess.getLetExpCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleLetVariableCS
+entryRuleLetVariableCS
+:
+{ before(grammarAccess.getLetVariableCSRule()); }
+ ruleLetVariableCS
+{ after(grammarAccess.getLetVariableCSRule()); }
+ EOF
+;
+
+// Rule LetVariableCS
+ruleLetVariableCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getLetVariableCSAccess().getGroup()); }
+(rule__LetVariableCS__Group__0)
+{ after(grammarAccess.getLetVariableCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNestedExpCS
+entryRuleNestedExpCS
+:
+{ before(grammarAccess.getNestedExpCSRule()); }
+ ruleNestedExpCS
+{ after(grammarAccess.getNestedExpCSRule()); }
+ EOF
+;
+
+// Rule NestedExpCS
+ruleNestedExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNestedExpCSAccess().getGroup()); }
+(rule__NestedExpCS__Group__0)
+{ after(grammarAccess.getNestedExpCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSelfExpCS
+entryRuleSelfExpCS
+:
+{ before(grammarAccess.getSelfExpCSRule()); }
+ ruleSelfExpCS
+{ after(grammarAccess.getSelfExpCSRule()); }
+ EOF
+;
+
+// Rule SelfExpCS
+ruleSelfExpCS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSelfExpCSAccess().getGroup()); }
+(rule__SelfExpCS__Group__0)
+{ after(grammarAccess.getSelfExpCSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__TransformationCS__Alternatives_9
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getRelationAssignment_9_0()); }
+(rule__TransformationCS__RelationAssignment_9_0)
+{ after(grammarAccess.getTransformationCSAccess().getRelationAssignment_9_0()); }
+)
+
+ |(
+{ before(grammarAccess.getTransformationCSAccess().getQueryAssignment_9_1()); }
+(rule__TransformationCS__QueryAssignment_9_1)
+{ after(grammarAccess.getTransformationCSAccess().getQueryAssignment_9_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ModelDeclCS__Alternatives_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_0()); }
+(rule__ModelDeclCS__MetaModelIdAssignment_2_0)
+{ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_0()); }
+)
+
+ |(
+{ before(grammarAccess.getModelDeclCSAccess().getGroup_2_1()); }
+(rule__ModelDeclCS__Group_2_1__0)
+{ after(grammarAccess.getModelDeclCSAccess().getGroup_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__Alternatives_6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getDomainAssignment_6_0()); }
+(rule__RelationCS__DomainAssignment_6_0)
+{ after(grammarAccess.getRelationCSAccess().getDomainAssignment_6_0()); }
+)
+
+ |(
+{ before(grammarAccess.getRelationCSAccess().getDomainAssignment_6_1()); }
+(rule__RelationCS__DomainAssignment_6_1)
+{ after(grammarAccess.getRelationCSAccess().getDomainAssignment_6_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__Alternatives_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getCheckonlyAssignment_0_0()); }
+(rule__DomainCS__CheckonlyAssignment_0_0)
+{ after(grammarAccess.getDomainCSAccess().getCheckonlyAssignment_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getDomainCSAccess().getEnforceAssignment_0_1()); }
+(rule__DomainCS__EnforceAssignment_0_1)
+{ after(grammarAccess.getDomainCSAccess().getEnforceAssignment_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TemplateCS__Alternatives_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTemplateCSAccess().getObjectTemplateCSParserRuleCall_0_0()); }
+ ruleObjectTemplateCS
+{ after(grammarAccess.getTemplateCSAccess().getObjectTemplateCSParserRuleCall_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getTemplateCSAccess().getCollectionTemplateCSParserRuleCall_0_1()); }
+ ruleCollectionTemplateCS
+{ after(grammarAccess.getTemplateCSAccess().getCollectionTemplateCSParserRuleCall_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierNameExpCSParserRuleCall_4_0_0_0()); }
+ ruleNameExpCS
+{ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierNameExpCSParserRuleCall_4_0_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierTemplateCSParserRuleCall_4_0_0_1()); }
+ ruleTemplateCS
+{ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierTemplateCSParserRuleCall_4_0_0_1()); }
+)
+
+ |(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAnyElementCSParserRuleCall_4_0_0_2()); }
+ ruleAnyElementCS
+{ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAnyElementCSParserRuleCall_4_0_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierNameExpCSParserRuleCall_4_1_1_0_0()); }
+ ruleNameExpCS
+{ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierNameExpCSParserRuleCall_4_1_1_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierTemplateCSParserRuleCall_4_1_1_0_1()); }
+ ruleTemplateCS
+{ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierTemplateCSParserRuleCall_4_1_1_0_1()); }
+)
+
+ |(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAnyElementCSParserRuleCall_4_1_1_0_2()); }
+ ruleAnyElementCS
+{ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAnyElementCSParserRuleCall_4_1_1_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierNameExpCSParserRuleCall_4_3_0_0()); }
+ ruleNameExpCS
+{ after(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierNameExpCSParserRuleCall_4_3_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAnyElementCSParserRuleCall_4_3_0_1()); }
+ ruleAnyElementCS
+{ after(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAnyElementCSParserRuleCall_4_3_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Alternatives_7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getSemicolonKeyword_7_0()); }
+
+ ';'
+
+{ after(grammarAccess.getQueryCSAccess().getSemicolonKeyword_7_0()); }
+)
+
+ |(
+{ before(grammarAccess.getQueryCSAccess().getGroup_7_1()); }
+(rule__QueryCS__Group_7_1__0)
+{ after(grammarAccess.getQueryCSAccess().getGroup_7_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__UnrestrictedName__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getUnrestrictedNameAccess().getEssentialOCLUnrestrictedNameParserRuleCall_0()); }
+ ruleEssentialOCLUnrestrictedName
+{ after(grammarAccess.getUnrestrictedNameAccess().getEssentialOCLUnrestrictedNameParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getCheckonlyKeyword_1()); }
+
+ 'checkonly'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getCheckonlyKeyword_1()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getDefault_valuesKeyword_2()); }
+
+ 'default_values'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getDefault_valuesKeyword_2()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getDomainKeyword_3()); }
+
+ 'domain'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getDomainKeyword_3()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getEnforceKeyword_4()); }
+
+ 'enforce'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getEnforceKeyword_4()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getExtendsKeyword_5()); }
+
+ 'extends'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getExtendsKeyword_5()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getImplementedbyKeyword_6()); }
+
+ 'implementedby'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getImplementedbyKeyword_6()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getImportKeyword_7()); }
+
+ 'import'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getImportKeyword_7()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getKeyKeyword_8()); }
+
+ 'key'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getKeyKeyword_8()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getOverridesKeyword_9()); }
+
+ 'overrides'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getOverridesKeyword_9()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getPrimitiveKeyword_10()); }
+
+ 'primitive'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getPrimitiveKeyword_10()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getQueryKeyword_11()); }
+
+ 'query'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getQueryKeyword_11()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getRelationKeyword_12()); }
+
+ 'relation'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getRelationKeyword_12()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getReplaceKeyword_13()); }
+
+ 'replace'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getReplaceKeyword_13()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getTopKeyword_14()); }
+
+ 'top'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getTopKeyword_14()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getTransformationKeyword_15()); }
+
+ 'transformation'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getTransformationKeyword_15()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getWhenKeyword_16()); }
+
+ 'when'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getWhenKeyword_16()); }
+)
+
+ |(
+{ before(grammarAccess.getUnrestrictedNameAccess().getWhereKeyword_17()); }
+
+ 'where'
+
+{ after(grammarAccess.getUnrestrictedNameAccess().getWhereKeyword_17()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ID__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getIDAccess().getSIMPLE_IDTerminalRuleCall_0()); }
+ RULE_SIMPLE_ID
+{ after(grammarAccess.getIDAccess().getSIMPLE_IDTerminalRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getIDAccess().getESCAPED_IDTerminalRuleCall_1()); }
+ RULE_ESCAPED_ID
+{ after(grammarAccess.getIDAccess().getESCAPED_IDTerminalRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__UPPER__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getUPPERAccess().getINTTerminalRuleCall_0()); }
+ RULE_INT
+{ after(grammarAccess.getUPPERAccess().getINTTerminalRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getUPPERAccess().getAsteriskKeyword_1()); }
+
+ '*'
+
+{ after(grammarAccess.getUPPERAccess().getAsteriskKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NUMBER_LITERAL__Alternatives_2_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNUMBER_LITERALAccess().getEKeyword_2_0_0()); }
+
+ 'e'
+
+{ after(grammarAccess.getNUMBER_LITERALAccess().getEKeyword_2_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getNUMBER_LITERALAccess().getEKeyword_2_0_1()); }
+
+ 'E'
+
+{ after(grammarAccess.getNUMBER_LITERALAccess().getEKeyword_2_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NUMBER_LITERAL__Alternatives_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNUMBER_LITERALAccess().getPlusSignKeyword_2_1_0()); }
+
+ '+'
+
+{ after(grammarAccess.getNUMBER_LITERALAccess().getPlusSignKeyword_2_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getNUMBER_LITERALAccess().getHyphenMinusKeyword_2_1_1()); }
+
+ '-'
+
+{ after(grammarAccess.getNUMBER_LITERALAccess().getHyphenMinusKeyword_2_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__EssentialOCLUnrestrictedIdentifier__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getEKeyword_0()); }
+
+ 'e'
+
+{ after(grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getEKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getEKeyword_1()); }
+
+ 'E'
+
+{ after(grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getEKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EssentialOCLPrefixOperator__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEssentialOCLPrefixOperatorAccess().getHyphenMinusKeyword_0()); }
+
+ '-'
+
+{ after(grammarAccess.getEssentialOCLPrefixOperatorAccess().getHyphenMinusKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLPrefixOperatorAccess().getNotKeyword_1()); }
+
+ 'not'
+
+{ after(grammarAccess.getEssentialOCLPrefixOperatorAccess().getNotKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EssentialOCLInfixOperator__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getAsteriskKeyword_0()); }
+
+ '*'
+
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getAsteriskKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getSolidusKeyword_1()); }
+
+ '/'
+
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getSolidusKeyword_1()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getPlusSignKeyword_2()); }
+
+ '+'
+
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getPlusSignKeyword_2()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getHyphenMinusKeyword_3()); }
+
+ '-'
+
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getHyphenMinusKeyword_3()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getGreaterThanSignKeyword_4()); }
+
+ '>'
+
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getGreaterThanSignKeyword_4()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignKeyword_5()); }
+
+ '<'
+
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignKeyword_5()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getGreaterThanSignEqualsSignKeyword_6()); }
+
+ '>='
+
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getGreaterThanSignEqualsSignKeyword_6()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignEqualsSignKeyword_7()); }
+
+ '<='
+
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignEqualsSignKeyword_7()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getEqualsSignKeyword_8()); }
+
+ '='
+
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getEqualsSignKeyword_8()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignGreaterThanSignKeyword_9()); }
+
+ '<>'
+
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignGreaterThanSignKeyword_9()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getAndKeyword_10()); }
+
+ 'and'
+
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getAndKeyword_10()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getOrKeyword_11()); }
+
+ 'or'
+
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getOrKeyword_11()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getXorKeyword_12()); }
+
+ 'xor'
+
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getXorKeyword_12()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getImpliesKeyword_13()); }
+
+ 'implies'
+
+{ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getImpliesKeyword_13()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EssentialOCLNavigationOperator__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEssentialOCLNavigationOperatorAccess().getFullStopKeyword_0()); }
+
+ '.'
+
+{ after(grammarAccess.getEssentialOCLNavigationOperatorAccess().getFullStopKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLNavigationOperatorAccess().getHyphenMinusGreaterThanSignKeyword_1()); }
+
+ '->'
+
+{ after(grammarAccess.getEssentialOCLNavigationOperatorAccess().getHyphenMinusGreaterThanSignKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Identifier__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getIdentifierAccess().getIDParserRuleCall_0()); }
+ ruleID
+{ after(grammarAccess.getIdentifierAccess().getIDParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getIdentifierAccess().getEssentialOCLUnrestrictedIdentifierParserRuleCall_1()); }
+ ruleEssentialOCLUnrestrictedIdentifier
+{ after(grammarAccess.getIdentifierAccess().getEssentialOCLUnrestrictedIdentifierParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EssentialOCLUnreservedName__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEssentialOCLUnreservedNameAccess().getUnrestrictedNameParserRuleCall_0()); }
+ ruleUnrestrictedName
+{ after(grammarAccess.getEssentialOCLUnreservedNameAccess().getUnrestrictedNameParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLUnreservedNameAccess().getCollectionTypeIdentifierParserRuleCall_1()); }
+ ruleCollectionTypeIdentifier
+{ after(grammarAccess.getEssentialOCLUnreservedNameAccess().getCollectionTypeIdentifierParserRuleCall_1()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLUnreservedNameAccess().getPrimitiveTypeIdentifierParserRuleCall_2()); }
+ rulePrimitiveTypeIdentifier
+{ after(grammarAccess.getEssentialOCLUnreservedNameAccess().getPrimitiveTypeIdentifierParserRuleCall_2()); }
+)
+
+ |(
+{ before(grammarAccess.getEssentialOCLUnreservedNameAccess().getTupleKeyword_3()); }
+
+ 'Tuple'
+
+{ after(grammarAccess.getEssentialOCLUnreservedNameAccess().getTupleKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimitiveTypeIdentifier__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getBooleanKeyword_0()); }
+
+ 'Boolean'
+
+{ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getBooleanKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getIntegerKeyword_1()); }
+
+ 'Integer'
+
+{ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getIntegerKeyword_1()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getRealKeyword_2()); }
+
+ 'Real'
+
+{ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getRealKeyword_2()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getStringKeyword_3()); }
+
+ 'String'
+
+{ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getStringKeyword_3()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getUnlimitedNaturalKeyword_4()); }
+
+ 'UnlimitedNatural'
+
+{ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getUnlimitedNaturalKeyword_4()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclAnyKeyword_5()); }
+
+ 'OclAny'
+
+{ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclAnyKeyword_5()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclInvalidKeyword_6()); }
+
+ 'OclInvalid'
+
+{ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclInvalidKeyword_6()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclVoidKeyword_7()); }
+
+ 'OclVoid'
+
+{ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclVoidKeyword_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTypeIdentifier__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTypeIdentifierAccess().getSetKeyword_0()); }
+
+ 'Set'
+
+{ after(grammarAccess.getCollectionTypeIdentifierAccess().getSetKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getCollectionTypeIdentifierAccess().getBagKeyword_1()); }
+
+ 'Bag'
+
+{ after(grammarAccess.getCollectionTypeIdentifierAccess().getBagKeyword_1()); }
+)
+
+ |(
+{ before(grammarAccess.getCollectionTypeIdentifierAccess().getSequenceKeyword_2()); }
+
+ 'Sequence'
+
+{ after(grammarAccess.getCollectionTypeIdentifierAccess().getSequenceKeyword_2()); }
+)
+
+ |(
+{ before(grammarAccess.getCollectionTypeIdentifierAccess().getCollectionKeyword_3()); }
+
+ 'Collection'
+
+{ after(grammarAccess.getCollectionTypeIdentifierAccess().getCollectionKeyword_3()); }
+)
+
+ |(
+{ before(grammarAccess.getCollectionTypeIdentifierAccess().getOrderedSetKeyword_4()); }
+
+ 'OrderedSet'
+
+{ after(grammarAccess.getCollectionTypeIdentifierAccess().getOrderedSetKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MultiplicityCS__Alternatives_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicityCSAccess().getMultiplicityBoundsCSParserRuleCall_1_0()); }
+ ruleMultiplicityBoundsCS
+{ after(grammarAccess.getMultiplicityCSAccess().getMultiplicityBoundsCSParserRuleCall_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getMultiplicityCSAccess().getMultiplicityStringCSParserRuleCall_1_1()); }
+ ruleMultiplicityStringCS
+{ after(grammarAccess.getMultiplicityCSAccess().getMultiplicityStringCSParserRuleCall_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MultiplicityStringCS__StringBoundsAlternatives_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAsteriskKeyword_0_0()); }
+
+ '*'
+
+{ after(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAsteriskKeyword_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsPlusSignKeyword_0_1()); }
+
+ '+'
+
+{ after(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsPlusSignKeyword_0_1()); }
+)
+
+ |(
+{ before(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsQuestionMarkKeyword_0_2()); }
+
+ '?'
+
+{ after(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsQuestionMarkKeyword_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimitiveLiteralExpCS__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveLiteralExpCSAccess().getNumberLiteralExpCSParserRuleCall_0()); }
+ ruleNumberLiteralExpCS
+{ after(grammarAccess.getPrimitiveLiteralExpCSAccess().getNumberLiteralExpCSParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveLiteralExpCSAccess().getStringLiteralExpCSParserRuleCall_1()); }
+ ruleStringLiteralExpCS
+{ after(grammarAccess.getPrimitiveLiteralExpCSAccess().getStringLiteralExpCSParserRuleCall_1()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveLiteralExpCSAccess().getBooleanLiteralExpCSParserRuleCall_2()); }
+ ruleBooleanLiteralExpCS
+{ after(grammarAccess.getPrimitiveLiteralExpCSAccess().getBooleanLiteralExpCSParserRuleCall_2()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSParserRuleCall_3()); }
+ ruleUnlimitedNaturalLiteralExpCS
+{ after(grammarAccess.getPrimitiveLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSParserRuleCall_3()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveLiteralExpCSAccess().getInvalidLiteralExpCSParserRuleCall_4()); }
+ ruleInvalidLiteralExpCS
+{ after(grammarAccess.getPrimitiveLiteralExpCSAccess().getInvalidLiteralExpCSParserRuleCall_4()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveLiteralExpCSAccess().getNullLiteralExpCSParserRuleCall_5()); }
+ ruleNullLiteralExpCS
+{ after(grammarAccess.getPrimitiveLiteralExpCSAccess().getNullLiteralExpCSParserRuleCall_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BooleanLiteralExpCS__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBooleanLiteralExpCSAccess().getNameAssignment_0()); }
+(rule__BooleanLiteralExpCS__NameAssignment_0)
+{ after(grammarAccess.getBooleanLiteralExpCSAccess().getNameAssignment_0()); }
+)
+
+ |(
+{ before(grammarAccess.getBooleanLiteralExpCSAccess().getNameAssignment_1()); }
+(rule__BooleanLiteralExpCS__NameAssignment_1)
+{ after(grammarAccess.getBooleanLiteralExpCSAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypeLiteralCS__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypeLiteralCSAccess().getPrimitiveTypeCSParserRuleCall_0()); }
+ rulePrimitiveTypeCS
+{ after(grammarAccess.getTypeLiteralCSAccess().getPrimitiveTypeCSParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getTypeLiteralCSAccess().getCollectionTypeCSParserRuleCall_1()); }
+ ruleCollectionTypeCS
+{ after(grammarAccess.getTypeLiteralCSAccess().getCollectionTypeCSParserRuleCall_1()); }
+)
+
+ |(
+{ before(grammarAccess.getTypeLiteralCSAccess().getTupleTypeCSParserRuleCall_2()); }
+ ruleTupleTypeCS
+{ after(grammarAccess.getTypeLiteralCSAccess().getTupleTypeCSParserRuleCall_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypeExpCS__Alternatives_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypeExpCSAccess().getTypeNameExpCSParserRuleCall_0_0()); }
+ ruleTypeNameExpCS
+{ after(grammarAccess.getTypeExpCSAccess().getTypeNameExpCSParserRuleCall_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getTypeExpCSAccess().getTypeLiteralCSParserRuleCall_0_1()); }
+ ruleTypeLiteralCS
+{ after(grammarAccess.getTypeExpCSAccess().getTypeLiteralCSParserRuleCall_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExpCS__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExpCSAccess().getGroup_0()); }
+(rule__ExpCS__Group_0__0)
+{ after(grammarAccess.getExpCSAccess().getGroup_0()); }
+)
+
+ |(
+{ before(grammarAccess.getExpCSAccess().getGroup_1()); }
+(rule__ExpCS__Group_1__0)
+{ after(grammarAccess.getExpCSAccess().getGroup_1()); }
+)
+
+ |(
+{ before(grammarAccess.getExpCSAccess().getPrimaryExpOrLetExpCSParserRuleCall_2()); }
+ rulePrimaryExpOrLetExpCS
+{ after(grammarAccess.getExpCSAccess().getPrimaryExpOrLetExpCSParserRuleCall_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BinaryOperatorCS__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBinaryOperatorCSAccess().getInfixOperatorCSParserRuleCall_0()); }
+ ruleInfixOperatorCS
+{ after(grammarAccess.getBinaryOperatorCSAccess().getInfixOperatorCSParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getBinaryOperatorCSAccess().getNavigationOperatorCSParserRuleCall_1()); }
+ ruleNavigationOperatorCS
+{ after(grammarAccess.getBinaryOperatorCSAccess().getNavigationOperatorCSParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrefixedExpCS__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrefixedExpCSAccess().getPrimaryExpCSParserRuleCall_0()); }
+ rulePrimaryExpCS
+{ after(grammarAccess.getPrefixedExpCSAccess().getPrimaryExpCSParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getPrefixedExpCSAccess().getGroup_1()); }
+(rule__PrefixedExpCS__Group_1__0)
+{ after(grammarAccess.getPrefixedExpCSAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrefixedExpOrLetExpCS__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrimaryExpOrLetExpCSParserRuleCall_0()); }
+ rulePrimaryExpOrLetExpCS
+{ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrimaryExpOrLetExpCSParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getGroup_1()); }
+(rule__PrefixedExpOrLetExpCS__Group_1__0)
+{ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getGroup_0()); }
+(rule__PrimaryExpCS__Group_0__0)
+{ after(grammarAccess.getPrimaryExpCSAccess().getGroup_0()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimaryExpCSAccess().getGroup_1()); }
+(rule__PrimaryExpCS__Group_1__0)
+{ after(grammarAccess.getPrimaryExpCSAccess().getGroup_1()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimaryExpCSAccess().getGroup_2()); }
+(rule__PrimaryExpCS__Group_2__0)
+{ after(grammarAccess.getPrimaryExpCSAccess().getGroup_2()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimaryExpCSAccess().getGroup_3()); }
+(rule__PrimaryExpCS__Group_3__0)
+{ after(grammarAccess.getPrimaryExpCSAccess().getGroup_3()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimaryExpCSAccess().getSelfExpCSParserRuleCall_4()); }
+ ruleSelfExpCS
+{ after(grammarAccess.getPrimaryExpCSAccess().getSelfExpCSParserRuleCall_4()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimaryExpCSAccess().getPrimitiveLiteralExpCSParserRuleCall_5()); }
+ rulePrimitiveLiteralExpCS
+{ after(grammarAccess.getPrimaryExpCSAccess().getPrimitiveLiteralExpCSParserRuleCall_5()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimaryExpCSAccess().getTupleLiteralExpCSParserRuleCall_6()); }
+ ruleTupleLiteralExpCS
+{ after(grammarAccess.getPrimaryExpCSAccess().getTupleLiteralExpCSParserRuleCall_6()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimaryExpCSAccess().getCollectionLiteralExpCSParserRuleCall_7()); }
+ ruleCollectionLiteralExpCS
+{ after(grammarAccess.getPrimaryExpCSAccess().getCollectionLiteralExpCSParserRuleCall_7()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimaryExpCSAccess().getTypeLiteralExpCSParserRuleCall_8()); }
+ ruleTypeLiteralExpCS
+{ after(grammarAccess.getPrimaryExpCSAccess().getTypeLiteralExpCSParserRuleCall_8()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimaryExpCSAccess().getIfExpCSParserRuleCall_9()); }
+ ruleIfExpCS
+{ after(grammarAccess.getPrimaryExpCSAccess().getIfExpCSParserRuleCall_9()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimaryExpCSAccess().getNestedExpCSParserRuleCall_10()); }
+ ruleNestedExpCS
+{ after(grammarAccess.getPrimaryExpCSAccess().getNestedExpCSParserRuleCall_10()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpOrLetExpCS__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpOrLetExpCSAccess().getPrimaryExpCSParserRuleCall_0()); }
+ rulePrimaryExpCS
+{ after(grammarAccess.getPrimaryExpOrLetExpCSAccess().getPrimaryExpCSParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimaryExpOrLetExpCSAccess().getLetExpCSParserRuleCall_1()); }
+ ruleLetExpCS
+{ after(grammarAccess.getPrimaryExpOrLetExpCSAccess().getLetExpCSParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+rule__TopLevelCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TopLevelCS__Group__0__Impl
+ rule__TopLevelCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TopLevelCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTopLevelCSAccess().getGroup_0()); }
+(rule__TopLevelCS__Group_0__0)*
+{ after(grammarAccess.getTopLevelCSAccess().getGroup_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TopLevelCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TopLevelCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TopLevelCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTopLevelCSAccess().getTransformationAssignment_1()); }
+(rule__TopLevelCS__TransformationAssignment_1)*
+{ after(grammarAccess.getTopLevelCSAccess().getTransformationAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__TopLevelCS__Group_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TopLevelCS__Group_0__0__Impl
+ rule__TopLevelCS__Group_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TopLevelCS__Group_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTopLevelCSAccess().getImportKeyword_0_0()); }
+
+ 'import'
+
+{ after(grammarAccess.getTopLevelCSAccess().getImportKeyword_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TopLevelCS__Group_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TopLevelCS__Group_0__1__Impl
+ rule__TopLevelCS__Group_0__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TopLevelCS__Group_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTopLevelCSAccess().getImportClauseAssignment_0_1()); }
+(rule__TopLevelCS__ImportClauseAssignment_0_1)
+{ after(grammarAccess.getTopLevelCSAccess().getImportClauseAssignment_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TopLevelCS__Group_0__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TopLevelCS__Group_0__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TopLevelCS__Group_0__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTopLevelCSAccess().getSemicolonKeyword_0_2()); }
+
+ ';'
+
+{ after(grammarAccess.getTopLevelCSAccess().getSemicolonKeyword_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__UnitCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__UnitCS__Group__0__Impl
+ rule__UnitCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__UnitCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getUnitCSAccess().getIdentifierAssignment_0()); }
+(rule__UnitCS__IdentifierAssignment_0)
+{ after(grammarAccess.getUnitCSAccess().getIdentifierAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__UnitCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__UnitCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__UnitCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getUnitCSAccess().getGroup_1()); }
+(rule__UnitCS__Group_1__0)*
+{ after(grammarAccess.getUnitCSAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__UnitCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__UnitCS__Group_1__0__Impl
+ rule__UnitCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__UnitCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getUnitCSAccess().getFullStopKeyword_1_0()); }
+
+ '.'
+
+{ after(grammarAccess.getUnitCSAccess().getFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__UnitCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__UnitCS__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__UnitCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getUnitCSAccess().getIdentifierAssignment_1_1()); }
+(rule__UnitCS__IdentifierAssignment_1_1)
+{ after(grammarAccess.getUnitCSAccess().getIdentifierAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__TransformationCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group__0__Impl
+ rule__TransformationCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getTransformationKeyword_0()); }
+
+ 'transformation'
+
+{ after(grammarAccess.getTransformationCSAccess().getTransformationKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransformationCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group__1__Impl
+ rule__TransformationCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getNameAssignment_1()); }
+(rule__TransformationCS__NameAssignment_1)
+{ after(grammarAccess.getTransformationCSAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransformationCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group__2__Impl
+ rule__TransformationCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getLeftParenthesisKeyword_2()); }
+
+ '('
+
+{ after(grammarAccess.getTransformationCSAccess().getLeftParenthesisKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransformationCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group__3__Impl
+ rule__TransformationCS__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getModelDeclAssignment_3()); }
+(rule__TransformationCS__ModelDeclAssignment_3)
+{ after(grammarAccess.getTransformationCSAccess().getModelDeclAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransformationCS__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group__4__Impl
+ rule__TransformationCS__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getGroup_4()); }
+(rule__TransformationCS__Group_4__0)*
+{ after(grammarAccess.getTransformationCSAccess().getGroup_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransformationCS__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group__5__Impl
+ rule__TransformationCS__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getRightParenthesisKeyword_5()); }
+
+ ')'
+
+{ after(grammarAccess.getTransformationCSAccess().getRightParenthesisKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransformationCS__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group__6__Impl
+ rule__TransformationCS__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getGroup_6()); }
+(rule__TransformationCS__Group_6__0)?
+{ after(grammarAccess.getTransformationCSAccess().getGroup_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransformationCS__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group__7__Impl
+ rule__TransformationCS__Group__8
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getLeftCurlyBracketKeyword_7()); }
+
+ '{'
+
+{ after(grammarAccess.getTransformationCSAccess().getLeftCurlyBracketKeyword_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransformationCS__Group__8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group__8__Impl
+ rule__TransformationCS__Group__9
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group__8__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getKeyDeclAssignment_8()); }
+(rule__TransformationCS__KeyDeclAssignment_8)*
+{ after(grammarAccess.getTransformationCSAccess().getKeyDeclAssignment_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransformationCS__Group__9
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group__9__Impl
+ rule__TransformationCS__Group__10
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group__9__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getAlternatives_9()); }
+(rule__TransformationCS__Alternatives_9)*
+{ after(grammarAccess.getTransformationCSAccess().getAlternatives_9()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransformationCS__Group__10
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group__10__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group__10__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getRightCurlyBracketKeyword_10()); }
+
+ '}'
+
+{ after(grammarAccess.getTransformationCSAccess().getRightCurlyBracketKeyword_10()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__TransformationCS__Group_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group_4__0__Impl
+ rule__TransformationCS__Group_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getCommaKeyword_4_0()); }
+
+ ','
+
+{ after(grammarAccess.getTransformationCSAccess().getCommaKeyword_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransformationCS__Group_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group_4__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getModelDeclAssignment_4_1()); }
+(rule__TransformationCS__ModelDeclAssignment_4_1)
+{ after(grammarAccess.getTransformationCSAccess().getModelDeclAssignment_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__TransformationCS__Group_6__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group_6__0__Impl
+ rule__TransformationCS__Group_6__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group_6__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getExtendsKeyword_6_0()); }
+
+ 'extends'
+
+{ after(grammarAccess.getTransformationCSAccess().getExtendsKeyword_6_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransformationCS__Group_6__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group_6__1__Impl
+ rule__TransformationCS__Group_6__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group_6__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getExtendsAssignment_6_1()); }
+(rule__TransformationCS__ExtendsAssignment_6_1)
+{ after(grammarAccess.getTransformationCSAccess().getExtendsAssignment_6_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransformationCS__Group_6__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group_6__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group_6__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getGroup_6_2()); }
+(rule__TransformationCS__Group_6_2__0)*
+{ after(grammarAccess.getTransformationCSAccess().getGroup_6_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__TransformationCS__Group_6_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group_6_2__0__Impl
+ rule__TransformationCS__Group_6_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group_6_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getCommaKeyword_6_2_0()); }
+
+ ','
+
+{ after(grammarAccess.getTransformationCSAccess().getCommaKeyword_6_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransformationCS__Group_6_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransformationCS__Group_6_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__Group_6_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getExtendsAssignment_6_2_1()); }
+(rule__TransformationCS__ExtendsAssignment_6_2_1)
+{ after(grammarAccess.getTransformationCSAccess().getExtendsAssignment_6_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ModelDeclCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ModelDeclCS__Group__0__Impl
+ rule__ModelDeclCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ModelDeclCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModelDeclCSAccess().getNameAssignment_0()); }
+(rule__ModelDeclCS__NameAssignment_0)
+{ after(grammarAccess.getModelDeclCSAccess().getNameAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ModelDeclCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ModelDeclCS__Group__1__Impl
+ rule__ModelDeclCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ModelDeclCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModelDeclCSAccess().getColonKeyword_1()); }
+
+ ':'
+
+{ after(grammarAccess.getModelDeclCSAccess().getColonKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ModelDeclCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ModelDeclCS__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ModelDeclCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModelDeclCSAccess().getAlternatives_2()); }
+(rule__ModelDeclCS__Alternatives_2)
+{ after(grammarAccess.getModelDeclCSAccess().getAlternatives_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__ModelDeclCS__Group_2_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ModelDeclCS__Group_2_1__0__Impl
+ rule__ModelDeclCS__Group_2_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ModelDeclCS__Group_2_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModelDeclCSAccess().getLeftCurlyBracketKeyword_2_1_0()); }
+
+ '{'
+
+{ after(grammarAccess.getModelDeclCSAccess().getLeftCurlyBracketKeyword_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ModelDeclCS__Group_2_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ModelDeclCS__Group_2_1__1__Impl
+ rule__ModelDeclCS__Group_2_1__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ModelDeclCS__Group_2_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_1_1()); }
+(rule__ModelDeclCS__MetaModelIdAssignment_2_1_1)
+{ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ModelDeclCS__Group_2_1__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ModelDeclCS__Group_2_1__2__Impl
+ rule__ModelDeclCS__Group_2_1__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ModelDeclCS__Group_2_1__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModelDeclCSAccess().getGroup_2_1_2()); }
+(rule__ModelDeclCS__Group_2_1_2__0)*
+{ after(grammarAccess.getModelDeclCSAccess().getGroup_2_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ModelDeclCS__Group_2_1__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ModelDeclCS__Group_2_1__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ModelDeclCS__Group_2_1__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModelDeclCSAccess().getRightCurlyBracketKeyword_2_1_3()); }
+
+ '}'
+
+{ after(grammarAccess.getModelDeclCSAccess().getRightCurlyBracketKeyword_2_1_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__ModelDeclCS__Group_2_1_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ModelDeclCS__Group_2_1_2__0__Impl
+ rule__ModelDeclCS__Group_2_1_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ModelDeclCS__Group_2_1_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModelDeclCSAccess().getCommaKeyword_2_1_2_0()); }
+
+ ','
+
+{ after(grammarAccess.getModelDeclCSAccess().getCommaKeyword_2_1_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ModelDeclCS__Group_2_1_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ModelDeclCS__Group_2_1_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ModelDeclCS__Group_2_1_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_1_2_1()); }
+(rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1)
+{ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_1_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__KeyDeclCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__KeyDeclCS__Group__0__Impl
+ rule__KeyDeclCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__KeyDeclCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getKeyKeyword_0()); }
+
+ 'key'
+
+{ after(grammarAccess.getKeyDeclCSAccess().getKeyKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__KeyDeclCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__KeyDeclCS__Group__1__Impl
+ rule__KeyDeclCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__KeyDeclCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getPathNameAssignment_1()); }
+(rule__KeyDeclCS__PathNameAssignment_1)
+{ after(grammarAccess.getKeyDeclCSAccess().getPathNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__KeyDeclCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__KeyDeclCS__Group__2__Impl
+ rule__KeyDeclCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__KeyDeclCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getKeyDeclCSAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__KeyDeclCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__KeyDeclCS__Group__3__Impl
+ rule__KeyDeclCS__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__KeyDeclCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getPropertyIdAssignment_3()); }
+(rule__KeyDeclCS__PropertyIdAssignment_3)
+{ after(grammarAccess.getKeyDeclCSAccess().getPropertyIdAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__KeyDeclCS__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__KeyDeclCS__Group__4__Impl
+ rule__KeyDeclCS__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__KeyDeclCS__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getGroup_4()); }
+(rule__KeyDeclCS__Group_4__0)*
+{ after(grammarAccess.getKeyDeclCSAccess().getGroup_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__KeyDeclCS__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__KeyDeclCS__Group__5__Impl
+ rule__KeyDeclCS__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__KeyDeclCS__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getKeyDeclCSAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__KeyDeclCS__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__KeyDeclCS__Group__6__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__KeyDeclCS__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getSemicolonKeyword_6()); }
+
+ ';'
+
+{ after(grammarAccess.getKeyDeclCSAccess().getSemicolonKeyword_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__KeyDeclCS__Group_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__KeyDeclCS__Group_4__0__Impl
+ rule__KeyDeclCS__Group_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__KeyDeclCS__Group_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getCommaKeyword_4_0()); }
+
+ ','
+
+{ after(grammarAccess.getKeyDeclCSAccess().getCommaKeyword_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__KeyDeclCS__Group_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__KeyDeclCS__Group_4__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__KeyDeclCS__Group_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getPropertyIdAssignment_4_1()); }
+(rule__KeyDeclCS__PropertyIdAssignment_4_1)
+{ after(grammarAccess.getKeyDeclCSAccess().getPropertyIdAssignment_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__RelationCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelationCS__Group__0__Impl
+ rule__RelationCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getTopAssignment_0()); }
+(rule__RelationCS__TopAssignment_0)?
+{ after(grammarAccess.getRelationCSAccess().getTopAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RelationCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelationCS__Group__1__Impl
+ rule__RelationCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getRelationKeyword_1()); }
+
+ 'relation'
+
+{ after(grammarAccess.getRelationCSAccess().getRelationKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RelationCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelationCS__Group__2__Impl
+ rule__RelationCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getNameAssignment_2()); }
+(rule__RelationCS__NameAssignment_2)
+{ after(grammarAccess.getRelationCSAccess().getNameAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RelationCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelationCS__Group__3__Impl
+ rule__RelationCS__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getGroup_3()); }
+(rule__RelationCS__Group_3__0)?
+{ after(grammarAccess.getRelationCSAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RelationCS__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelationCS__Group__4__Impl
+ rule__RelationCS__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getLeftCurlyBracketKeyword_4()); }
+
+ '{'
+
+{ after(grammarAccess.getRelationCSAccess().getLeftCurlyBracketKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RelationCS__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelationCS__Group__5__Impl
+ rule__RelationCS__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getVarDeclarationAssignment_5()); }
+(rule__RelationCS__VarDeclarationAssignment_5)*
+{ after(grammarAccess.getRelationCSAccess().getVarDeclarationAssignment_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RelationCS__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelationCS__Group__6__Impl
+ rule__RelationCS__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getRelationCSAccess().getAlternatives_6()); }
+(rule__RelationCS__Alternatives_6)
+{ after(grammarAccess.getRelationCSAccess().getAlternatives_6()); }
+)
+(
+{ before(grammarAccess.getRelationCSAccess().getAlternatives_6()); }
+(rule__RelationCS__Alternatives_6)*
+{ after(grammarAccess.getRelationCSAccess().getAlternatives_6()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RelationCS__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelationCS__Group__7__Impl
+ rule__RelationCS__Group__8
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getWhenAssignment_7()); }
+(rule__RelationCS__WhenAssignment_7)?
+{ after(grammarAccess.getRelationCSAccess().getWhenAssignment_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RelationCS__Group__8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelationCS__Group__8__Impl
+ rule__RelationCS__Group__9
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__Group__8__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getWhereAssignment_8()); }
+(rule__RelationCS__WhereAssignment_8)?
+{ after(grammarAccess.getRelationCSAccess().getWhereAssignment_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RelationCS__Group__9
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelationCS__Group__9__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__Group__9__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getRightCurlyBracketKeyword_9()); }
+
+ '}'
+
+{ after(grammarAccess.getRelationCSAccess().getRightCurlyBracketKeyword_9()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__RelationCS__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelationCS__Group_3__0__Impl
+ rule__RelationCS__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getOverridesKeyword_3_0()); }
+
+ 'overrides'
+
+{ after(grammarAccess.getRelationCSAccess().getOverridesKeyword_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RelationCS__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelationCS__Group_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getOverridesAssignment_3_1()); }
+(rule__RelationCS__OverridesAssignment_3_1)
+{ after(grammarAccess.getRelationCSAccess().getOverridesAssignment_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__WhenCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__WhenCS__Group__0__Impl
+ rule__WhenCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhenCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhenCSAccess().getWhenCSAction_0()); }
+(
+
+)
+{ after(grammarAccess.getWhenCSAccess().getWhenCSAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__WhenCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__WhenCS__Group__1__Impl
+ rule__WhenCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhenCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhenCSAccess().getWhenKeyword_1()); }
+
+ 'when'
+
+{ after(grammarAccess.getWhenCSAccess().getWhenKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__WhenCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__WhenCS__Group__2__Impl
+ rule__WhenCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhenCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhenCSAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getWhenCSAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__WhenCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__WhenCS__Group__3__Impl
+ rule__WhenCS__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhenCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhenCSAccess().getGroup_3()); }
+(rule__WhenCS__Group_3__0)*
+{ after(grammarAccess.getWhenCSAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__WhenCS__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__WhenCS__Group__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhenCS__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhenCSAccess().getRightCurlyBracketKeyword_4()); }
+
+ '}'
+
+{ after(grammarAccess.getWhenCSAccess().getRightCurlyBracketKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__WhenCS__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__WhenCS__Group_3__0__Impl
+ rule__WhenCS__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhenCS__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhenCSAccess().getExprAssignment_3_0()); }
+(rule__WhenCS__ExprAssignment_3_0)
+{ after(grammarAccess.getWhenCSAccess().getExprAssignment_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__WhenCS__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__WhenCS__Group_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhenCS__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhenCSAccess().getSemicolonKeyword_3_1()); }
+
+ ';'
+
+{ after(grammarAccess.getWhenCSAccess().getSemicolonKeyword_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__WhereCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__WhereCS__Group__0__Impl
+ rule__WhereCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhereCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhereCSAccess().getWhereCSAction_0()); }
+(
+
+)
+{ after(grammarAccess.getWhereCSAccess().getWhereCSAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__WhereCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__WhereCS__Group__1__Impl
+ rule__WhereCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhereCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhereCSAccess().getWhereKeyword_1()); }
+
+ 'where'
+
+{ after(grammarAccess.getWhereCSAccess().getWhereKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__WhereCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__WhereCS__Group__2__Impl
+ rule__WhereCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhereCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhereCSAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getWhereCSAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__WhereCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__WhereCS__Group__3__Impl
+ rule__WhereCS__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhereCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhereCSAccess().getGroup_3()); }
+(rule__WhereCS__Group_3__0)*
+{ after(grammarAccess.getWhereCSAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__WhereCS__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__WhereCS__Group__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhereCS__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhereCSAccess().getRightCurlyBracketKeyword_4()); }
+
+ '}'
+
+{ after(grammarAccess.getWhereCSAccess().getRightCurlyBracketKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__WhereCS__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__WhereCS__Group_3__0__Impl
+ rule__WhereCS__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhereCS__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhereCSAccess().getExprAssignment_3_0()); }
+(rule__WhereCS__ExprAssignment_3_0)
+{ after(grammarAccess.getWhereCSAccess().getExprAssignment_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__WhereCS__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__WhereCS__Group_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhereCS__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhereCSAccess().getSemicolonKeyword_3_1()); }
+
+ ';'
+
+{ after(grammarAccess.getWhereCSAccess().getSemicolonKeyword_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__VarDeclarationCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__VarDeclarationCS__Group__0__Impl
+ rule__VarDeclarationCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__VarDeclarationCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdAssignment_0()); }
+(rule__VarDeclarationCS__VarDeclarationIdAssignment_0)
+{ after(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__VarDeclarationCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__VarDeclarationCS__Group__1__Impl
+ rule__VarDeclarationCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__VarDeclarationCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getVarDeclarationCSAccess().getGroup_1()); }
+(rule__VarDeclarationCS__Group_1__0)*
+{ after(grammarAccess.getVarDeclarationCSAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__VarDeclarationCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__VarDeclarationCS__Group__2__Impl
+ rule__VarDeclarationCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__VarDeclarationCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getVarDeclarationCSAccess().getColonKeyword_2()); }
+
+ ':'
+
+{ after(grammarAccess.getVarDeclarationCSAccess().getColonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__VarDeclarationCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__VarDeclarationCS__Group__3__Impl
+ rule__VarDeclarationCS__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__VarDeclarationCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getVarDeclarationCSAccess().getTypeAssignment_3()); }
+(rule__VarDeclarationCS__TypeAssignment_3)
+{ after(grammarAccess.getVarDeclarationCSAccess().getTypeAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__VarDeclarationCS__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__VarDeclarationCS__Group__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__VarDeclarationCS__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getVarDeclarationCSAccess().getSemicolonKeyword_4()); }
+
+ ';'
+
+{ after(grammarAccess.getVarDeclarationCSAccess().getSemicolonKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__VarDeclarationCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__VarDeclarationCS__Group_1__0__Impl
+ rule__VarDeclarationCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__VarDeclarationCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getVarDeclarationCSAccess().getCommaKeyword_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getVarDeclarationCSAccess().getCommaKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__VarDeclarationCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__VarDeclarationCS__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__VarDeclarationCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdAssignment_1_1()); }
+(rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1)
+{ after(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__DomainCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DomainCS__Group__0__Impl
+ rule__DomainCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getAlternatives_0()); }
+(rule__DomainCS__Alternatives_0)?
+{ after(grammarAccess.getDomainCSAccess().getAlternatives_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DomainCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DomainCS__Group__1__Impl
+ rule__DomainCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getDomainKeyword_1()); }
+
+ 'domain'
+
+{ after(grammarAccess.getDomainCSAccess().getDomainKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DomainCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DomainCS__Group__2__Impl
+ rule__DomainCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getModelIdAssignment_2()); }
+(rule__DomainCS__ModelIdAssignment_2)
+{ after(grammarAccess.getDomainCSAccess().getModelIdAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DomainCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DomainCS__Group__3__Impl
+ rule__DomainCS__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getTemplateAssignment_3()); }
+(rule__DomainCS__TemplateAssignment_3)
+{ after(grammarAccess.getDomainCSAccess().getTemplateAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DomainCS__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DomainCS__Group__4__Impl
+ rule__DomainCS__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getGroup_4()); }
+(rule__DomainCS__Group_4__0)?
+{ after(grammarAccess.getDomainCSAccess().getGroup_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DomainCS__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DomainCS__Group__5__Impl
+ rule__DomainCS__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getGroup_5()); }
+(rule__DomainCS__Group_5__0)?
+{ after(grammarAccess.getDomainCSAccess().getGroup_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DomainCS__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DomainCS__Group__6__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getSemicolonKeyword_6()); }
+
+ ';'
+
+{ after(grammarAccess.getDomainCSAccess().getSemicolonKeyword_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__DomainCS__Group_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DomainCS__Group_4__0__Impl
+ rule__DomainCS__Group_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__Group_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getImplementedbyKeyword_4_0()); }
+
+ 'implementedby'
+
+{ after(grammarAccess.getDomainCSAccess().getImplementedbyKeyword_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DomainCS__Group_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DomainCS__Group_4__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__Group_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getImplementedByAssignment_4_1()); }
+(rule__DomainCS__ImplementedByAssignment_4_1)
+{ after(grammarAccess.getDomainCSAccess().getImplementedByAssignment_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__DomainCS__Group_5__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DomainCS__Group_5__0__Impl
+ rule__DomainCS__Group_5__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__Group_5__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getDefault_valuesKeyword_5_0()); }
+
+ 'default_values'
+
+{ after(grammarAccess.getDomainCSAccess().getDefault_valuesKeyword_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DomainCS__Group_5__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DomainCS__Group_5__1__Impl
+ rule__DomainCS__Group_5__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__Group_5__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getLeftCurlyBracketKeyword_5_1()); }
+
+ '{'
+
+{ after(grammarAccess.getDomainCSAccess().getLeftCurlyBracketKeyword_5_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DomainCS__Group_5__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DomainCS__Group_5__2__Impl
+ rule__DomainCS__Group_5__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__Group_5__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getDomainCSAccess().getDefaultValueAssignment_5_2()); }
+(rule__DomainCS__DefaultValueAssignment_5_2)
+{ after(grammarAccess.getDomainCSAccess().getDefaultValueAssignment_5_2()); }
+)
+(
+{ before(grammarAccess.getDomainCSAccess().getDefaultValueAssignment_5_2()); }
+(rule__DomainCS__DefaultValueAssignment_5_2)*
+{ after(grammarAccess.getDomainCSAccess().getDefaultValueAssignment_5_2()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DomainCS__Group_5__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DomainCS__Group_5__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__Group_5__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getRightCurlyBracketKeyword_5_3()); }
+
+ '}'
+
+{ after(grammarAccess.getDomainCSAccess().getRightCurlyBracketKeyword_5_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__PrimitiveTypeDomainCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimitiveTypeDomainCS__Group__0__Impl
+ rule__PrimitiveTypeDomainCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimitiveTypeDomainCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getPrimitiveKeyword_0()); }
+
+ 'primitive'
+
+{ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getPrimitiveKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimitiveTypeDomainCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimitiveTypeDomainCS__Group__1__Impl
+ rule__PrimitiveTypeDomainCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimitiveTypeDomainCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getDomainKeyword_1()); }
+
+ 'domain'
+
+{ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getDomainKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimitiveTypeDomainCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimitiveTypeDomainCS__Group__2__Impl
+ rule__PrimitiveTypeDomainCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimitiveTypeDomainCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getNameAssignment_2()); }
+(rule__PrimitiveTypeDomainCS__NameAssignment_2)
+{ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getNameAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimitiveTypeDomainCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimitiveTypeDomainCS__Group__3__Impl
+ rule__PrimitiveTypeDomainCS__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimitiveTypeDomainCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getColonKeyword_3()); }
+
+ ':'
+
+{ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getColonKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimitiveTypeDomainCS__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimitiveTypeDomainCS__Group__4__Impl
+ rule__PrimitiveTypeDomainCS__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimitiveTypeDomainCS__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getTypeAssignment_4()); }
+(rule__PrimitiveTypeDomainCS__TypeAssignment_4)
+{ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getTypeAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimitiveTypeDomainCS__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimitiveTypeDomainCS__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimitiveTypeDomainCS__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getSemicolonKeyword_5()); }
+
+ ';'
+
+{ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getSemicolonKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__TemplateCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TemplateCS__Group__0__Impl
+ rule__TemplateCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TemplateCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTemplateCSAccess().getAlternatives_0()); }
+(rule__TemplateCS__Alternatives_0)
+{ after(grammarAccess.getTemplateCSAccess().getAlternatives_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TemplateCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TemplateCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TemplateCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTemplateCSAccess().getGroup_1()); }
+(rule__TemplateCS__Group_1__0)?
+{ after(grammarAccess.getTemplateCSAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__TemplateCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TemplateCS__Group_1__0__Impl
+ rule__TemplateCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TemplateCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTemplateCSAccess().getLeftCurlyBracketKeyword_1_0()); }
+
+ '{'
+
+{ after(grammarAccess.getTemplateCSAccess().getLeftCurlyBracketKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TemplateCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TemplateCS__Group_1__1__Impl
+ rule__TemplateCS__Group_1__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TemplateCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTemplateCSAccess().getGuardExpressionAssignment_1_1()); }
+(rule__TemplateCS__GuardExpressionAssignment_1_1)
+{ after(grammarAccess.getTemplateCSAccess().getGuardExpressionAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TemplateCS__Group_1__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TemplateCS__Group_1__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TemplateCS__Group_1__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTemplateCSAccess().getRightCurlyBracketKeyword_1_2()); }
+
+ '}'
+
+{ after(grammarAccess.getTemplateCSAccess().getRightCurlyBracketKeyword_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__ObjectTemplateCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ObjectTemplateCS__Group__0__Impl
+ rule__ObjectTemplateCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ObjectTemplateCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getPropertyIdAssignment_0()); }
+(rule__ObjectTemplateCS__PropertyIdAssignment_0)?
+{ after(grammarAccess.getObjectTemplateCSAccess().getPropertyIdAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ObjectTemplateCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ObjectTemplateCS__Group__1__Impl
+ rule__ObjectTemplateCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ObjectTemplateCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getColonKeyword_1()); }
+
+ ':'
+
+{ after(grammarAccess.getObjectTemplateCSAccess().getColonKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ObjectTemplateCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ObjectTemplateCS__Group__2__Impl
+ rule__ObjectTemplateCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ObjectTemplateCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getTypeAssignment_2()); }
+(rule__ObjectTemplateCS__TypeAssignment_2)
+{ after(grammarAccess.getObjectTemplateCSAccess().getTypeAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ObjectTemplateCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ObjectTemplateCS__Group__3__Impl
+ rule__ObjectTemplateCS__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ObjectTemplateCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getLeftCurlyBracketKeyword_3()); }
+
+ '{'
+
+{ after(grammarAccess.getObjectTemplateCSAccess().getLeftCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ObjectTemplateCS__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ObjectTemplateCS__Group__4__Impl
+ rule__ObjectTemplateCS__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ObjectTemplateCS__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getGroup_4()); }
+(rule__ObjectTemplateCS__Group_4__0)?
+{ after(grammarAccess.getObjectTemplateCSAccess().getGroup_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ObjectTemplateCS__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ObjectTemplateCS__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ObjectTemplateCS__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getObjectTemplateCSAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ObjectTemplateCS__Group_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ObjectTemplateCS__Group_4__0__Impl
+ rule__ObjectTemplateCS__Group_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ObjectTemplateCS__Group_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplateAssignment_4_0()); }
+(rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0)
+{ after(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplateAssignment_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ObjectTemplateCS__Group_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ObjectTemplateCS__Group_4__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ObjectTemplateCS__Group_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getGroup_4_1()); }
+(rule__ObjectTemplateCS__Group_4_1__0)*
+{ after(grammarAccess.getObjectTemplateCSAccess().getGroup_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ObjectTemplateCS__Group_4_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ObjectTemplateCS__Group_4_1__0__Impl
+ rule__ObjectTemplateCS__Group_4_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ObjectTemplateCS__Group_4_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getCommaKeyword_4_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getObjectTemplateCSAccess().getCommaKeyword_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ObjectTemplateCS__Group_4_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ObjectTemplateCS__Group_4_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ObjectTemplateCS__Group_4_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplateAssignment_4_1_1()); }
+(rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1)
+{ after(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplateAssignment_4_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__PropertyTemplateCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PropertyTemplateCS__Group__0__Impl
+ rule__PropertyTemplateCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PropertyTemplateCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdAssignment_0()); }
+(rule__PropertyTemplateCS__PropertyIdAssignment_0)
+{ after(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PropertyTemplateCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PropertyTemplateCS__Group__1__Impl
+ rule__PropertyTemplateCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PropertyTemplateCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPropertyTemplateCSAccess().getEqualsSignKeyword_1()); }
+
+ '='
+
+{ after(grammarAccess.getPropertyTemplateCSAccess().getEqualsSignKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PropertyTemplateCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PropertyTemplateCS__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PropertyTemplateCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPropertyTemplateCSAccess().getOclExpressionAssignment_2()); }
+(rule__PropertyTemplateCS__OclExpressionAssignment_2)
+{ after(grammarAccess.getPropertyTemplateCSAccess().getOclExpressionAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__CollectionTemplateCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTemplateCS__Group__0__Impl
+ rule__CollectionTemplateCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdAssignment_0()); }
+(rule__CollectionTemplateCS__PropertyIdAssignment_0)?
+{ after(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionTemplateCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTemplateCS__Group__1__Impl
+ rule__CollectionTemplateCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getColonKeyword_1()); }
+
+ ':'
+
+{ after(grammarAccess.getCollectionTemplateCSAccess().getColonKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionTemplateCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTemplateCS__Group__2__Impl
+ rule__CollectionTemplateCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getTypeAssignment_2()); }
+(rule__CollectionTemplateCS__TypeAssignment_2)
+{ after(grammarAccess.getCollectionTemplateCSAccess().getTypeAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionTemplateCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTemplateCS__Group__3__Impl
+ rule__CollectionTemplateCS__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getLeftCurlyBracketKeyword_3()); }
+
+ '{'
+
+{ after(grammarAccess.getCollectionTemplateCSAccess().getLeftCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionTemplateCS__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTemplateCS__Group__4__Impl
+ rule__CollectionTemplateCS__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getGroup_4()); }
+(rule__CollectionTemplateCS__Group_4__0)?
+{ after(grammarAccess.getCollectionTemplateCSAccess().getGroup_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionTemplateCS__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTemplateCS__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getCollectionTemplateCSAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__CollectionTemplateCS__Group_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTemplateCS__Group_4__0__Impl
+ rule__CollectionTemplateCS__Group_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__Group_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAssignment_4_0()); }
+(rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0)
+{ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAssignment_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionTemplateCS__Group_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTemplateCS__Group_4__1__Impl
+ rule__CollectionTemplateCS__Group_4__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__Group_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getGroup_4_1()); }
+(rule__CollectionTemplateCS__Group_4_1__0)*
+{ after(grammarAccess.getCollectionTemplateCSAccess().getGroup_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionTemplateCS__Group_4__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTemplateCS__Group_4__2__Impl
+ rule__CollectionTemplateCS__Group_4__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__Group_4__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getPlusSignPlusSignKeyword_4_2()); }
+
+ '++'
+
+{ after(grammarAccess.getCollectionTemplateCSAccess().getPlusSignPlusSignKeyword_4_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionTemplateCS__Group_4__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTemplateCS__Group_4__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__Group_4__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAssignment_4_3()); }
+(rule__CollectionTemplateCS__RestIdentifierAssignment_4_3)?
+{ after(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAssignment_4_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__CollectionTemplateCS__Group_4_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTemplateCS__Group_4_1__0__Impl
+ rule__CollectionTemplateCS__Group_4_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__Group_4_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getCommaKeyword_4_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getCollectionTemplateCSAccess().getCommaKeyword_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionTemplateCS__Group_4_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTemplateCS__Group_4_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__Group_4_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAssignment_4_1_1()); }
+(rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1)
+{ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAssignment_4_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__AnyElementCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__AnyElementCS__Group__0__Impl
+ rule__AnyElementCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AnyElementCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAnyElementCSAccess().getAnyElementCSAction_0()); }
+(
+
+)
+{ after(grammarAccess.getAnyElementCSAccess().getAnyElementCSAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__AnyElementCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__AnyElementCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AnyElementCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAnyElementCSAccess().get_Keyword_1()); }
+
+ '_'
+
+{ after(grammarAccess.getAnyElementCSAccess().get_Keyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__DefaultValueCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DefaultValueCS__Group__0__Impl
+ rule__DefaultValueCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DefaultValueCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefaultValueCSAccess().getPropertyIdAssignment_0()); }
+(rule__DefaultValueCS__PropertyIdAssignment_0)
+{ after(grammarAccess.getDefaultValueCSAccess().getPropertyIdAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DefaultValueCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DefaultValueCS__Group__1__Impl
+ rule__DefaultValueCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DefaultValueCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefaultValueCSAccess().getEqualsSignKeyword_1()); }
+
+ '='
+
+{ after(grammarAccess.getDefaultValueCSAccess().getEqualsSignKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DefaultValueCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DefaultValueCS__Group__2__Impl
+ rule__DefaultValueCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DefaultValueCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefaultValueCSAccess().getInitialiserAssignment_2()); }
+(rule__DefaultValueCS__InitialiserAssignment_2)
+{ after(grammarAccess.getDefaultValueCSAccess().getInitialiserAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DefaultValueCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DefaultValueCS__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DefaultValueCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefaultValueCSAccess().getSemicolonKeyword_3()); }
+
+ ';'
+
+{ after(grammarAccess.getDefaultValueCSAccess().getSemicolonKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__QueryCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group__0__Impl
+ rule__QueryCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getQueryKeyword_0()); }
+
+ 'query'
+
+{ after(grammarAccess.getQueryCSAccess().getQueryKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QueryCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group__1__Impl
+ rule__QueryCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getPathNameAssignment_1()); }
+(rule__QueryCS__PathNameAssignment_1)
+{ after(grammarAccess.getQueryCSAccess().getPathNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QueryCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group__2__Impl
+ rule__QueryCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getLeftParenthesisKeyword_2()); }
+
+ '('
+
+{ after(grammarAccess.getQueryCSAccess().getLeftParenthesisKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QueryCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group__3__Impl
+ rule__QueryCS__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getGroup_3()); }
+(rule__QueryCS__Group_3__0)?
+{ after(grammarAccess.getQueryCSAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QueryCS__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group__4__Impl
+ rule__QueryCS__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getRightParenthesisKeyword_4()); }
+
+ ')'
+
+{ after(grammarAccess.getQueryCSAccess().getRightParenthesisKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QueryCS__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group__5__Impl
+ rule__QueryCS__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getColonKeyword_5()); }
+
+ ':'
+
+{ after(grammarAccess.getQueryCSAccess().getColonKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QueryCS__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group__6__Impl
+ rule__QueryCS__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getTypeAssignment_6()); }
+(rule__QueryCS__TypeAssignment_6)
+{ after(grammarAccess.getQueryCSAccess().getTypeAssignment_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QueryCS__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group__7__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getAlternatives_7()); }
+(rule__QueryCS__Alternatives_7)
+{ after(grammarAccess.getQueryCSAccess().getAlternatives_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__QueryCS__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group_3__0__Impl
+ rule__QueryCS__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getInputParamDeclarationAssignment_3_0()); }
+(rule__QueryCS__InputParamDeclarationAssignment_3_0)
+{ after(grammarAccess.getQueryCSAccess().getInputParamDeclarationAssignment_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QueryCS__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getGroup_3_1()); }
+(rule__QueryCS__Group_3_1__0)*
+{ after(grammarAccess.getQueryCSAccess().getGroup_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__QueryCS__Group_3_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group_3_1__0__Impl
+ rule__QueryCS__Group_3_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group_3_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getCommaKeyword_3_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getQueryCSAccess().getCommaKeyword_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QueryCS__Group_3_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group_3_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group_3_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getInputParamDeclarationAssignment_3_1_1()); }
+(rule__QueryCS__InputParamDeclarationAssignment_3_1_1)
+{ after(grammarAccess.getQueryCSAccess().getInputParamDeclarationAssignment_3_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__QueryCS__Group_7_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group_7_1__0__Impl
+ rule__QueryCS__Group_7_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group_7_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getLeftCurlyBracketKeyword_7_1_0()); }
+
+ '{'
+
+{ after(grammarAccess.getQueryCSAccess().getLeftCurlyBracketKeyword_7_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QueryCS__Group_7_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group_7_1__1__Impl
+ rule__QueryCS__Group_7_1__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group_7_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getOclExpressionAssignment_7_1_1()); }
+(rule__QueryCS__OclExpressionAssignment_7_1_1)
+{ after(grammarAccess.getQueryCSAccess().getOclExpressionAssignment_7_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__QueryCS__Group_7_1__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__QueryCS__Group_7_1__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__Group_7_1__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getRightCurlyBracketKeyword_7_1_2()); }
+
+ '}'
+
+{ after(grammarAccess.getQueryCSAccess().getRightCurlyBracketKeyword_7_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__ParamDeclarationCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ParamDeclarationCS__Group__0__Impl
+ rule__ParamDeclarationCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ParamDeclarationCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getParamDeclarationCSAccess().getNameAssignment_0()); }
+(rule__ParamDeclarationCS__NameAssignment_0)
+{ after(grammarAccess.getParamDeclarationCSAccess().getNameAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ParamDeclarationCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ParamDeclarationCS__Group__1__Impl
+ rule__ParamDeclarationCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ParamDeclarationCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getParamDeclarationCSAccess().getColonKeyword_1()); }
+
+ ':'
+
+{ after(grammarAccess.getParamDeclarationCSAccess().getColonKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ParamDeclarationCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ParamDeclarationCS__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ParamDeclarationCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getParamDeclarationCSAccess().getTypeAssignment_2()); }
+(rule__ParamDeclarationCS__TypeAssignment_2)
+{ after(grammarAccess.getParamDeclarationCSAccess().getTypeAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__NUMBER_LITERAL__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NUMBER_LITERAL__Group__0__Impl
+ rule__NUMBER_LITERAL__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NUMBER_LITERAL__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_0()); }
+ RULE_INT
+{ after(grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NUMBER_LITERAL__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NUMBER_LITERAL__Group__1__Impl
+ rule__NUMBER_LITERAL__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NUMBER_LITERAL__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNUMBER_LITERALAccess().getGroup_1()); }
+(rule__NUMBER_LITERAL__Group_1__0)?
+{ after(grammarAccess.getNUMBER_LITERALAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NUMBER_LITERAL__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NUMBER_LITERAL__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NUMBER_LITERAL__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNUMBER_LITERALAccess().getGroup_2()); }
+(rule__NUMBER_LITERAL__Group_2__0)?
+{ after(grammarAccess.getNUMBER_LITERALAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__NUMBER_LITERAL__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NUMBER_LITERAL__Group_1__0__Impl
+ rule__NUMBER_LITERAL__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NUMBER_LITERAL__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNUMBER_LITERALAccess().getFullStopKeyword_1_0()); }
+
+ '.'
+
+{ after(grammarAccess.getNUMBER_LITERALAccess().getFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NUMBER_LITERAL__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NUMBER_LITERAL__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NUMBER_LITERAL__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_1_1()); }
+ RULE_INT
+{ after(grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__NUMBER_LITERAL__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NUMBER_LITERAL__Group_2__0__Impl
+ rule__NUMBER_LITERAL__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NUMBER_LITERAL__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNUMBER_LITERALAccess().getAlternatives_2_0()); }
+(rule__NUMBER_LITERAL__Alternatives_2_0)
+{ after(grammarAccess.getNUMBER_LITERALAccess().getAlternatives_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NUMBER_LITERAL__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NUMBER_LITERAL__Group_2__1__Impl
+ rule__NUMBER_LITERAL__Group_2__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NUMBER_LITERAL__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNUMBER_LITERALAccess().getAlternatives_2_1()); }
+(rule__NUMBER_LITERAL__Alternatives_2_1)?
+{ after(grammarAccess.getNUMBER_LITERALAccess().getAlternatives_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NUMBER_LITERAL__Group_2__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NUMBER_LITERAL__Group_2__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NUMBER_LITERAL__Group_2__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_2_2()); }
+ RULE_INT
+{ after(grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_2_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__PathNameCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PathNameCS__Group__0__Impl
+ rule__PathNameCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PathNameCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPathNameCSAccess().getPathAssignment_0()); }
+(rule__PathNameCS__PathAssignment_0)
+{ after(grammarAccess.getPathNameCSAccess().getPathAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PathNameCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PathNameCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PathNameCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPathNameCSAccess().getGroup_1()); }
+(rule__PathNameCS__Group_1__0)*
+{ after(grammarAccess.getPathNameCSAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__PathNameCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PathNameCS__Group_1__0__Impl
+ rule__PathNameCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PathNameCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0()); }
+
+ '::'
+
+{ after(grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PathNameCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PathNameCS__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PathNameCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPathNameCSAccess().getPathAssignment_1_1()); }
+(rule__PathNameCS__PathAssignment_1_1)
+{ after(grammarAccess.getPathNameCSAccess().getPathAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__CollectionTypeCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTypeCS__Group__0__Impl
+ rule__CollectionTypeCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTypeCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTypeCSAccess().getNameAssignment_0()); }
+(rule__CollectionTypeCS__NameAssignment_0)
+{ after(grammarAccess.getCollectionTypeCSAccess().getNameAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionTypeCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTypeCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTypeCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTypeCSAccess().getGroup_1()); }
+(rule__CollectionTypeCS__Group_1__0)?
+{ after(grammarAccess.getCollectionTypeCSAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__CollectionTypeCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTypeCS__Group_1__0__Impl
+ rule__CollectionTypeCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTypeCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTypeCSAccess().getLeftParenthesisKeyword_1_0()); }
+
+ '('
+
+{ after(grammarAccess.getCollectionTypeCSAccess().getLeftParenthesisKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionTypeCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTypeCS__Group_1__1__Impl
+ rule__CollectionTypeCS__Group_1__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTypeCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeAssignment_1_1()); }
+(rule__CollectionTypeCS__OwnedTypeAssignment_1_1)
+{ after(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionTypeCS__Group_1__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionTypeCS__Group_1__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTypeCS__Group_1__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTypeCSAccess().getRightParenthesisKeyword_1_2()); }
+
+ ')'
+
+{ after(grammarAccess.getCollectionTypeCSAccess().getRightParenthesisKeyword_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__MultiplicityBoundsCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MultiplicityBoundsCS__Group__0__Impl
+ rule__MultiplicityBoundsCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MultiplicityBoundsCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundAssignment_0()); }
+(rule__MultiplicityBoundsCS__LowerBoundAssignment_0)
+{ after(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MultiplicityBoundsCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MultiplicityBoundsCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MultiplicityBoundsCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicityBoundsCSAccess().getGroup_1()); }
+(rule__MultiplicityBoundsCS__Group_1__0)?
+{ after(grammarAccess.getMultiplicityBoundsCSAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__MultiplicityBoundsCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MultiplicityBoundsCS__Group_1__0__Impl
+ rule__MultiplicityBoundsCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MultiplicityBoundsCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicityBoundsCSAccess().getFullStopFullStopKeyword_1_0()); }
+
+ '..'
+
+{ after(grammarAccess.getMultiplicityBoundsCSAccess().getFullStopFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MultiplicityBoundsCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MultiplicityBoundsCS__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MultiplicityBoundsCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundAssignment_1_1()); }
+(rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1)
+{ after(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__MultiplicityCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MultiplicityCS__Group__0__Impl
+ rule__MultiplicityCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MultiplicityCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0()); }
+
+ '['
+
+{ after(grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MultiplicityCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MultiplicityCS__Group__1__Impl
+ rule__MultiplicityCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MultiplicityCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicityCSAccess().getAlternatives_1()); }
+(rule__MultiplicityCS__Alternatives_1)
+{ after(grammarAccess.getMultiplicityCSAccess().getAlternatives_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MultiplicityCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MultiplicityCS__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MultiplicityCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicityCSAccess().getRightSquareBracketKeyword_2()); }
+
+ ']'
+
+{ after(grammarAccess.getMultiplicityCSAccess().getRightSquareBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__TupleTypeCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleTypeCS__Group__0__Impl
+ rule__TupleTypeCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleTypeCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleTypeCSAccess().getNameAssignment_0()); }
+(rule__TupleTypeCS__NameAssignment_0)
+{ after(grammarAccess.getTupleTypeCSAccess().getNameAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TupleTypeCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleTypeCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleTypeCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleTypeCSAccess().getGroup_1()); }
+(rule__TupleTypeCS__Group_1__0)?
+{ after(grammarAccess.getTupleTypeCSAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__TupleTypeCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleTypeCS__Group_1__0__Impl
+ rule__TupleTypeCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleTypeCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleTypeCSAccess().getLeftParenthesisKeyword_1_0()); }
+
+ '('
+
+{ after(grammarAccess.getTupleTypeCSAccess().getLeftParenthesisKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TupleTypeCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleTypeCS__Group_1__1__Impl
+ rule__TupleTypeCS__Group_1__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleTypeCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleTypeCSAccess().getGroup_1_1()); }
+(rule__TupleTypeCS__Group_1_1__0)?
+{ after(grammarAccess.getTupleTypeCSAccess().getGroup_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TupleTypeCS__Group_1__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleTypeCS__Group_1__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleTypeCS__Group_1__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleTypeCSAccess().getRightParenthesisKeyword_1_2()); }
+
+ ')'
+
+{ after(grammarAccess.getTupleTypeCSAccess().getRightParenthesisKeyword_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__TupleTypeCS__Group_1_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleTypeCS__Group_1_1__0__Impl
+ rule__TupleTypeCS__Group_1_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleTypeCS__Group_1_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleTypeCSAccess().getOwnedPartsAssignment_1_1_0()); }
+(rule__TupleTypeCS__OwnedPartsAssignment_1_1_0)
+{ after(grammarAccess.getTupleTypeCSAccess().getOwnedPartsAssignment_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TupleTypeCS__Group_1_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleTypeCS__Group_1_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleTypeCS__Group_1_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleTypeCSAccess().getGroup_1_1_1()); }
+(rule__TupleTypeCS__Group_1_1_1__0)*
+{ after(grammarAccess.getTupleTypeCSAccess().getGroup_1_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__TupleTypeCS__Group_1_1_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleTypeCS__Group_1_1_1__0__Impl
+ rule__TupleTypeCS__Group_1_1_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleTypeCS__Group_1_1_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleTypeCSAccess().getCommaKeyword_1_1_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getTupleTypeCSAccess().getCommaKeyword_1_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TupleTypeCS__Group_1_1_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleTypeCS__Group_1_1_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleTypeCS__Group_1_1_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleTypeCSAccess().getOwnedPartsAssignment_1_1_1_1()); }
+(rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1)
+{ after(grammarAccess.getTupleTypeCSAccess().getOwnedPartsAssignment_1_1_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__TuplePartCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TuplePartCS__Group__0__Impl
+ rule__TuplePartCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TuplePartCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTuplePartCSAccess().getNameAssignment_0()); }
+(rule__TuplePartCS__NameAssignment_0)
+{ after(grammarAccess.getTuplePartCSAccess().getNameAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TuplePartCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TuplePartCS__Group__1__Impl
+ rule__TuplePartCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TuplePartCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTuplePartCSAccess().getColonKeyword_1()); }
+
+ ':'
+
+{ after(grammarAccess.getTuplePartCSAccess().getColonKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TuplePartCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TuplePartCS__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TuplePartCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTuplePartCSAccess().getOwnedTypeAssignment_2()); }
+(rule__TuplePartCS__OwnedTypeAssignment_2)
+{ after(grammarAccess.getTuplePartCSAccess().getOwnedTypeAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__CollectionLiteralExpCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionLiteralExpCS__Group__0__Impl
+ rule__CollectionLiteralExpCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralExpCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeAssignment_0()); }
+(rule__CollectionLiteralExpCS__OwnedTypeAssignment_0)
+{ after(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionLiteralExpCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionLiteralExpCS__Group__1__Impl
+ rule__CollectionLiteralExpCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralExpCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); }
+
+ '{'
+
+{ after(grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionLiteralExpCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionLiteralExpCS__Group__2__Impl
+ rule__CollectionLiteralExpCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralExpCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralExpCSAccess().getGroup_2()); }
+(rule__CollectionLiteralExpCS__Group_2__0)?
+{ after(grammarAccess.getCollectionLiteralExpCSAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionLiteralExpCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionLiteralExpCS__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralExpCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralExpCSAccess().getRightCurlyBracketKeyword_3()); }
+
+ '}'
+
+{ after(grammarAccess.getCollectionLiteralExpCSAccess().getRightCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__CollectionLiteralExpCS__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionLiteralExpCS__Group_2__0__Impl
+ rule__CollectionLiteralExpCS__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralExpCS__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsAssignment_2_0()); }
+(rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0)
+{ after(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsAssignment_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionLiteralExpCS__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionLiteralExpCS__Group_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralExpCS__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralExpCSAccess().getGroup_2_1()); }
+(rule__CollectionLiteralExpCS__Group_2_1__0)*
+{ after(grammarAccess.getCollectionLiteralExpCSAccess().getGroup_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__CollectionLiteralExpCS__Group_2_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionLiteralExpCS__Group_2_1__0__Impl
+ rule__CollectionLiteralExpCS__Group_2_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralExpCS__Group_2_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralExpCSAccess().getCommaKeyword_2_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getCollectionLiteralExpCSAccess().getCommaKeyword_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionLiteralExpCS__Group_2_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionLiteralExpCS__Group_2_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralExpCS__Group_2_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsAssignment_2_1_1()); }
+(rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1)
+{ after(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsAssignment_2_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__CollectionLiteralPartCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionLiteralPartCS__Group__0__Impl
+ rule__CollectionLiteralPartCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralPartCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralPartCSAccess().getExpressionCSAssignment_0()); }
+(rule__CollectionLiteralPartCS__ExpressionCSAssignment_0)
+{ after(grammarAccess.getCollectionLiteralPartCSAccess().getExpressionCSAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionLiteralPartCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionLiteralPartCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralPartCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralPartCSAccess().getGroup_1()); }
+(rule__CollectionLiteralPartCS__Group_1__0)?
+{ after(grammarAccess.getCollectionLiteralPartCSAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__CollectionLiteralPartCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionLiteralPartCS__Group_1__0__Impl
+ rule__CollectionLiteralPartCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralPartCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_1_0()); }
+
+ '..'
+
+{ after(grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CollectionLiteralPartCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CollectionLiteralPartCS__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralPartCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralPartCSAccess().getLastExpressionCSAssignment_1_1()); }
+(rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1)
+{ after(grammarAccess.getCollectionLiteralPartCSAccess().getLastExpressionCSAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ConstructorPartCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ConstructorPartCS__Group__0__Impl
+ rule__ConstructorPartCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ConstructorPartCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getConstructorPartCSAccess().getPropertyAssignment_0()); }
+(rule__ConstructorPartCS__PropertyAssignment_0)
+{ after(grammarAccess.getConstructorPartCSAccess().getPropertyAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ConstructorPartCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ConstructorPartCS__Group__1__Impl
+ rule__ConstructorPartCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ConstructorPartCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getConstructorPartCSAccess().getEqualsSignKeyword_1()); }
+
+ '='
+
+{ after(grammarAccess.getConstructorPartCSAccess().getEqualsSignKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ConstructorPartCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ConstructorPartCS__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ConstructorPartCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getConstructorPartCSAccess().getInitExpressionAssignment_2()); }
+(rule__ConstructorPartCS__InitExpressionAssignment_2)
+{ after(grammarAccess.getConstructorPartCSAccess().getInitExpressionAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__TupleLiteralExpCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleLiteralExpCS__Group__0__Impl
+ rule__TupleLiteralExpCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralExpCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralExpCSAccess().getTupleKeyword_0()); }
+
+ 'Tuple'
+
+{ after(grammarAccess.getTupleLiteralExpCSAccess().getTupleKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TupleLiteralExpCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleLiteralExpCS__Group__1__Impl
+ rule__TupleLiteralExpCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralExpCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); }
+
+ '{'
+
+{ after(grammarAccess.getTupleLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TupleLiteralExpCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleLiteralExpCS__Group__2__Impl
+ rule__TupleLiteralExpCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralExpCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsAssignment_2()); }
+(rule__TupleLiteralExpCS__OwnedPartsAssignment_2)
+{ after(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TupleLiteralExpCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleLiteralExpCS__Group__3__Impl
+ rule__TupleLiteralExpCS__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralExpCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralExpCSAccess().getGroup_3()); }
+(rule__TupleLiteralExpCS__Group_3__0)*
+{ after(grammarAccess.getTupleLiteralExpCSAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TupleLiteralExpCS__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleLiteralExpCS__Group__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralExpCS__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralExpCSAccess().getRightCurlyBracketKeyword_4()); }
+
+ '}'
+
+{ after(grammarAccess.getTupleLiteralExpCSAccess().getRightCurlyBracketKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__TupleLiteralExpCS__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleLiteralExpCS__Group_3__0__Impl
+ rule__TupleLiteralExpCS__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralExpCS__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralExpCSAccess().getCommaKeyword_3_0()); }
+
+ ','
+
+{ after(grammarAccess.getTupleLiteralExpCSAccess().getCommaKeyword_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TupleLiteralExpCS__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleLiteralExpCS__Group_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralExpCS__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsAssignment_3_1()); }
+(rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1)
+{ after(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsAssignment_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__TupleLiteralPartCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleLiteralPartCS__Group__0__Impl
+ rule__TupleLiteralPartCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralPartCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralPartCSAccess().getNameAssignment_0()); }
+(rule__TupleLiteralPartCS__NameAssignment_0)
+{ after(grammarAccess.getTupleLiteralPartCSAccess().getNameAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TupleLiteralPartCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleLiteralPartCS__Group__1__Impl
+ rule__TupleLiteralPartCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralPartCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralPartCSAccess().getGroup_1()); }
+(rule__TupleLiteralPartCS__Group_1__0)?
+{ after(grammarAccess.getTupleLiteralPartCSAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TupleLiteralPartCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleLiteralPartCS__Group__2__Impl
+ rule__TupleLiteralPartCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralPartCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralPartCSAccess().getEqualsSignKeyword_2()); }
+
+ '='
+
+{ after(grammarAccess.getTupleLiteralPartCSAccess().getEqualsSignKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TupleLiteralPartCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleLiteralPartCS__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralPartCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralPartCSAccess().getInitExpressionAssignment_3()); }
+(rule__TupleLiteralPartCS__InitExpressionAssignment_3)
+{ after(grammarAccess.getTupleLiteralPartCSAccess().getInitExpressionAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__TupleLiteralPartCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleLiteralPartCS__Group_1__0__Impl
+ rule__TupleLiteralPartCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralPartCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralPartCSAccess().getColonKeyword_1_0()); }
+
+ ':'
+
+{ after(grammarAccess.getTupleLiteralPartCSAccess().getColonKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TupleLiteralPartCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TupleLiteralPartCS__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralPartCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeAssignment_1_1()); }
+(rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1)
+{ after(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__UnlimitedNaturalLiteralExpCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl
+ rule__UnlimitedNaturalLiteralExpCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0()); }
+(
+
+)
+{ after(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__UnlimitedNaturalLiteralExpCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getAsteriskKeyword_1()); }
+
+ '*'
+
+{ after(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getAsteriskKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__InvalidLiteralExpCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__InvalidLiteralExpCS__Group__0__Impl
+ rule__InvalidLiteralExpCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InvalidLiteralExpCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0()); }
+(
+
+)
+{ after(grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__InvalidLiteralExpCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__InvalidLiteralExpCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InvalidLiteralExpCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInvalidLiteralExpCSAccess().getInvalidKeyword_1()); }
+
+ 'invalid'
+
+{ after(grammarAccess.getInvalidLiteralExpCSAccess().getInvalidKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__NullLiteralExpCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NullLiteralExpCS__Group__0__Impl
+ rule__NullLiteralExpCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NullLiteralExpCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0()); }
+(
+
+)
+{ after(grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NullLiteralExpCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NullLiteralExpCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NullLiteralExpCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNullLiteralExpCSAccess().getNullKeyword_1()); }
+
+ 'null'
+
+{ after(grammarAccess.getNullLiteralExpCSAccess().getNullKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__TypeExpCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TypeExpCS__Group__0__Impl
+ rule__TypeExpCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypeExpCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypeExpCSAccess().getAlternatives_0()); }
+(rule__TypeExpCS__Alternatives_0)
+{ after(grammarAccess.getTypeExpCSAccess().getAlternatives_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TypeExpCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TypeExpCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypeExpCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypeExpCSAccess().getMultiplicityAssignment_1()); }
+(rule__TypeExpCS__MultiplicityAssignment_1)?
+{ after(grammarAccess.getTypeExpCSAccess().getMultiplicityAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ExpCS__Group_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExpCS__Group_0__0__Impl
+ rule__ExpCS__Group_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExpCS__Group_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExpCSAccess().getInfixExpCSAction_0_0()); }
+(
+
+)
+{ after(grammarAccess.getExpCSAccess().getInfixExpCSAction_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ExpCS__Group_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExpCS__Group_0__1__Impl
+ rule__ExpCS__Group_0__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExpCS__Group_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getExpCSAccess().getGroup_0_1()); }
+(rule__ExpCS__Group_0_1__0)
+{ after(grammarAccess.getExpCSAccess().getGroup_0_1()); }
+)
+(
+{ before(grammarAccess.getExpCSAccess().getGroup_0_1()); }
+(rule__ExpCS__Group_0_1__0)*
+{ after(grammarAccess.getExpCSAccess().getGroup_0_1()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ExpCS__Group_0__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExpCS__Group_0__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExpCS__Group_0__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_0_2()); }
+(rule__ExpCS__OwnedExpressionAssignment_0_2)
+{ after(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__ExpCS__Group_0_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExpCS__Group_0_1__0__Impl
+ rule__ExpCS__Group_0_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExpCS__Group_0_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_0_1_0()); }
+(rule__ExpCS__OwnedExpressionAssignment_0_1_0)
+{ after(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ExpCS__Group_0_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExpCS__Group_0_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExpCS__Group_0_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_0_1_1()); }
+(rule__ExpCS__OwnedOperatorAssignment_0_1_1)
+{ after(grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_0_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ExpCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExpCS__Group_1__0__Impl
+ rule__ExpCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExpCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExpCSAccess().getPrefixExpCSAction_1_0()); }
+(
+
+)
+{ after(grammarAccess.getExpCSAccess().getPrefixExpCSAction_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ExpCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExpCS__Group_1__1__Impl
+ rule__ExpCS__Group_1__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExpCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_1_1()); }
+(rule__ExpCS__OwnedOperatorAssignment_1_1)
+{ after(grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_1_1()); }
+)
+(
+{ before(grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_1_1()); }
+(rule__ExpCS__OwnedOperatorAssignment_1_1)*
+{ after(grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_1_1()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ExpCS__Group_1__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExpCS__Group_1__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExpCS__Group_1__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_1_2()); }
+(rule__ExpCS__OwnedExpressionAssignment_1_2)
+{ after(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__PrefixedExpCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrefixedExpCS__Group_1__0__Impl
+ rule__PrefixedExpCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrefixedExpCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrefixedExpCSAccess().getPrefixExpCSAction_1_0()); }
+(
+
+)
+{ after(grammarAccess.getPrefixedExpCSAccess().getPrefixExpCSAction_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrefixedExpCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrefixedExpCS__Group_1__1__Impl
+ rule__PrefixedExpCS__Group_1__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrefixedExpCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorAssignment_1_1()); }
+(rule__PrefixedExpCS__OwnedOperatorAssignment_1_1)
+{ after(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorAssignment_1_1()); }
+)
+(
+{ before(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorAssignment_1_1()); }
+(rule__PrefixedExpCS__OwnedOperatorAssignment_1_1)*
+{ after(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorAssignment_1_1()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrefixedExpCS__Group_1__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrefixedExpCS__Group_1__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrefixedExpCS__Group_1__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrefixedExpCSAccess().getOwnedExpressionAssignment_1_2()); }
+(rule__PrefixedExpCS__OwnedExpressionAssignment_1_2)
+{ after(grammarAccess.getPrefixedExpCSAccess().getOwnedExpressionAssignment_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__PrefixedExpOrLetExpCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrefixedExpOrLetExpCS__Group_1__0__Impl
+ rule__PrefixedExpOrLetExpCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrefixedExpOrLetExpCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrefixExpCSAction_1_0()); }
+(
+
+)
+{ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrefixExpCSAction_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrefixedExpOrLetExpCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrefixedExpOrLetExpCS__Group_1__1__Impl
+ rule__PrefixedExpOrLetExpCS__Group_1__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrefixedExpOrLetExpCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorAssignment_1_1()); }
+(rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1)
+{ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorAssignment_1_1()); }
+)
+(
+{ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorAssignment_1_1()); }
+(rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1)*
+{ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorAssignment_1_1()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrefixedExpOrLetExpCS__Group_1__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrefixedExpOrLetExpCS__Group_1__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrefixedExpOrLetExpCS__Group_1__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedExpressionAssignment_1_2()); }
+(rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2)
+{ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedExpressionAssignment_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__PrimaryExpCS__Group_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0__0__Impl
+ rule__PrimaryExpCS__Group_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0()); }
+(
+
+)
+{ after(grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0__1__Impl
+ rule__PrimaryExpCS__Group_0__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_0_1()); }
+(rule__PrimaryExpCS__PathNameAssignment_0_1)
+{ after(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_0__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0__2__Impl
+ rule__PrimaryExpCS__Group_0__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getLeftSquareBracketKeyword_0_2()); }
+
+ '['
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getLeftSquareBracketKeyword_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_0__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0__3__Impl
+ rule__PrimaryExpCS__Group_0__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesAssignment_0_3()); }
+(rule__PrimaryExpCS__FirstIndexesAssignment_0_3)
+{ after(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesAssignment_0_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_0__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0__4__Impl
+ rule__PrimaryExpCS__Group_0__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getGroup_0_4()); }
+(rule__PrimaryExpCS__Group_0_4__0)*
+{ after(grammarAccess.getPrimaryExpCSAccess().getGroup_0_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_0__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0__5__Impl
+ rule__PrimaryExpCS__Group_0__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getRightSquareBracketKeyword_0_5()); }
+
+ ']'
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getRightSquareBracketKeyword_0_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_0__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0__6__Impl
+ rule__PrimaryExpCS__Group_0__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getGroup_0_6()); }
+(rule__PrimaryExpCS__Group_0_6__0)?
+{ after(grammarAccess.getPrimaryExpCSAccess().getGroup_0_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_0__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0__7__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getGroup_0_7()); }
+(rule__PrimaryExpCS__Group_0_7__0)?
+{ after(grammarAccess.getPrimaryExpCSAccess().getGroup_0_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__PrimaryExpCS__Group_0_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0_4__0__Impl
+ rule__PrimaryExpCS__Group_0_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_0_4_0()); }
+
+ ','
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_0_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_0_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0_4__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesAssignment_0_4_1()); }
+(rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1)
+{ after(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesAssignment_0_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__PrimaryExpCS__Group_0_6__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0_6__0__Impl
+ rule__PrimaryExpCS__Group_0_6__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0_6__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getLeftSquareBracketKeyword_0_6_0()); }
+
+ '['
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getLeftSquareBracketKeyword_0_6_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_0_6__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0_6__1__Impl
+ rule__PrimaryExpCS__Group_0_6__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0_6__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesAssignment_0_6_1()); }
+(rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1)
+{ after(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesAssignment_0_6_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_0_6__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0_6__2__Impl
+ rule__PrimaryExpCS__Group_0_6__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0_6__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getGroup_0_6_2()); }
+(rule__PrimaryExpCS__Group_0_6_2__0)*
+{ after(grammarAccess.getPrimaryExpCSAccess().getGroup_0_6_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_0_6__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0_6__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0_6__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getRightSquareBracketKeyword_0_6_3()); }
+
+ ']'
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getRightSquareBracketKeyword_0_6_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__PrimaryExpCS__Group_0_6_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0_6_2__0__Impl
+ rule__PrimaryExpCS__Group_0_6_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0_6_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_0_6_2_0()); }
+
+ ','
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_0_6_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_0_6_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0_6_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0_6_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesAssignment_0_6_2_1()); }
+(rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1)
+{ after(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesAssignment_0_6_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__PrimaryExpCS__Group_0_7__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0_7__0__Impl
+ rule__PrimaryExpCS__Group_0_7__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0_7__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_0_7_0()); }
+(rule__PrimaryExpCS__AtPreAssignment_0_7_0)
+{ after(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_0_7_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_0_7__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_0_7__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_0_7__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getPreKeyword_0_7_1()); }
+
+ 'pre'
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getPreKeyword_0_7_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__PrimaryExpCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_1__0__Impl
+ rule__PrimaryExpCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0()); }
+(
+
+)
+{ after(grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_1__1__Impl
+ rule__PrimaryExpCS__Group_1__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_1_1()); }
+(rule__PrimaryExpCS__PathNameAssignment_1_1)
+{ after(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_1__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_1__2__Impl
+ rule__PrimaryExpCS__Group_1__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_1__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getLeftCurlyBracketKeyword_1_2()); }
+
+ '{'
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getLeftCurlyBracketKeyword_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_1__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_1__3__Impl
+ rule__PrimaryExpCS__Group_1__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_1__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsAssignment_1_3()); }
+(rule__PrimaryExpCS__OwnedPartsAssignment_1_3)
+{ after(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsAssignment_1_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_1__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_1__4__Impl
+ rule__PrimaryExpCS__Group_1__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_1__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getGroup_1_4()); }
+(rule__PrimaryExpCS__Group_1_4__0)*
+{ after(grammarAccess.getPrimaryExpCSAccess().getGroup_1_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_1__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_1__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_1__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getRightCurlyBracketKeyword_1_5()); }
+
+ '}'
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getRightCurlyBracketKeyword_1_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__PrimaryExpCS__Group_1_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_1_4__0__Impl
+ rule__PrimaryExpCS__Group_1_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_1_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_1_4_0()); }
+
+ ','
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_1_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_1_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_1_4__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_1_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsAssignment_1_4_1()); }
+(rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1)
+{ after(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsAssignment_1_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__PrimaryExpCS__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2__0__Impl
+ rule__PrimaryExpCS__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0()); }
+(
+
+)
+{ after(grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2__1__Impl
+ rule__PrimaryExpCS__Group_2__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_2_1()); }
+(rule__PrimaryExpCS__PathNameAssignment_2_1)
+{ after(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_2__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2__2__Impl
+ rule__PrimaryExpCS__Group_2__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getGroup_2_2()); }
+(rule__PrimaryExpCS__Group_2_2__0)?
+{ after(grammarAccess.getPrimaryExpCSAccess().getGroup_2_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_2__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2__3__Impl
+ rule__PrimaryExpCS__Group_2__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getLeftParenthesisKeyword_2_3()); }
+
+ '('
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getLeftParenthesisKeyword_2_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_2__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2__4__Impl
+ rule__PrimaryExpCS__Group_2__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4()); }
+(rule__PrimaryExpCS__Group_2_4__0)?
+{ after(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_2__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getRightParenthesisKeyword_2_5()); }
+
+ ')'
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getRightParenthesisKeyword_2_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__PrimaryExpCS__Group_2_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2_2__0__Impl
+ rule__PrimaryExpCS__Group_2_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_2_2_0()); }
+(rule__PrimaryExpCS__AtPreAssignment_2_2_0)
+{ after(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_2_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_2_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getPreKeyword_2_2_1()); }
+
+ 'pre'
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getPreKeyword_2_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__PrimaryExpCS__Group_2_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2_4__0__Impl
+ rule__PrimaryExpCS__Group_2_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_0()); }
+(rule__PrimaryExpCS__ArgumentAssignment_2_4_0)
+{ after(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_2_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2_4__1__Impl
+ rule__PrimaryExpCS__Group_2_4__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_1()); }
+(rule__PrimaryExpCS__ArgumentAssignment_2_4_1)*
+{ after(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_2_4__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2_4__2__Impl
+ rule__PrimaryExpCS__Group_2_4__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2_4__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4_2()); }
+(rule__PrimaryExpCS__Group_2_4_2__0)?
+{ after(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_2_4__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2_4__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2_4__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4_3()); }
+(rule__PrimaryExpCS__Group_2_4_3__0)?
+{ after(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__PrimaryExpCS__Group_2_4_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2_4_2__0__Impl
+ rule__PrimaryExpCS__Group_2_4_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2_4_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_2_0()); }
+(rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0)
+{ after(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_2_4_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2_4_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2_4_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_2_1()); }
+(rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1)*
+{ after(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__PrimaryExpCS__Group_2_4_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2_4_3__0__Impl
+ rule__PrimaryExpCS__Group_2_4_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2_4_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_3_0()); }
+(rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0)
+{ after(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_2_4_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_2_4_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_2_4_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_3_1()); }
+(rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1)*
+{ after(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__PrimaryExpCS__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_3__0__Impl
+ rule__PrimaryExpCS__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0()); }
+(
+
+)
+{ after(grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_3__1__Impl
+ rule__PrimaryExpCS__Group_3__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_3_1()); }
+(rule__PrimaryExpCS__PathNameAssignment_3_1)
+{ after(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_3__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_3__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_3__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getGroup_3_2()); }
+(rule__PrimaryExpCS__Group_3_2__0)?
+{ after(grammarAccess.getPrimaryExpCSAccess().getGroup_3_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__PrimaryExpCS__Group_3_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_3_2__0__Impl
+ rule__PrimaryExpCS__Group_3_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_3_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_3_2_0()); }
+(rule__PrimaryExpCS__AtPreAssignment_3_2_0)
+{ after(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_3_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpCS__Group_3_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpCS__Group_3_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__Group_3_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getPreKeyword_3_2_1()); }
+
+ 'pre'
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getPreKeyword_3_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__NavigatingArgCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingArgCS__Group__0__Impl
+ rule__NavigatingArgCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingArgCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingArgCSAccess().getNameAssignment_0()); }
+(rule__NavigatingArgCS__NameAssignment_0)
+{ after(grammarAccess.getNavigatingArgCSAccess().getNameAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingArgCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingArgCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingArgCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingArgCSAccess().getGroup_1()); }
+(rule__NavigatingArgCS__Group_1__0)?
+{ after(grammarAccess.getNavigatingArgCSAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__NavigatingArgCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingArgCS__Group_1__0__Impl
+ rule__NavigatingArgCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingArgCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingArgCSAccess().getColonKeyword_1_0()); }
+
+ ':'
+
+{ after(grammarAccess.getNavigatingArgCSAccess().getColonKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingArgCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingArgCS__Group_1__1__Impl
+ rule__NavigatingArgCS__Group_1__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingArgCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeAssignment_1_1()); }
+(rule__NavigatingArgCS__OwnedTypeAssignment_1_1)
+{ after(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingArgCS__Group_1__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingArgCS__Group_1__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingArgCS__Group_1__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingArgCSAccess().getGroup_1_2()); }
+(rule__NavigatingArgCS__Group_1_2__0)?
+{ after(grammarAccess.getNavigatingArgCSAccess().getGroup_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__NavigatingArgCS__Group_1_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingArgCS__Group_1_2__0__Impl
+ rule__NavigatingArgCS__Group_1_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingArgCS__Group_1_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_1_2_0()); }
+
+ '='
+
+{ after(grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_1_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingArgCS__Group_1_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingArgCS__Group_1_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingArgCS__Group_1_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingArgCSAccess().getInitAssignment_1_2_1()); }
+(rule__NavigatingArgCS__InitAssignment_1_2_1)
+{ after(grammarAccess.getNavigatingArgCSAccess().getInitAssignment_1_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__NavigatingBarArgCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingBarArgCS__Group__0__Impl
+ rule__NavigatingBarArgCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingBarArgCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingBarArgCSAccess().getPrefixAssignment_0()); }
+(rule__NavigatingBarArgCS__PrefixAssignment_0)
+{ after(grammarAccess.getNavigatingBarArgCSAccess().getPrefixAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingBarArgCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingBarArgCS__Group__1__Impl
+ rule__NavigatingBarArgCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingBarArgCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingBarArgCSAccess().getNameAssignment_1()); }
+(rule__NavigatingBarArgCS__NameAssignment_1)
+{ after(grammarAccess.getNavigatingBarArgCSAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingBarArgCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingBarArgCS__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingBarArgCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingBarArgCSAccess().getGroup_2()); }
+(rule__NavigatingBarArgCS__Group_2__0)?
+{ after(grammarAccess.getNavigatingBarArgCSAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__NavigatingBarArgCS__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingBarArgCS__Group_2__0__Impl
+ rule__NavigatingBarArgCS__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingBarArgCS__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingBarArgCSAccess().getColonKeyword_2_0()); }
+
+ ':'
+
+{ after(grammarAccess.getNavigatingBarArgCSAccess().getColonKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingBarArgCS__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingBarArgCS__Group_2__1__Impl
+ rule__NavigatingBarArgCS__Group_2__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingBarArgCS__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeAssignment_2_1()); }
+(rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1)
+{ after(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingBarArgCS__Group_2__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingBarArgCS__Group_2__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingBarArgCS__Group_2__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingBarArgCSAccess().getGroup_2_2()); }
+(rule__NavigatingBarArgCS__Group_2_2__0)?
+{ after(grammarAccess.getNavigatingBarArgCSAccess().getGroup_2_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__NavigatingBarArgCS__Group_2_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingBarArgCS__Group_2_2__0__Impl
+ rule__NavigatingBarArgCS__Group_2_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingBarArgCS__Group_2_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingBarArgCSAccess().getEqualsSignKeyword_2_2_0()); }
+
+ '='
+
+{ after(grammarAccess.getNavigatingBarArgCSAccess().getEqualsSignKeyword_2_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingBarArgCS__Group_2_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingBarArgCS__Group_2_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingBarArgCS__Group_2_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingBarArgCSAccess().getInitAssignment_2_2_1()); }
+(rule__NavigatingBarArgCS__InitAssignment_2_2_1)
+{ after(grammarAccess.getNavigatingBarArgCSAccess().getInitAssignment_2_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__NavigatingCommaArgCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingCommaArgCS__Group__0__Impl
+ rule__NavigatingCommaArgCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingCommaArgCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixAssignment_0()); }
+(rule__NavigatingCommaArgCS__PrefixAssignment_0)
+{ after(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingCommaArgCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingCommaArgCS__Group__1__Impl
+ rule__NavigatingCommaArgCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingCommaArgCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingCommaArgCSAccess().getNameAssignment_1()); }
+(rule__NavigatingCommaArgCS__NameAssignment_1)
+{ after(grammarAccess.getNavigatingCommaArgCSAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingCommaArgCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingCommaArgCS__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingCommaArgCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2()); }
+(rule__NavigatingCommaArgCS__Group_2__0)?
+{ after(grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__NavigatingCommaArgCS__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingCommaArgCS__Group_2__0__Impl
+ rule__NavigatingCommaArgCS__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingCommaArgCS__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_0()); }
+
+ ':'
+
+{ after(grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingCommaArgCS__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingCommaArgCS__Group_2__1__Impl
+ rule__NavigatingCommaArgCS__Group_2__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingCommaArgCS__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeAssignment_2_1()); }
+(rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1)
+{ after(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingCommaArgCS__Group_2__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingCommaArgCS__Group_2__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingCommaArgCS__Group_2__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2_2()); }
+(rule__NavigatingCommaArgCS__Group_2_2__0)?
+{ after(grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__NavigatingCommaArgCS__Group_2_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingCommaArgCS__Group_2_2__0__Impl
+ rule__NavigatingCommaArgCS__Group_2_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingCommaArgCS__Group_2_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_2_0()); }
+
+ '='
+
+{ after(grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingCommaArgCS__Group_2_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingCommaArgCS__Group_2_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingCommaArgCS__Group_2_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingCommaArgCSAccess().getInitAssignment_2_2_1()); }
+(rule__NavigatingCommaArgCS__InitAssignment_2_2_1)
+{ after(grammarAccess.getNavigatingCommaArgCSAccess().getInitAssignment_2_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__NavigatingSemiArgCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingSemiArgCS__Group__0__Impl
+ rule__NavigatingSemiArgCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingSemiArgCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixAssignment_0()); }
+(rule__NavigatingSemiArgCS__PrefixAssignment_0)
+{ after(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingSemiArgCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingSemiArgCS__Group__1__Impl
+ rule__NavigatingSemiArgCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingSemiArgCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingSemiArgCSAccess().getNameAssignment_1()); }
+(rule__NavigatingSemiArgCS__NameAssignment_1)
+{ after(grammarAccess.getNavigatingSemiArgCSAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingSemiArgCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingSemiArgCS__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingSemiArgCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingSemiArgCSAccess().getGroup_2()); }
+(rule__NavigatingSemiArgCS__Group_2__0)?
+{ after(grammarAccess.getNavigatingSemiArgCSAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__NavigatingSemiArgCS__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingSemiArgCS__Group_2__0__Impl
+ rule__NavigatingSemiArgCS__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingSemiArgCS__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingSemiArgCSAccess().getColonKeyword_2_0()); }
+
+ ':'
+
+{ after(grammarAccess.getNavigatingSemiArgCSAccess().getColonKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingSemiArgCS__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingSemiArgCS__Group_2__1__Impl
+ rule__NavigatingSemiArgCS__Group_2__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingSemiArgCS__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeAssignment_2_1()); }
+(rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1)
+{ after(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingSemiArgCS__Group_2__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingSemiArgCS__Group_2__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingSemiArgCS__Group_2__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingSemiArgCSAccess().getGroup_2_2()); }
+(rule__NavigatingSemiArgCS__Group_2_2__0)?
+{ after(grammarAccess.getNavigatingSemiArgCSAccess().getGroup_2_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__NavigatingSemiArgCS__Group_2_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingSemiArgCS__Group_2_2__0__Impl
+ rule__NavigatingSemiArgCS__Group_2_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingSemiArgCS__Group_2_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingSemiArgCSAccess().getEqualsSignKeyword_2_2_0()); }
+
+ '='
+
+{ after(grammarAccess.getNavigatingSemiArgCSAccess().getEqualsSignKeyword_2_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NavigatingSemiArgCS__Group_2_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NavigatingSemiArgCS__Group_2_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingSemiArgCS__Group_2_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingSemiArgCSAccess().getInitAssignment_2_2_1()); }
+(rule__NavigatingSemiArgCS__InitAssignment_2_2_1)
+{ after(grammarAccess.getNavigatingSemiArgCSAccess().getInitAssignment_2_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__IfExpCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__IfExpCS__Group__0__Impl
+ rule__IfExpCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__IfExpCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getIfExpCSAccess().getIfKeyword_0()); }
+
+ 'if'
+
+{ after(grammarAccess.getIfExpCSAccess().getIfKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__IfExpCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__IfExpCS__Group__1__Impl
+ rule__IfExpCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__IfExpCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getIfExpCSAccess().getConditionAssignment_1()); }
+(rule__IfExpCS__ConditionAssignment_1)
+{ after(grammarAccess.getIfExpCSAccess().getConditionAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__IfExpCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__IfExpCS__Group__2__Impl
+ rule__IfExpCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__IfExpCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getIfExpCSAccess().getThenKeyword_2()); }
+
+ 'then'
+
+{ after(grammarAccess.getIfExpCSAccess().getThenKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__IfExpCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__IfExpCS__Group__3__Impl
+ rule__IfExpCS__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__IfExpCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getIfExpCSAccess().getThenExpressionAssignment_3()); }
+(rule__IfExpCS__ThenExpressionAssignment_3)
+{ after(grammarAccess.getIfExpCSAccess().getThenExpressionAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__IfExpCS__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__IfExpCS__Group__4__Impl
+ rule__IfExpCS__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__IfExpCS__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getIfExpCSAccess().getElseKeyword_4()); }
+
+ 'else'
+
+{ after(grammarAccess.getIfExpCSAccess().getElseKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__IfExpCS__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__IfExpCS__Group__5__Impl
+ rule__IfExpCS__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__IfExpCS__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getIfExpCSAccess().getElseExpressionAssignment_5()); }
+(rule__IfExpCS__ElseExpressionAssignment_5)
+{ after(grammarAccess.getIfExpCSAccess().getElseExpressionAssignment_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__IfExpCS__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__IfExpCS__Group__6__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__IfExpCS__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getIfExpCSAccess().getEndifKeyword_6()); }
+
+ 'endif'
+
+{ after(grammarAccess.getIfExpCSAccess().getEndifKeyword_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__LetExpCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LetExpCS__Group__0__Impl
+ rule__LetExpCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetExpCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetExpCSAccess().getLetKeyword_0()); }
+
+ 'let'
+
+{ after(grammarAccess.getLetExpCSAccess().getLetKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LetExpCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LetExpCS__Group__1__Impl
+ rule__LetExpCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetExpCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetExpCSAccess().getVariableAssignment_1()); }
+(rule__LetExpCS__VariableAssignment_1)
+{ after(grammarAccess.getLetExpCSAccess().getVariableAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LetExpCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LetExpCS__Group__2__Impl
+ rule__LetExpCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetExpCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetExpCSAccess().getGroup_2()); }
+(rule__LetExpCS__Group_2__0)*
+{ after(grammarAccess.getLetExpCSAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LetExpCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LetExpCS__Group__3__Impl
+ rule__LetExpCS__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetExpCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetExpCSAccess().getInKeyword_3()); }
+
+ 'in'
+
+{ after(grammarAccess.getLetExpCSAccess().getInKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LetExpCS__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LetExpCS__Group__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetExpCS__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetExpCSAccess().getInAssignment_4()); }
+(rule__LetExpCS__InAssignment_4)
+{ after(grammarAccess.getLetExpCSAccess().getInAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__LetExpCS__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LetExpCS__Group_2__0__Impl
+ rule__LetExpCS__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetExpCS__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0()); }
+
+ ','
+
+{ after(grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LetExpCS__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LetExpCS__Group_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetExpCS__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetExpCSAccess().getVariableAssignment_2_1()); }
+(rule__LetExpCS__VariableAssignment_2_1)
+{ after(grammarAccess.getLetExpCSAccess().getVariableAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__LetVariableCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LetVariableCS__Group__0__Impl
+ rule__LetVariableCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetVariableCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetVariableCSAccess().getNameAssignment_0()); }
+(rule__LetVariableCS__NameAssignment_0)
+{ after(grammarAccess.getLetVariableCSAccess().getNameAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LetVariableCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LetVariableCS__Group__1__Impl
+ rule__LetVariableCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetVariableCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetVariableCSAccess().getGroup_1()); }
+(rule__LetVariableCS__Group_1__0)?
+{ after(grammarAccess.getLetVariableCSAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LetVariableCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LetVariableCS__Group__2__Impl
+ rule__LetVariableCS__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetVariableCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetVariableCSAccess().getEqualsSignKeyword_2()); }
+
+ '='
+
+{ after(grammarAccess.getLetVariableCSAccess().getEqualsSignKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LetVariableCS__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LetVariableCS__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetVariableCS__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetVariableCSAccess().getInitExpressionAssignment_3()); }
+(rule__LetVariableCS__InitExpressionAssignment_3)
+{ after(grammarAccess.getLetVariableCSAccess().getInitExpressionAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__LetVariableCS__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LetVariableCS__Group_1__0__Impl
+ rule__LetVariableCS__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetVariableCS__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetVariableCSAccess().getColonKeyword_1_0()); }
+
+ ':'
+
+{ after(grammarAccess.getLetVariableCSAccess().getColonKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LetVariableCS__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LetVariableCS__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetVariableCS__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetVariableCSAccess().getOwnedTypeAssignment_1_1()); }
+(rule__LetVariableCS__OwnedTypeAssignment_1_1)
+{ after(grammarAccess.getLetVariableCSAccess().getOwnedTypeAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__NestedExpCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NestedExpCS__Group__0__Impl
+ rule__NestedExpCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NestedExpCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNestedExpCSAccess().getLeftParenthesisKeyword_0()); }
+
+ '('
+
+{ after(grammarAccess.getNestedExpCSAccess().getLeftParenthesisKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NestedExpCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NestedExpCS__Group__1__Impl
+ rule__NestedExpCS__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NestedExpCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNestedExpCSAccess().getSourceAssignment_1()); }
+(rule__NestedExpCS__SourceAssignment_1)
+{ after(grammarAccess.getNestedExpCSAccess().getSourceAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__NestedExpCS__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__NestedExpCS__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NestedExpCS__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNestedExpCSAccess().getRightParenthesisKeyword_2()); }
+
+ ')'
+
+{ after(grammarAccess.getNestedExpCSAccess().getRightParenthesisKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__SelfExpCS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SelfExpCS__Group__0__Impl
+ rule__SelfExpCS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SelfExpCS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0()); }
+(
+
+)
+{ after(grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SelfExpCS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SelfExpCS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SelfExpCS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelfExpCSAccess().getSelfKeyword_1()); }
+
+ 'self'
+
+{ after(grammarAccess.getSelfExpCSAccess().getSelfKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+rule__TopLevelCS__ImportClauseAssignment_0_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTopLevelCSAccess().getImportClauseUnitCSParserRuleCall_0_1_0()); }
+ ruleUnitCS{ after(grammarAccess.getTopLevelCSAccess().getImportClauseUnitCSParserRuleCall_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TopLevelCS__TransformationAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTopLevelCSAccess().getTransformationTransformationCSParserRuleCall_1_0()); }
+ ruleTransformationCS{ after(grammarAccess.getTopLevelCSAccess().getTransformationTransformationCSParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__UnitCS__IdentifierAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_0_0()); }
+(
+{ before(grammarAccess.getUnitCSAccess().getIdentifierElementUnrestrictedNameParserRuleCall_0_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getUnitCSAccess().getIdentifierElementUnrestrictedNameParserRuleCall_0_0_1()); }
+)
+{ after(grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__UnitCS__IdentifierAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_1_1_0()); }
+(
+{ before(grammarAccess.getUnitCSAccess().getIdentifierElementUnrestrictedNameParserRuleCall_1_1_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getUnitCSAccess().getIdentifierElementUnrestrictedNameParserRuleCall_1_1_0_1()); }
+)
+{ after(grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getNameUnrestrictedNameParserRuleCall_1_0()); }
+ ruleUnrestrictedName{ after(grammarAccess.getTransformationCSAccess().getNameUnrestrictedNameParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__ModelDeclAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getModelDeclModelDeclCSParserRuleCall_3_0()); }
+ ruleModelDeclCS{ after(grammarAccess.getTransformationCSAccess().getModelDeclModelDeclCSParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__ModelDeclAssignment_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getModelDeclModelDeclCSParserRuleCall_4_1_0()); }
+ ruleModelDeclCS{ after(grammarAccess.getTransformationCSAccess().getModelDeclModelDeclCSParserRuleCall_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__ExtendsAssignment_6_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_1_0()); }
+(
+{ before(grammarAccess.getTransformationCSAccess().getExtendsTransformationUnrestrictedNameParserRuleCall_6_1_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getTransformationCSAccess().getExtendsTransformationUnrestrictedNameParserRuleCall_6_1_0_1()); }
+)
+{ after(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__ExtendsAssignment_6_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_2_1_0()); }
+(
+{ before(grammarAccess.getTransformationCSAccess().getExtendsTransformationUnrestrictedNameParserRuleCall_6_2_1_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getTransformationCSAccess().getExtendsTransformationUnrestrictedNameParserRuleCall_6_2_1_0_1()); }
+)
+{ after(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__KeyDeclAssignment_8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getKeyDeclKeyDeclCSParserRuleCall_8_0()); }
+ ruleKeyDeclCS{ after(grammarAccess.getTransformationCSAccess().getKeyDeclKeyDeclCSParserRuleCall_8_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__RelationAssignment_9_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getRelationRelationCSParserRuleCall_9_0_0()); }
+ ruleRelationCS{ after(grammarAccess.getTransformationCSAccess().getRelationRelationCSParserRuleCall_9_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransformationCS__QueryAssignment_9_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransformationCSAccess().getQueryQueryCSParserRuleCall_9_1_0()); }
+ ruleQueryCS{ after(grammarAccess.getTransformationCSAccess().getQueryQueryCSParserRuleCall_9_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ModelDeclCS__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModelDeclCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); }
+ ruleUnrestrictedName{ after(grammarAccess.getModelDeclCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ModelDeclCS__MetaModelIdAssignment_2_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_0_0()); }
+(
+{ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_0_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_0_0_1()); }
+)
+{ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ModelDeclCS__MetaModelIdAssignment_2_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_1_0()); }
+(
+{ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_1_1_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_1_1_0_1()); }
+)
+{ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_2_1_0()); }
+(
+{ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_1_2_1_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_1_2_1_0_1()); }
+)
+{ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__KeyDeclCS__PathNameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getPathNamePathNameCSParserRuleCall_1_0()); }
+ rulePathNameCS{ after(grammarAccess.getKeyDeclCSAccess().getPathNamePathNameCSParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__KeyDeclCS__PropertyIdAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_3_0()); }
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_3_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_3_0_1()); }
+)
+{ after(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__KeyDeclCS__PropertyIdAssignment_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_4_1_0()); }
+(
+{ before(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_4_1_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_4_1_0_1()); }
+)
+{ after(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__TopAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getTopTopKeyword_0_0()); }
+(
+{ before(grammarAccess.getRelationCSAccess().getTopTopKeyword_0_0()); }
+
+ 'top'
+
+{ after(grammarAccess.getRelationCSAccess().getTopTopKeyword_0_0()); }
+)
+
+{ after(grammarAccess.getRelationCSAccess().getTopTopKeyword_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__NameAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); }
+ ruleUnrestrictedName{ after(grammarAccess.getRelationCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__OverridesAssignment_3_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getOverridesRelationCrossReference_3_1_0()); }
+(
+{ before(grammarAccess.getRelationCSAccess().getOverridesRelationUnrestrictedNameParserRuleCall_3_1_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getRelationCSAccess().getOverridesRelationUnrestrictedNameParserRuleCall_3_1_0_1()); }
+)
+{ after(grammarAccess.getRelationCSAccess().getOverridesRelationCrossReference_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__VarDeclarationAssignment_5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getVarDeclarationVarDeclarationCSParserRuleCall_5_0()); }
+ ruleVarDeclarationCS{ after(grammarAccess.getRelationCSAccess().getVarDeclarationVarDeclarationCSParserRuleCall_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__DomainAssignment_6_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getDomainDomainCSParserRuleCall_6_0_0()); }
+ ruleDomainCS{ after(grammarAccess.getRelationCSAccess().getDomainDomainCSParserRuleCall_6_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__DomainAssignment_6_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getDomainPrimitiveTypeDomainCSParserRuleCall_6_1_0()); }
+ rulePrimitiveTypeDomainCS{ after(grammarAccess.getRelationCSAccess().getDomainPrimitiveTypeDomainCSParserRuleCall_6_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__WhenAssignment_7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getWhenWhenCSParserRuleCall_7_0()); }
+ ruleWhenCS{ after(grammarAccess.getRelationCSAccess().getWhenWhenCSParserRuleCall_7_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelationCS__WhereAssignment_8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelationCSAccess().getWhereWhereCSParserRuleCall_8_0()); }
+ ruleWhereCS{ after(grammarAccess.getRelationCSAccess().getWhereWhereCSParserRuleCall_8_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhenCS__ExprAssignment_3_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhenCSAccess().getExprExpCSParserRuleCall_3_0_0()); }
+ ruleExpCS{ after(grammarAccess.getWhenCSAccess().getExprExpCSParserRuleCall_3_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__WhereCS__ExprAssignment_3_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getWhereCSAccess().getExprExpCSParserRuleCall_3_0_0()); }
+ ruleExpCS{ after(grammarAccess.getWhereCSAccess().getExprExpCSParserRuleCall_3_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__VarDeclarationCS__VarDeclarationIdAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_0_0()); }
+(
+{ before(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyUnrestrictedNameParserRuleCall_0_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyUnrestrictedNameParserRuleCall_0_0_1()); }
+)
+{ after(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_1_1_0()); }
+(
+{ before(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyUnrestrictedNameParserRuleCall_1_1_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyUnrestrictedNameParserRuleCall_1_1_0_1()); }
+)
+{ after(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__VarDeclarationCS__TypeAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getVarDeclarationCSAccess().getTypeTypedRefCSParserRuleCall_3_0()); }
+ ruleTypedRefCS{ after(grammarAccess.getVarDeclarationCSAccess().getTypeTypedRefCSParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__CheckonlyAssignment_0_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getCheckonlyCheckonlyKeyword_0_0_0()); }
+(
+{ before(grammarAccess.getDomainCSAccess().getCheckonlyCheckonlyKeyword_0_0_0()); }
+
+ 'checkonly'
+
+{ after(grammarAccess.getDomainCSAccess().getCheckonlyCheckonlyKeyword_0_0_0()); }
+)
+
+{ after(grammarAccess.getDomainCSAccess().getCheckonlyCheckonlyKeyword_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__EnforceAssignment_0_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getEnforceEnforceKeyword_0_1_0()); }
+(
+{ before(grammarAccess.getDomainCSAccess().getEnforceEnforceKeyword_0_1_0()); }
+
+ 'enforce'
+
+{ after(grammarAccess.getDomainCSAccess().getEnforceEnforceKeyword_0_1_0()); }
+)
+
+{ after(grammarAccess.getDomainCSAccess().getEnforceEnforceKeyword_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__ModelIdAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getModelIdTypedModelCrossReference_2_0()); }
+(
+{ before(grammarAccess.getDomainCSAccess().getModelIdTypedModelUnrestrictedNameParserRuleCall_2_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getDomainCSAccess().getModelIdTypedModelUnrestrictedNameParserRuleCall_2_0_1()); }
+)
+{ after(grammarAccess.getDomainCSAccess().getModelIdTypedModelCrossReference_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__TemplateAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getTemplateTemplateCSParserRuleCall_3_0()); }
+ ruleTemplateCS{ after(grammarAccess.getDomainCSAccess().getTemplateTemplateCSParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__ImplementedByAssignment_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getImplementedByExpCSParserRuleCall_4_1_0()); }
+ ruleExpCS{ after(grammarAccess.getDomainCSAccess().getImplementedByExpCSParserRuleCall_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DomainCS__DefaultValueAssignment_5_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDomainCSAccess().getDefaultValueDefaultValueCSParserRuleCall_5_2_0()); }
+ ruleDefaultValueCS{ after(grammarAccess.getDomainCSAccess().getDefaultValueDefaultValueCSParserRuleCall_5_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimitiveTypeDomainCS__NameAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); }
+ ruleUnrestrictedName{ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimitiveTypeDomainCS__TypeAssignment_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getTypeTypedRefCSParserRuleCall_4_0()); }
+ ruleTypedRefCS{ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getTypeTypedRefCSParserRuleCall_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TemplateCS__GuardExpressionAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTemplateCSAccess().getGuardExpressionExpCSParserRuleCall_1_1_0()); }
+ ruleExpCS{ after(grammarAccess.getTemplateCSAccess().getGuardExpressionExpCSParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ObjectTemplateCS__PropertyIdAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0()); }
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getObjectTemplateCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1()); }
+)
+{ after(grammarAccess.getObjectTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ObjectTemplateCS__TypeAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getTypeTypedRefCSParserRuleCall_2_0()); }
+ ruleTypedRefCS{ after(grammarAccess.getObjectTemplateCSAccess().getTypeTypedRefCSParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplatePropertyTemplateCSParserRuleCall_4_0_0()); }
+ rulePropertyTemplateCS{ after(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplatePropertyTemplateCSParserRuleCall_4_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplatePropertyTemplateCSParserRuleCall_4_1_1_0()); }
+ rulePropertyTemplateCS{ after(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplatePropertyTemplateCSParserRuleCall_4_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PropertyTemplateCS__PropertyIdAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0()); }
+(
+{ before(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1()); }
+)
+{ after(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PropertyTemplateCS__OclExpressionAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPropertyTemplateCSAccess().getOclExpressionExpCSParserRuleCall_2_0()); }
+ ruleExpCS{ after(grammarAccess.getPropertyTemplateCSAccess().getOclExpressionExpCSParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__PropertyIdAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0()); }
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1()); }
+)
+{ after(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__TypeAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getTypeCollectionTypedRefCSParserRuleCall_2_0()); }
+ ruleCollectionTypedRefCS{ after(grammarAccess.getCollectionTemplateCSAccess().getTypeCollectionTypedRefCSParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAlternatives_4_0_0()); }
+(rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0)
+{ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAlternatives_4_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAlternatives_4_1_1_0()); }
+(rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0)
+{ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAlternatives_4_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTemplateCS__RestIdentifierAssignment_4_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAlternatives_4_3_0()); }
+(rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0)
+{ after(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAlternatives_4_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NameExpCS__PathNameAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNameExpCSAccess().getPathNamePathNameCSParserRuleCall_0()); }
+ rulePathNameCS{ after(grammarAccess.getNameExpCSAccess().getPathNamePathNameCSParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DefaultValueCS__PropertyIdAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefaultValueCSAccess().getPropertyIdPropertyCrossReference_0_0()); }
+(
+{ before(grammarAccess.getDefaultValueCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getDefaultValueCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1()); }
+)
+{ after(grammarAccess.getDefaultValueCSAccess().getPropertyIdPropertyCrossReference_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DefaultValueCS__InitialiserAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefaultValueCSAccess().getInitialiserExpCSParserRuleCall_2_0()); }
+ ruleExpCS{ after(grammarAccess.getDefaultValueCSAccess().getInitialiserExpCSParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__PathNameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getPathNamePathNameCSParserRuleCall_1_0()); }
+ rulePathNameCS{ after(grammarAccess.getQueryCSAccess().getPathNamePathNameCSParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__InputParamDeclarationAssignment_3_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getInputParamDeclarationParamDeclarationCSParserRuleCall_3_0_0()); }
+ ruleParamDeclarationCS{ after(grammarAccess.getQueryCSAccess().getInputParamDeclarationParamDeclarationCSParserRuleCall_3_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__InputParamDeclarationAssignment_3_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getInputParamDeclarationParamDeclarationCSParserRuleCall_3_1_1_0()); }
+ ruleParamDeclarationCS{ after(grammarAccess.getQueryCSAccess().getInputParamDeclarationParamDeclarationCSParserRuleCall_3_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__TypeAssignment_6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getTypeTypedRefCSParserRuleCall_6_0()); }
+ ruleTypedRefCS{ after(grammarAccess.getQueryCSAccess().getTypeTypedRefCSParserRuleCall_6_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__QueryCS__OclExpressionAssignment_7_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getQueryCSAccess().getOclExpressionExpCSParserRuleCall_7_1_1_0()); }
+ ruleExpCS{ after(grammarAccess.getQueryCSAccess().getOclExpressionExpCSParserRuleCall_7_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ParamDeclarationCS__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getParamDeclarationCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); }
+ ruleUnrestrictedName{ after(grammarAccess.getParamDeclarationCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ParamDeclarationCS__TypeAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getParamDeclarationCSAccess().getTypeTypedRefCSParserRuleCall_2_0()); }
+ ruleTypedRefCS{ after(grammarAccess.getParamDeclarationCSAccess().getTypeTypedRefCSParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTypedRefCS__PathNameAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTypedRefCSAccess().getPathNamePathNameCSParserRuleCall_0()); }
+ rulePathNameCS{ after(grammarAccess.getCollectionTypedRefCSAccess().getPathNamePathNameCSParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypedRefCS__PathNameAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypedRefCSAccess().getPathNamePathNameCSParserRuleCall_0()); }
+ rulePathNameCS{ after(grammarAccess.getTypedRefCSAccess().getPathNamePathNameCSParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PathNameCS__PathAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPathNameCSAccess().getPathFirstPathElementCSParserRuleCall_0_0()); }
+ ruleFirstPathElementCS{ after(grammarAccess.getPathNameCSAccess().getPathFirstPathElementCSParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PathNameCS__PathAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPathNameCSAccess().getPathNextPathElementCSParserRuleCall_1_1_0()); }
+ ruleNextPathElementCS{ after(grammarAccess.getPathNameCSAccess().getPathNextPathElementCSParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FirstPathElementCS__ElementAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFirstPathElementCSAccess().getElementNamedElementCrossReference_0()); }
+(
+{ before(grammarAccess.getFirstPathElementCSAccess().getElementNamedElementUnrestrictedNameParserRuleCall_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getFirstPathElementCSAccess().getElementNamedElementUnrestrictedNameParserRuleCall_0_1()); }
+)
+{ after(grammarAccess.getFirstPathElementCSAccess().getElementNamedElementCrossReference_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NextPathElementCS__ElementAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNextPathElementCSAccess().getElementNamedElementCrossReference_0()); }
+(
+{ before(grammarAccess.getNextPathElementCSAccess().getElementNamedElementUnreservedNameParserRuleCall_0_1()); }
+ ruleUnreservedName{ after(grammarAccess.getNextPathElementCSAccess().getElementNamedElementUnreservedNameParserRuleCall_0_1()); }
+)
+{ after(grammarAccess.getNextPathElementCSAccess().getElementNamedElementCrossReference_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimitiveTypeCS__NameAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveTypeCSAccess().getNamePrimitiveTypeIdentifierParserRuleCall_0()); }
+ rulePrimitiveTypeIdentifier{ after(grammarAccess.getPrimitiveTypeCSAccess().getNamePrimitiveTypeIdentifierParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTypeCS__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTypeCSAccess().getNameCollectionTypeIdentifierParserRuleCall_0_0()); }
+ ruleCollectionTypeIdentifier{ after(grammarAccess.getCollectionTypeCSAccess().getNameCollectionTypeIdentifierParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionTypeCS__OwnedTypeAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); }
+ ruleTypeExpCS{ after(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MultiplicityBoundsCS__LowerBoundAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundLOWERParserRuleCall_0_0()); }
+ ruleLOWER{ after(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundLOWERParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundUPPERParserRuleCall_1_1_0()); }
+ ruleUPPER{ after(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundUPPERParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MultiplicityStringCS__StringBoundsAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAlternatives_0()); }
+(rule__MultiplicityStringCS__StringBoundsAlternatives_0)
+{ after(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAlternatives_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleTypeCS__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0()); }
+(
+{ before(grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0()); }
+
+ 'Tuple'
+
+{ after(grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0()); }
+)
+
+{ after(grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleTypeCS__OwnedPartsAssignment_1_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_0_0()); }
+ ruleTuplePartCS{ after(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_1_1_0()); }
+ ruleTuplePartCS{ after(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TuplePartCS__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTuplePartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); }
+ ruleUnrestrictedName{ after(grammarAccess.getTuplePartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TuplePartCS__OwnedTypeAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTuplePartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0()); }
+ ruleTypeExpCS{ after(grammarAccess.getTuplePartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralExpCS__OwnedTypeAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0()); }
+ ruleCollectionTypeCS{ after(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_0_0()); }
+ ruleCollectionLiteralPartCS{ after(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_1_1_0()); }
+ ruleCollectionLiteralPartCS{ after(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralPartCS__ExpressionCSAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralPartCSAccess().getExpressionCSExpCSParserRuleCall_0_0()); }
+ ruleExpCS{ after(grammarAccess.getCollectionLiteralPartCSAccess().getExpressionCSExpCSParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCollectionLiteralPartCSAccess().getLastExpressionCSExpCSParserRuleCall_1_1_0()); }
+ ruleExpCS{ after(grammarAccess.getCollectionLiteralPartCSAccess().getLastExpressionCSExpCSParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ConstructorPartCS__PropertyAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getConstructorPartCSAccess().getPropertyPropertyCrossReference_0_0()); }
+(
+{ before(grammarAccess.getConstructorPartCSAccess().getPropertyPropertyUnrestrictedNameParserRuleCall_0_0_1()); }
+ ruleUnrestrictedName{ after(grammarAccess.getConstructorPartCSAccess().getPropertyPropertyUnrestrictedNameParserRuleCall_0_0_1()); }
+)
+{ after(grammarAccess.getConstructorPartCSAccess().getPropertyPropertyCrossReference_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ConstructorPartCS__InitExpressionAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getConstructorPartCSAccess().getInitExpressionExpCSParserRuleCall_2_0()); }
+ ruleExpCS{ after(grammarAccess.getConstructorPartCSAccess().getInitExpressionExpCSParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralExpCS__OwnedPartsAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_2_0()); }
+ ruleTupleLiteralPartCS{ after(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_3_1_0()); }
+ ruleTupleLiteralPartCS{ after(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralPartCS__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralPartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); }
+ ruleUnrestrictedName{ after(grammarAccess.getTupleLiteralPartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); }
+ ruleTypeExpCS{ after(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TupleLiteralPartCS__InitExpressionAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTupleLiteralPartCSAccess().getInitExpressionExpCSParserRuleCall_3_0()); }
+ ruleExpCS{ after(grammarAccess.getTupleLiteralPartCSAccess().getInitExpressionExpCSParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NumberLiteralExpCS__NameAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNumberLiteralExpCSAccess().getNameNUMBER_LITERALParserRuleCall_0()); }
+ ruleNUMBER_LITERAL{ after(grammarAccess.getNumberLiteralExpCSAccess().getNameNUMBER_LITERALParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StringLiteralExpCS__NameAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStringLiteralExpCSAccess().getNameStringLiteralParserRuleCall_0()); }
+ ruleStringLiteral{ after(grammarAccess.getStringLiteralExpCSAccess().getNameStringLiteralParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BooleanLiteralExpCS__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBooleanLiteralExpCSAccess().getNameTrueKeyword_0_0()); }
+(
+{ before(grammarAccess.getBooleanLiteralExpCSAccess().getNameTrueKeyword_0_0()); }
+
+ 'true'
+
+{ after(grammarAccess.getBooleanLiteralExpCSAccess().getNameTrueKeyword_0_0()); }
+)
+
+{ after(grammarAccess.getBooleanLiteralExpCSAccess().getNameTrueKeyword_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BooleanLiteralExpCS__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBooleanLiteralExpCSAccess().getNameFalseKeyword_1_0()); }
+(
+{ before(grammarAccess.getBooleanLiteralExpCSAccess().getNameFalseKeyword_1_0()); }
+
+ 'false'
+
+{ after(grammarAccess.getBooleanLiteralExpCSAccess().getNameFalseKeyword_1_0()); }
+)
+
+{ after(grammarAccess.getBooleanLiteralExpCSAccess().getNameFalseKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypeLiteralExpCS__OwnedTypeAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeTypeLiteralCSParserRuleCall_0()); }
+ ruleTypeLiteralCS{ after(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeTypeLiteralCSParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypeNameExpCS__PathNameAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypeNameExpCSAccess().getPathNamePathNameCSParserRuleCall_0()); }
+ rulePathNameCS{ after(grammarAccess.getTypeNameExpCSAccess().getPathNamePathNameCSParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypeExpCS__MultiplicityAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypeExpCSAccess().getMultiplicityMultiplicityCSParserRuleCall_1_0()); }
+ ruleMultiplicityCS{ after(grammarAccess.getTypeExpCSAccess().getMultiplicityMultiplicityCSParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExpCS__OwnedExpressionAssignment_0_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpCSParserRuleCall_0_1_0_0()); }
+ rulePrefixedExpCS{ after(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpCSParserRuleCall_0_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExpCS__OwnedOperatorAssignment_0_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExpCSAccess().getOwnedOperatorBinaryOperatorCSParserRuleCall_0_1_1_0()); }
+ ruleBinaryOperatorCS{ after(grammarAccess.getExpCSAccess().getOwnedOperatorBinaryOperatorCSParserRuleCall_0_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExpCS__OwnedExpressionAssignment_0_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpOrLetExpCSParserRuleCall_0_2_0()); }
+ rulePrefixedExpOrLetExpCS{ after(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpOrLetExpCSParserRuleCall_0_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExpCS__OwnedOperatorAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0()); }
+ ruleUnaryOperatorCS{ after(grammarAccess.getExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExpCS__OwnedExpressionAssignment_1_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0()); }
+ rulePrimaryExpOrLetExpCS{ after(grammarAccess.getExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InfixOperatorCS__NameAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInfixOperatorCSAccess().getNameInfixOperatorParserRuleCall_0()); }
+ ruleInfixOperator{ after(grammarAccess.getInfixOperatorCSAccess().getNameInfixOperatorParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigationOperatorCS__NameAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigationOperatorCSAccess().getNameNavigationOperatorParserRuleCall_0()); }
+ ruleNavigationOperator{ after(grammarAccess.getNavigationOperatorCSAccess().getNameNavigationOperatorParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrefixedExpCS__OwnedOperatorAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0()); }
+ ruleUnaryOperatorCS{ after(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrefixedExpCS__OwnedExpressionAssignment_1_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrefixedExpCSAccess().getOwnedExpressionPrimaryExpCSParserRuleCall_1_2_0()); }
+ rulePrimaryExpCS{ after(grammarAccess.getPrefixedExpCSAccess().getOwnedExpressionPrimaryExpCSParserRuleCall_1_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0()); }
+ ruleUnaryOperatorCS{ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0()); }
+ rulePrimaryExpOrLetExpCS{ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__UnaryOperatorCS__NameAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getUnaryOperatorCSAccess().getNamePrefixOperatorParserRuleCall_0()); }
+ rulePrefixOperator{ after(grammarAccess.getUnaryOperatorCSAccess().getNamePrefixOperatorParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__PathNameAssignment_0_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_0_1_0()); }
+ rulePathNameCS{ after(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__FirstIndexesAssignment_0_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_3_0()); }
+ ruleExpCS{ after(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_4_1_0()); }
+ ruleExpCS{ after(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_1_0()); }
+ ruleExpCS{ after(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_2_1_0()); }
+ ruleExpCS{ after(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__AtPreAssignment_0_7_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_0_7_0_0()); }
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_0_7_0_0()); }
+
+ '@'
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_0_7_0_0()); }
+)
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_0_7_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__PathNameAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_1_1_0()); }
+ rulePathNameCS{ after(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__OwnedPartsAssignment_1_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_3_0()); }
+ ruleConstructorPartCS{ after(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_4_1_0()); }
+ ruleConstructorPartCS{ after(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__PathNameAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_2_1_0()); }
+ rulePathNameCS{ after(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__AtPreAssignment_2_2_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_2_2_0_0()); }
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_2_2_0_0()); }
+
+ '@'
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_2_2_0_0()); }
+)
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_2_2_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__ArgumentAssignment_2_4_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingArgCSParserRuleCall_2_4_0_0()); }
+ ruleNavigatingArgCS{ after(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingArgCSParserRuleCall_2_4_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__ArgumentAssignment_2_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_1_0()); }
+ ruleNavigatingCommaArgCS{ after(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingSemiArgCSParserRuleCall_2_4_2_0_0()); }
+ ruleNavigatingSemiArgCS{ after(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingSemiArgCSParserRuleCall_2_4_2_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_2_1_0()); }
+ ruleNavigatingCommaArgCS{ after(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingBarArgCSParserRuleCall_2_4_3_0_0()); }
+ ruleNavigatingBarArgCS{ after(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingBarArgCSParserRuleCall_2_4_3_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_3_1_0()); }
+ ruleNavigatingCommaArgCS{ after(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__PathNameAssignment_3_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_3_1_0()); }
+ rulePathNameCS{ after(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpCS__AtPreAssignment_3_2_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_3_2_0_0()); }
+(
+{ before(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_3_2_0_0()); }
+
+ '@'
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_3_2_0_0()); }
+)
+
+{ after(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_3_2_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingArgCS__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_0_0()); }
+ ruleNavigatingArgExpCS{ after(grammarAccess.getNavigatingArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingArgCS__OwnedTypeAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); }
+ ruleTypeExpCS{ after(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingArgCS__InitAssignment_1_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingArgCSAccess().getInitExpCSParserRuleCall_1_2_1_0()); }
+ ruleExpCS{ after(grammarAccess.getNavigatingArgCSAccess().getInitExpCSParserRuleCall_1_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingBarArgCS__PrefixAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0()); }
+(
+{ before(grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0()); }
+
+ '|'
+
+{ after(grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0()); }
+)
+
+{ after(grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingBarArgCS__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingBarArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0()); }
+ ruleNavigatingArgExpCS{ after(grammarAccess.getNavigatingBarArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); }
+ ruleTypeExpCS{ after(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingBarArgCS__InitAssignment_2_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingBarArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0()); }
+ ruleExpCS{ after(grammarAccess.getNavigatingBarArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingCommaArgCS__PrefixAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0()); }
+(
+{ before(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0()); }
+
+ ','
+
+{ after(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0()); }
+)
+
+{ after(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingCommaArgCS__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingCommaArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0()); }
+ ruleNavigatingArgExpCS{ after(grammarAccess.getNavigatingCommaArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); }
+ ruleTypeExpCS{ after(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingCommaArgCS__InitAssignment_2_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingCommaArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0()); }
+ ruleExpCS{ after(grammarAccess.getNavigatingCommaArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingSemiArgCS__PrefixAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0()); }
+(
+{ before(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0()); }
+
+ ';'
+
+{ after(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0()); }
+)
+
+{ after(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingSemiArgCS__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingSemiArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0()); }
+ ruleNavigatingArgExpCS{ after(grammarAccess.getNavigatingSemiArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); }
+ ruleTypeExpCS{ after(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NavigatingSemiArgCS__InitAssignment_2_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNavigatingSemiArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0()); }
+ ruleExpCS{ after(grammarAccess.getNavigatingSemiArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__IfExpCS__ConditionAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getIfExpCSAccess().getConditionExpCSParserRuleCall_1_0()); }
+ ruleExpCS{ after(grammarAccess.getIfExpCSAccess().getConditionExpCSParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__IfExpCS__ThenExpressionAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getIfExpCSAccess().getThenExpressionExpCSParserRuleCall_3_0()); }
+ ruleExpCS{ after(grammarAccess.getIfExpCSAccess().getThenExpressionExpCSParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__IfExpCS__ElseExpressionAssignment_5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getIfExpCSAccess().getElseExpressionExpCSParserRuleCall_5_0()); }
+ ruleExpCS{ after(grammarAccess.getIfExpCSAccess().getElseExpressionExpCSParserRuleCall_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetExpCS__VariableAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetExpCSAccess().getVariableLetVariableCSParserRuleCall_1_0()); }
+ ruleLetVariableCS{ after(grammarAccess.getLetExpCSAccess().getVariableLetVariableCSParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetExpCS__VariableAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetExpCSAccess().getVariableLetVariableCSParserRuleCall_2_1_0()); }
+ ruleLetVariableCS{ after(grammarAccess.getLetExpCSAccess().getVariableLetVariableCSParserRuleCall_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetExpCS__InAssignment_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetExpCSAccess().getInExpCSParserRuleCall_4_0()); }
+ ruleExpCS{ after(grammarAccess.getLetExpCSAccess().getInExpCSParserRuleCall_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetVariableCS__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); }
+ ruleUnrestrictedName{ after(grammarAccess.getLetVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetVariableCS__OwnedTypeAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetVariableCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); }
+ ruleTypeExpCS{ after(grammarAccess.getLetVariableCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LetVariableCS__InitExpressionAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLetVariableCSAccess().getInitExpressionExpCSParserRuleCall_3_0()); }
+ ruleExpCS{ after(grammarAccess.getLetVariableCSAccess().getInitExpressionExpCSParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NestedExpCS__SourceAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNestedExpCSAccess().getSourceExpCSParserRuleCall_1_0()); }
+ ruleExpCS{ after(grammarAccess.getNestedExpCSAccess().getSourceExpCSParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+fragment RULE_ESCAPED_CHARACTER : '\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\');
+
+fragment RULE_LETTER_CHARACTER : ('a'..'z'|'A'..'Z'|'_');
+
+fragment RULE_DIGIT_CHARACTER : '0'..'9';
+
+RULE_DOUBLE_QUOTED_STRING : '"' (RULE_ESCAPED_CHARACTER|~(('\\'|'"')))* '"';
+
+RULE_SINGLE_QUOTED_STRING : '\'' (RULE_ESCAPED_CHARACTER|~(('\\'|'\'')))* '\'';
+
+RULE_ML_SINGLE_QUOTED_STRING : '/\'' ( options {greedy=false;} : . )*'\'/';
+
+RULE_SIMPLE_ID : RULE_LETTER_CHARACTER (RULE_LETTER_CHARACTER|RULE_DIGIT_CHARACTER)*;
+
+RULE_ESCAPED_ID : '_' RULE_SINGLE_QUOTED_STRING;
+
+RULE_INT : RULE_DIGIT_CHARACTER+;
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_SL_COMMENT : '--' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
+
+
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.tokens b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.tokens
new file mode 100644
index 000000000..be2b5d4dd
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.tokens
@@ -0,0 +1,169 @@
+T__42=42
+T__47=47
+T__73=73
+T__21=21
+RULE_ML_SINGLE_QUOTED_STRING=12
+T__72=72
+T__70=70
+T__39=39
+T__30=30
+T__46=46
+T__49=49
+RULE_DOUBLE_QUOTED_STRING=11
+T__54=54
+T__48=48
+RULE_ESCAPED_CHARACTER=8
+T__89=89
+T__20=20
+T__79=79
+T__64=64
+T__44=44
+T__66=66
+T__92=92
+T__88=88
+T__22=22
+RULE_ESCAPED_ID=7
+T__90=90
+RULE_WS=15
+T__63=63
+T__43=43
+T__91=91
+T__40=40
+T__85=85
+T__26=26
+T__25=25
+RULE_SL_COMMENT=14
+T__60=60
+T__41=41
+T__93=93
+T__86=86
+T__28=28
+T__23=23
+T__57=57
+T__94=94
+RULE_DIGIT_CHARACTER=10
+T__51=51
+T__80=80
+RULE_LETTER_CHARACTER=9
+T__69=69
+T__50=50
+T__19=19
+T__65=65
+T__67=67
+T__87=87
+T__74=74
+T__52=52
+T__68=68
+T__17=17
+T__62=62
+RULE_INT=4
+T__27=27
+T__24=24
+T__61=61
+RULE_SINGLE_QUOTED_STRING=5
+T__59=59
+T__34=34
+T__56=56
+RULE_ML_COMMENT=13
+T__35=35
+T__78=78
+T__36=36
+T__58=58
+RULE_SIMPLE_ID=6
+T__33=33
+T__77=77
+T__55=55
+T__45=45
+T__29=29
+T__84=84
+T__75=75
+T__31=31
+T__53=53
+T__32=32
+T__38=38
+T__37=37
+T__76=76
+RULE_ANY_OTHER=16
+T__82=82
+T__81=81
+T__83=83
+T__18=18
+T__71=71
+'<'=43
+'pre'=83
+'..'=78
+'>'=42
+'transformation'=32
+'checkonly'=18
+'let'=88
+'else'=86
+'domain'=20
+'key'=25
+'invalid'=81
+'-'=39
+'Integer'=56
+'String'=58
+'?'=68
+'>='=44
+'Bag'=64
+'E'=37
+'<='=45
+'='=46
+'Real'=57
+'Sequence'=65
+'::'=77
+'implementedby'=23
+'Boolean'=55
+'++'=75
+'xor'=50
+'{'=71
+'OclVoid'=62
+'then'=85
+'overrides'=26
+'OrderedSet'=67
+':'=74
+'OclAny'=60
+'Tuple'=54
+'.'=52
+'*'=35
+'<>'=47
+'Set'=63
+'}'=72
+'->'=53
+'self'=90
+'relation'=29
+'where'=34
+';'=17
+'true'=91
+']'=80
+'replace'=30
+'false'=92
+','=73
+'endif'=87
+'not'=40
+'query'=28
+'['=79
+'or'=49
+'/'=41
+'Collection'=66
+'and'=48
+'implies'=51
+'|'=94
+')'=70
+'e'=36
+'top'=31
+'primitive'=27
+'_'=76
+'OclInvalid'=61
+'@'=93
+'import'=24
+'if'=84
+'('=69
+'when'=33
+'enforce'=21
+'UnlimitedNatural'=59
+'extends'=22
+'in'=89
+'null'=82
+'+'=38
+'default_values'=19
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelationLexer.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelationLexer.java
new file mode 100644
index 000000000..6a8c4f5c9
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelationLexer.java
@@ -0,0 +1,3627 @@
+package org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalQVTrelationLexer extends Lexer {
+ public static final int T__42=42;
+ public static final int T__47=47;
+ public static final int T__73=73;
+ public static final int T__21=21;
+ public static final int RULE_ML_SINGLE_QUOTED_STRING=12;
+ public static final int T__72=72;
+ public static final int T__70=70;
+ public static final int T__39=39;
+ public static final int T__30=30;
+ public static final int T__46=46;
+ public static final int T__49=49;
+ public static final int RULE_DOUBLE_QUOTED_STRING=11;
+ public static final int T__54=54;
+ public static final int T__48=48;
+ public static final int RULE_ESCAPED_CHARACTER=8;
+ public static final int T__89=89;
+ public static final int T__20=20;
+ public static final int T__79=79;
+ public static final int T__64=64;
+ public static final int T__44=44;
+ public static final int T__66=66;
+ public static final int T__92=92;
+ public static final int T__88=88;
+ public static final int T__22=22;
+ public static final int RULE_ESCAPED_ID=7;
+ public static final int T__90=90;
+ public static final int T__63=63;
+ public static final int RULE_WS=15;
+ public static final int T__91=91;
+ public static final int T__43=43;
+ public static final int T__40=40;
+ public static final int T__85=85;
+ public static final int T__26=26;
+ public static final int T__25=25;
+ public static final int RULE_SL_COMMENT=14;
+ public static final int T__60=60;
+ public static final int T__41=41;
+ public static final int T__93=93;
+ public static final int T__86=86;
+ public static final int T__28=28;
+ public static final int T__23=23;
+ public static final int T__57=57;
+ public static final int T__94=94;
+ public static final int RULE_DIGIT_CHARACTER=10;
+ public static final int T__51=51;
+ public static final int T__80=80;
+ public static final int RULE_LETTER_CHARACTER=9;
+ public static final int T__69=69;
+ public static final int T__50=50;
+ public static final int T__19=19;
+ public static final int T__65=65;
+ public static final int T__67=67;
+ public static final int T__87=87;
+ public static final int T__74=74;
+ public static final int T__52=52;
+ public static final int T__68=68;
+ public static final int T__17=17;
+ public static final int T__62=62;
+ public static final int RULE_INT=4;
+ public static final int T__27=27;
+ public static final int T__24=24;
+ public static final int T__61=61;
+ public static final int RULE_SINGLE_QUOTED_STRING=5;
+ public static final int T__59=59;
+ public static final int T__34=34;
+ public static final int T__56=56;
+ public static final int RULE_ML_COMMENT=13;
+ public static final int T__35=35;
+ public static final int T__78=78;
+ public static final int T__36=36;
+ public static final int T__58=58;
+ public static final int RULE_SIMPLE_ID=6;
+ public static final int T__33=33;
+ public static final int T__77=77;
+ public static final int T__55=55;
+ public static final int T__45=45;
+ public static final int T__29=29;
+ public static final int T__84=84;
+ public static final int T__75=75;
+ public static final int T__31=31;
+ public static final int EOF=-1;
+ public static final int T__53=53;
+ public static final int T__32=32;
+ public static final int T__38=38;
+ public static final int T__37=37;
+ public static final int T__76=76;
+ public static final int RULE_ANY_OTHER=16;
+ public static final int T__82=82;
+ public static final int T__81=81;
+ public static final int T__83=83;
+ public static final int T__71=71;
+ public static final int T__18=18;
+
+ // delegates
+ // delegators
+
+ public InternalQVTrelationLexer() {;}
+ public InternalQVTrelationLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalQVTrelationLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g"; }
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11:7: ( ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11:9: ';'
+ {
+ match(';');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12:7: ( 'checkonly' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12:9: 'checkonly'
+ {
+ match("checkonly");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13:7: ( 'default_values' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13:9: 'default_values'
+ {
+ match("default_values");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14:7: ( 'domain' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14:9: 'domain'
+ {
+ match("domain");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15:7: ( 'enforce' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15:9: 'enforce'
+ {
+ match("enforce");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16:7: ( 'extends' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16:9: 'extends'
+ {
+ match("extends");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__22"
+
+ // $ANTLR start "T__23"
+ public final void mT__23() throws RecognitionException {
+ try {
+ int _type = T__23;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:17:7: ( 'implementedby' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:17:9: 'implementedby'
+ {
+ match("implementedby");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__23"
+
+ // $ANTLR start "T__24"
+ public final void mT__24() throws RecognitionException {
+ try {
+ int _type = T__24;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:18:7: ( 'import' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:18:9: 'import'
+ {
+ match("import");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__24"
+
+ // $ANTLR start "T__25"
+ public final void mT__25() throws RecognitionException {
+ try {
+ int _type = T__25;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:19:7: ( 'key' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:19:9: 'key'
+ {
+ match("key");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__25"
+
+ // $ANTLR start "T__26"
+ public final void mT__26() throws RecognitionException {
+ try {
+ int _type = T__26;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:20:7: ( 'overrides' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:20:9: 'overrides'
+ {
+ match("overrides");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__26"
+
+ // $ANTLR start "T__27"
+ public final void mT__27() throws RecognitionException {
+ try {
+ int _type = T__27;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:21:7: ( 'primitive' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:21:9: 'primitive'
+ {
+ match("primitive");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__27"
+
+ // $ANTLR start "T__28"
+ public final void mT__28() throws RecognitionException {
+ try {
+ int _type = T__28;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:22:7: ( 'query' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:22:9: 'query'
+ {
+ match("query");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__28"
+
+ // $ANTLR start "T__29"
+ public final void mT__29() throws RecognitionException {
+ try {
+ int _type = T__29;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:23:7: ( 'relation' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:23:9: 'relation'
+ {
+ match("relation");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__29"
+
+ // $ANTLR start "T__30"
+ public final void mT__30() throws RecognitionException {
+ try {
+ int _type = T__30;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:24:7: ( 'replace' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:24:9: 'replace'
+ {
+ match("replace");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__30"
+
+ // $ANTLR start "T__31"
+ public final void mT__31() throws RecognitionException {
+ try {
+ int _type = T__31;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:25:7: ( 'top' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:25:9: 'top'
+ {
+ match("top");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__31"
+
+ // $ANTLR start "T__32"
+ public final void mT__32() throws RecognitionException {
+ try {
+ int _type = T__32;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:26:7: ( 'transformation' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:26:9: 'transformation'
+ {
+ match("transformation");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__32"
+
+ // $ANTLR start "T__33"
+ public final void mT__33() throws RecognitionException {
+ try {
+ int _type = T__33;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:27:7: ( 'when' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:27:9: 'when'
+ {
+ match("when");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__33"
+
+ // $ANTLR start "T__34"
+ public final void mT__34() throws RecognitionException {
+ try {
+ int _type = T__34;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:28:7: ( 'where' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:28:9: 'where'
+ {
+ match("where");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__34"
+
+ // $ANTLR start "T__35"
+ public final void mT__35() throws RecognitionException {
+ try {
+ int _type = T__35;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:29:7: ( '*' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:29:9: '*'
+ {
+ match('*');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__35"
+
+ // $ANTLR start "T__36"
+ public final void mT__36() throws RecognitionException {
+ try {
+ int _type = T__36;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:30:7: ( 'e' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:30:9: 'e'
+ {
+ match('e');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__36"
+
+ // $ANTLR start "T__37"
+ public final void mT__37() throws RecognitionException {
+ try {
+ int _type = T__37;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:31:7: ( 'E' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:31:9: 'E'
+ {
+ match('E');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__37"
+
+ // $ANTLR start "T__38"
+ public final void mT__38() throws RecognitionException {
+ try {
+ int _type = T__38;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:32:7: ( '+' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:32:9: '+'
+ {
+ match('+');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__38"
+
+ // $ANTLR start "T__39"
+ public final void mT__39() throws RecognitionException {
+ try {
+ int _type = T__39;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:33:7: ( '-' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:33:9: '-'
+ {
+ match('-');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__39"
+
+ // $ANTLR start "T__40"
+ public final void mT__40() throws RecognitionException {
+ try {
+ int _type = T__40;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:34:7: ( 'not' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:34:9: 'not'
+ {
+ match("not");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__40"
+
+ // $ANTLR start "T__41"
+ public final void mT__41() throws RecognitionException {
+ try {
+ int _type = T__41;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:35:7: ( '/' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:35:9: '/'
+ {
+ match('/');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__41"
+
+ // $ANTLR start "T__42"
+ public final void mT__42() throws RecognitionException {
+ try {
+ int _type = T__42;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:36:7: ( '>' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:36:9: '>'
+ {
+ match('>');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__42"
+
+ // $ANTLR start "T__43"
+ public final void mT__43() throws RecognitionException {
+ try {
+ int _type = T__43;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:37:7: ( '<' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:37:9: '<'
+ {
+ match('<');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__43"
+
+ // $ANTLR start "T__44"
+ public final void mT__44() throws RecognitionException {
+ try {
+ int _type = T__44;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:38:7: ( '>=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:38:9: '>='
+ {
+ match(">=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__44"
+
+ // $ANTLR start "T__45"
+ public final void mT__45() throws RecognitionException {
+ try {
+ int _type = T__45;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:39:7: ( '<=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:39:9: '<='
+ {
+ match("<=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__45"
+
+ // $ANTLR start "T__46"
+ public final void mT__46() throws RecognitionException {
+ try {
+ int _type = T__46;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:40:7: ( '=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:40:9: '='
+ {
+ match('=');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__46"
+
+ // $ANTLR start "T__47"
+ public final void mT__47() throws RecognitionException {
+ try {
+ int _type = T__47;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:41:7: ( '<>' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:41:9: '<>'
+ {
+ match("<>");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__47"
+
+ // $ANTLR start "T__48"
+ public final void mT__48() throws RecognitionException {
+ try {
+ int _type = T__48;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:42:7: ( 'and' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:42:9: 'and'
+ {
+ match("and");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__48"
+
+ // $ANTLR start "T__49"
+ public final void mT__49() throws RecognitionException {
+ try {
+ int _type = T__49;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:43:7: ( 'or' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:43:9: 'or'
+ {
+ match("or");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__49"
+
+ // $ANTLR start "T__50"
+ public final void mT__50() throws RecognitionException {
+ try {
+ int _type = T__50;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:44:7: ( 'xor' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:44:9: 'xor'
+ {
+ match("xor");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__50"
+
+ // $ANTLR start "T__51"
+ public final void mT__51() throws RecognitionException {
+ try {
+ int _type = T__51;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:45:7: ( 'implies' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:45:9: 'implies'
+ {
+ match("implies");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__51"
+
+ // $ANTLR start "T__52"
+ public final void mT__52() throws RecognitionException {
+ try {
+ int _type = T__52;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:46:7: ( '.' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:46:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__52"
+
+ // $ANTLR start "T__53"
+ public final void mT__53() throws RecognitionException {
+ try {
+ int _type = T__53;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:47:7: ( '->' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:47:9: '->'
+ {
+ match("->");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__53"
+
+ // $ANTLR start "T__54"
+ public final void mT__54() throws RecognitionException {
+ try {
+ int _type = T__54;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:48:7: ( 'Tuple' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:48:9: 'Tuple'
+ {
+ match("Tuple");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__54"
+
+ // $ANTLR start "T__55"
+ public final void mT__55() throws RecognitionException {
+ try {
+ int _type = T__55;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:49:7: ( 'Boolean' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:49:9: 'Boolean'
+ {
+ match("Boolean");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__55"
+
+ // $ANTLR start "T__56"
+ public final void mT__56() throws RecognitionException {
+ try {
+ int _type = T__56;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:50:7: ( 'Integer' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:50:9: 'Integer'
+ {
+ match("Integer");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__56"
+
+ // $ANTLR start "T__57"
+ public final void mT__57() throws RecognitionException {
+ try {
+ int _type = T__57;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:51:7: ( 'Real' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:51:9: 'Real'
+ {
+ match("Real");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__57"
+
+ // $ANTLR start "T__58"
+ public final void mT__58() throws RecognitionException {
+ try {
+ int _type = T__58;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:52:7: ( 'String' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:52:9: 'String'
+ {
+ match("String");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__58"
+
+ // $ANTLR start "T__59"
+ public final void mT__59() throws RecognitionException {
+ try {
+ int _type = T__59;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:53:7: ( 'UnlimitedNatural' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:53:9: 'UnlimitedNatural'
+ {
+ match("UnlimitedNatural");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__59"
+
+ // $ANTLR start "T__60"
+ public final void mT__60() throws RecognitionException {
+ try {
+ int _type = T__60;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:54:7: ( 'OclAny' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:54:9: 'OclAny'
+ {
+ match("OclAny");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__60"
+
+ // $ANTLR start "T__61"
+ public final void mT__61() throws RecognitionException {
+ try {
+ int _type = T__61;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:55:7: ( 'OclInvalid' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:55:9: 'OclInvalid'
+ {
+ match("OclInvalid");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__61"
+
+ // $ANTLR start "T__62"
+ public final void mT__62() throws RecognitionException {
+ try {
+ int _type = T__62;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:56:7: ( 'OclVoid' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:56:9: 'OclVoid'
+ {
+ match("OclVoid");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__62"
+
+ // $ANTLR start "T__63"
+ public final void mT__63() throws RecognitionException {
+ try {
+ int _type = T__63;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:57:7: ( 'Set' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:57:9: 'Set'
+ {
+ match("Set");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__63"
+
+ // $ANTLR start "T__64"
+ public final void mT__64() throws RecognitionException {
+ try {
+ int _type = T__64;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:58:7: ( 'Bag' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:58:9: 'Bag'
+ {
+ match("Bag");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__64"
+
+ // $ANTLR start "T__65"
+ public final void mT__65() throws RecognitionException {
+ try {
+ int _type = T__65;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:59:7: ( 'Sequence' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:59:9: 'Sequence'
+ {
+ match("Sequence");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__65"
+
+ // $ANTLR start "T__66"
+ public final void mT__66() throws RecognitionException {
+ try {
+ int _type = T__66;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:60:7: ( 'Collection' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:60:9: 'Collection'
+ {
+ match("Collection");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__66"
+
+ // $ANTLR start "T__67"
+ public final void mT__67() throws RecognitionException {
+ try {
+ int _type = T__67;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:61:7: ( 'OrderedSet' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:61:9: 'OrderedSet'
+ {
+ match("OrderedSet");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__67"
+
+ // $ANTLR start "T__68"
+ public final void mT__68() throws RecognitionException {
+ try {
+ int _type = T__68;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:62:7: ( '?' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:62:9: '?'
+ {
+ match('?');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__68"
+
+ // $ANTLR start "T__69"
+ public final void mT__69() throws RecognitionException {
+ try {
+ int _type = T__69;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:63:7: ( '(' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:63:9: '('
+ {
+ match('(');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__69"
+
+ // $ANTLR start "T__70"
+ public final void mT__70() throws RecognitionException {
+ try {
+ int _type = T__70;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:64:7: ( ')' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:64:9: ')'
+ {
+ match(')');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__70"
+
+ // $ANTLR start "T__71"
+ public final void mT__71() throws RecognitionException {
+ try {
+ int _type = T__71;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:65:7: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:65:9: '{'
+ {
+ match('{');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__71"
+
+ // $ANTLR start "T__72"
+ public final void mT__72() throws RecognitionException {
+ try {
+ int _type = T__72;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:66:7: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:66:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__72"
+
+ // $ANTLR start "T__73"
+ public final void mT__73() throws RecognitionException {
+ try {
+ int _type = T__73;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:67:7: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:67:9: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__73"
+
+ // $ANTLR start "T__74"
+ public final void mT__74() throws RecognitionException {
+ try {
+ int _type = T__74;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:68:7: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:68:9: ':'
+ {
+ match(':');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__74"
+
+ // $ANTLR start "T__75"
+ public final void mT__75() throws RecognitionException {
+ try {
+ int _type = T__75;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:69:7: ( '++' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:69:9: '++'
+ {
+ match("++");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__75"
+
+ // $ANTLR start "T__76"
+ public final void mT__76() throws RecognitionException {
+ try {
+ int _type = T__76;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:70:7: ( '_' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:70:9: '_'
+ {
+ match('_');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__76"
+
+ // $ANTLR start "T__77"
+ public final void mT__77() throws RecognitionException {
+ try {
+ int _type = T__77;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:71:7: ( '::' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:71:9: '::'
+ {
+ match("::");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__77"
+
+ // $ANTLR start "T__78"
+ public final void mT__78() throws RecognitionException {
+ try {
+ int _type = T__78;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:72:7: ( '..' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:72:9: '..'
+ {
+ match("..");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__78"
+
+ // $ANTLR start "T__79"
+ public final void mT__79() throws RecognitionException {
+ try {
+ int _type = T__79;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:73:7: ( '[' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:73:9: '['
+ {
+ match('[');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__79"
+
+ // $ANTLR start "T__80"
+ public final void mT__80() throws RecognitionException {
+ try {
+ int _type = T__80;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:74:7: ( ']' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:74:9: ']'
+ {
+ match(']');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__80"
+
+ // $ANTLR start "T__81"
+ public final void mT__81() throws RecognitionException {
+ try {
+ int _type = T__81;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:75:7: ( 'invalid' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:75:9: 'invalid'
+ {
+ match("invalid");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__81"
+
+ // $ANTLR start "T__82"
+ public final void mT__82() throws RecognitionException {
+ try {
+ int _type = T__82;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:76:7: ( 'null' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:76:9: 'null'
+ {
+ match("null");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__82"
+
+ // $ANTLR start "T__83"
+ public final void mT__83() throws RecognitionException {
+ try {
+ int _type = T__83;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:77:7: ( 'pre' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:77:9: 'pre'
+ {
+ match("pre");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__83"
+
+ // $ANTLR start "T__84"
+ public final void mT__84() throws RecognitionException {
+ try {
+ int _type = T__84;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:78:7: ( 'if' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:78:9: 'if'
+ {
+ match("if");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__84"
+
+ // $ANTLR start "T__85"
+ public final void mT__85() throws RecognitionException {
+ try {
+ int _type = T__85;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:79:7: ( 'then' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:79:9: 'then'
+ {
+ match("then");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__85"
+
+ // $ANTLR start "T__86"
+ public final void mT__86() throws RecognitionException {
+ try {
+ int _type = T__86;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:80:7: ( 'else' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:80:9: 'else'
+ {
+ match("else");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__86"
+
+ // $ANTLR start "T__87"
+ public final void mT__87() throws RecognitionException {
+ try {
+ int _type = T__87;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:81:7: ( 'endif' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:81:9: 'endif'
+ {
+ match("endif");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__87"
+
+ // $ANTLR start "T__88"
+ public final void mT__88() throws RecognitionException {
+ try {
+ int _type = T__88;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:82:7: ( 'let' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:82:9: 'let'
+ {
+ match("let");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__88"
+
+ // $ANTLR start "T__89"
+ public final void mT__89() throws RecognitionException {
+ try {
+ int _type = T__89;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:83:7: ( 'in' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:83:9: 'in'
+ {
+ match("in");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__89"
+
+ // $ANTLR start "T__90"
+ public final void mT__90() throws RecognitionException {
+ try {
+ int _type = T__90;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:84:7: ( 'self' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:84:9: 'self'
+ {
+ match("self");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__90"
+
+ // $ANTLR start "T__91"
+ public final void mT__91() throws RecognitionException {
+ try {
+ int _type = T__91;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:85:7: ( 'true' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:85:9: 'true'
+ {
+ match("true");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__91"
+
+ // $ANTLR start "T__92"
+ public final void mT__92() throws RecognitionException {
+ try {
+ int _type = T__92;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:86:7: ( 'false' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:86:9: 'false'
+ {
+ match("false");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__92"
+
+ // $ANTLR start "T__93"
+ public final void mT__93() throws RecognitionException {
+ try {
+ int _type = T__93;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:87:7: ( '@' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:87:9: '@'
+ {
+ match('@');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__93"
+
+ // $ANTLR start "T__94"
+ public final void mT__94() throws RecognitionException {
+ try {
+ int _type = T__94;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:88:7: ( '|' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:88:9: '|'
+ {
+ match('|');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__94"
+
+ // $ANTLR start "RULE_ESCAPED_CHARACTER"
+ public final void mRULE_ESCAPED_CHARACTER() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16946:33: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16946:35: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+ {
+ match('\\');
+ if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ESCAPED_CHARACTER"
+
+ // $ANTLR start "RULE_LETTER_CHARACTER"
+ public final void mRULE_LETTER_CHARACTER() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16948:32: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16948:34: ( 'a' .. 'z' | 'A' .. 'Z' | '_' )
+ {
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_LETTER_CHARACTER"
+
+ // $ANTLR start "RULE_DIGIT_CHARACTER"
+ public final void mRULE_DIGIT_CHARACTER() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16950:31: ( '0' .. '9' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16950:33: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_DIGIT_CHARACTER"
+
+ // $ANTLR start "RULE_DOUBLE_QUOTED_STRING"
+ public final void mRULE_DOUBLE_QUOTED_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_DOUBLE_QUOTED_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16952:27: ( '\"' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16952:29: '\"' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16952:33: ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop1:
+ do {
+ int alt1=3;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='\\') ) {
+ alt1=1;
+ }
+ else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) {
+ alt1=2;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16952:34: RULE_ESCAPED_CHARACTER
+ {
+ mRULE_ESCAPED_CHARACTER();
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16952:57: ~ ( ( '\\\\' | '\"' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_DOUBLE_QUOTED_STRING"
+
+ // $ANTLR start "RULE_SINGLE_QUOTED_STRING"
+ public final void mRULE_SINGLE_QUOTED_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_SINGLE_QUOTED_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16954:27: ( '\\'' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16954:29: '\\'' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ {
+ match('\'');
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16954:34: ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop2:
+ do {
+ int alt2=3;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0=='\\') ) {
+ alt2=1;
+ }
+ else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) {
+ alt2=2;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16954:35: RULE_ESCAPED_CHARACTER
+ {
+ mRULE_ESCAPED_CHARACTER();
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16954:58: ~ ( ( '\\\\' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+ match('\'');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SINGLE_QUOTED_STRING"
+
+ // $ANTLR start "RULE_ML_SINGLE_QUOTED_STRING"
+ public final void mRULE_ML_SINGLE_QUOTED_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_ML_SINGLE_QUOTED_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16956:30: ( '/\\'' ( options {greedy=false; } : . )* '\\'/' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16956:32: '/\\'' ( options {greedy=false; } : . )* '\\'/'
+ {
+ match("/'");
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16956:38: ( options {greedy=false; } : . )*
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0=='\'') ) {
+ int LA3_1 = input.LA(2);
+
+ if ( (LA3_1=='/') ) {
+ alt3=2;
+ }
+ else if ( ((LA3_1>='\u0000' && LA3_1<='.')||(LA3_1>='0' && LA3_1<='\uFFFF')) ) {
+ alt3=1;
+ }
+
+
+ }
+ else if ( ((LA3_0>='\u0000' && LA3_0<='&')||(LA3_0>='(' && LA3_0<='\uFFFF')) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16956:66: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop3;
+ }
+ } while (true);
+
+ match("'/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_SINGLE_QUOTED_STRING"
+
+ // $ANTLR start "RULE_SIMPLE_ID"
+ public final void mRULE_SIMPLE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_SIMPLE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16958:16: ( RULE_LETTER_CHARACTER ( RULE_LETTER_CHARACTER | RULE_DIGIT_CHARACTER )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16958:18: RULE_LETTER_CHARACTER ( RULE_LETTER_CHARACTER | RULE_DIGIT_CHARACTER )*
+ {
+ mRULE_LETTER_CHARACTER();
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16958:40: ( RULE_LETTER_CHARACTER | RULE_DIGIT_CHARACTER )*
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SIMPLE_ID"
+
+ // $ANTLR start "RULE_ESCAPED_ID"
+ public final void mRULE_ESCAPED_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ESCAPED_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16960:17: ( '_' RULE_SINGLE_QUOTED_STRING )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16960:19: '_' RULE_SINGLE_QUOTED_STRING
+ {
+ match('_');
+ mRULE_SINGLE_QUOTED_STRING();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ESCAPED_ID"
+
+ // $ANTLR start "RULE_INT"
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16962:10: ( ( RULE_DIGIT_CHARACTER )+ )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16962:12: ( RULE_DIGIT_CHARACTER )+
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16962:12: ( RULE_DIGIT_CHARACTER )+
+ int cnt5=0;
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16962:12: RULE_DIGIT_CHARACTER
+ {
+ mRULE_DIGIT_CHARACTER();
+
+ }
+ break;
+
+ default :
+ if ( cnt5 >= 1 ) break loop5;
+ EarlyExitException eee =
+ new EarlyExitException(5, input);
+ throw eee;
+ }
+ cnt5++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INT"
+
+ // $ANTLR start "RULE_ML_COMMENT"
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16964:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16964:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16964:24: ( options {greedy=false; } : . )*
+ loop6:
+ do {
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='*') ) {
+ int LA6_1 = input.LA(2);
+
+ if ( (LA6_1=='/') ) {
+ alt6=2;
+ }
+ else if ( ((LA6_1>='\u0000' && LA6_1<='.')||(LA6_1>='0' && LA6_1<='\uFFFF')) ) {
+ alt6=1;
+ }
+
+
+ }
+ else if ( ((LA6_0>='\u0000' && LA6_0<=')')||(LA6_0>='+' && LA6_0<='\uFFFF')) ) {
+ alt6=1;
+ }
+
+
+ switch (alt6) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16964:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop6;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16966:17: ( '--' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16966:19: '--' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("--");
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16966:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( ((LA7_0>='\u0000' && LA7_0<='\t')||(LA7_0>='\u000B' && LA7_0<='\f')||(LA7_0>='\u000E' && LA7_0<='\uFFFF')) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16966:24: ~ ( ( '\\n' | '\\r' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16966:40: ( ( '\\r' )? '\\n' )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='\n'||LA9_0=='\r') ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16966:41: ( '\\r' )? '\\n'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16966:41: ( '\\r' )?
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0=='\r') ) {
+ alt8=1;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16966:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16968:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16968:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16968:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt10=0;
+ loop10:
+ do {
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {
+ alt10=1;
+ }
+
+
+ switch (alt10) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:
+ {
+ if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt10 >= 1 ) break loop10;
+ EarlyExitException eee =
+ new EarlyExitException(10, input);
+ throw eee;
+ }
+ cnt10++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16970:16: ( . )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16970:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:8: ( T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | RULE_DOUBLE_QUOTED_STRING | RULE_SINGLE_QUOTED_STRING | RULE_ML_SINGLE_QUOTED_STRING | RULE_SIMPLE_ID | RULE_ESCAPED_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt11=88;
+ alt11 = dfa11.predict(input);
+ switch (alt11) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:10: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:16: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:22: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:28: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 5 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:34: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 6 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:40: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 7 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:46: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 8 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:52: T__24
+ {
+ mT__24();
+
+ }
+ break;
+ case 9 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:58: T__25
+ {
+ mT__25();
+
+ }
+ break;
+ case 10 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:64: T__26
+ {
+ mT__26();
+
+ }
+ break;
+ case 11 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:70: T__27
+ {
+ mT__27();
+
+ }
+ break;
+ case 12 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:76: T__28
+ {
+ mT__28();
+
+ }
+ break;
+ case 13 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:82: T__29
+ {
+ mT__29();
+
+ }
+ break;
+ case 14 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:88: T__30
+ {
+ mT__30();
+
+ }
+ break;
+ case 15 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:94: T__31
+ {
+ mT__31();
+
+ }
+ break;
+ case 16 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:100: T__32
+ {
+ mT__32();
+
+ }
+ break;
+ case 17 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:106: T__33
+ {
+ mT__33();
+
+ }
+ break;
+ case 18 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:112: T__34
+ {
+ mT__34();
+
+ }
+ break;
+ case 19 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:118: T__35
+ {
+ mT__35();
+
+ }
+ break;
+ case 20 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:124: T__36
+ {
+ mT__36();
+
+ }
+ break;
+ case 21 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:130: T__37
+ {
+ mT__37();
+
+ }
+ break;
+ case 22 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:136: T__38
+ {
+ mT__38();
+
+ }
+ break;
+ case 23 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:142: T__39
+ {
+ mT__39();
+
+ }
+ break;
+ case 24 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:148: T__40
+ {
+ mT__40();
+
+ }
+ break;
+ case 25 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:154: T__41
+ {
+ mT__41();
+
+ }
+ break;
+ case 26 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:160: T__42
+ {
+ mT__42();
+
+ }
+ break;
+ case 27 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:166: T__43
+ {
+ mT__43();
+
+ }
+ break;
+ case 28 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:172: T__44
+ {
+ mT__44();
+
+ }
+ break;
+ case 29 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:178: T__45
+ {
+ mT__45();
+
+ }
+ break;
+ case 30 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:184: T__46
+ {
+ mT__46();
+
+ }
+ break;
+ case 31 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:190: T__47
+ {
+ mT__47();
+
+ }
+ break;
+ case 32 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:196: T__48
+ {
+ mT__48();
+
+ }
+ break;
+ case 33 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:202: T__49
+ {
+ mT__49();
+
+ }
+ break;
+ case 34 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:208: T__50
+ {
+ mT__50();
+
+ }
+ break;
+ case 35 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:214: T__51
+ {
+ mT__51();
+
+ }
+ break;
+ case 36 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:220: T__52
+ {
+ mT__52();
+
+ }
+ break;
+ case 37 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:226: T__53
+ {
+ mT__53();
+
+ }
+ break;
+ case 38 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:232: T__54
+ {
+ mT__54();
+
+ }
+ break;
+ case 39 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:238: T__55
+ {
+ mT__55();
+
+ }
+ break;
+ case 40 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:244: T__56
+ {
+ mT__56();
+
+ }
+ break;
+ case 41 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:250: T__57
+ {
+ mT__57();
+
+ }
+ break;
+ case 42 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:256: T__58
+ {
+ mT__58();
+
+ }
+ break;
+ case 43 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:262: T__59
+ {
+ mT__59();
+
+ }
+ break;
+ case 44 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:268: T__60
+ {
+ mT__60();
+
+ }
+ break;
+ case 45 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:274: T__61
+ {
+ mT__61();
+
+ }
+ break;
+ case 46 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:280: T__62
+ {
+ mT__62();
+
+ }
+ break;
+ case 47 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:286: T__63
+ {
+ mT__63();
+
+ }
+ break;
+ case 48 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:292: T__64
+ {
+ mT__64();
+
+ }
+ break;
+ case 49 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:298: T__65
+ {
+ mT__65();
+
+ }
+ break;
+ case 50 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:304: T__66
+ {
+ mT__66();
+
+ }
+ break;
+ case 51 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:310: T__67
+ {
+ mT__67();
+
+ }
+ break;
+ case 52 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:316: T__68
+ {
+ mT__68();
+
+ }
+ break;
+ case 53 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:322: T__69
+ {
+ mT__69();
+
+ }
+ break;
+ case 54 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:328: T__70
+ {
+ mT__70();
+
+ }
+ break;
+ case 55 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:334: T__71
+ {
+ mT__71();
+
+ }
+ break;
+ case 56 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:340: T__72
+ {
+ mT__72();
+
+ }
+ break;
+ case 57 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:346: T__73
+ {
+ mT__73();
+
+ }
+ break;
+ case 58 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:352: T__74
+ {
+ mT__74();
+
+ }
+ break;
+ case 59 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:358: T__75
+ {
+ mT__75();
+
+ }
+ break;
+ case 60 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:364: T__76
+ {
+ mT__76();
+
+ }
+ break;
+ case 61 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:370: T__77
+ {
+ mT__77();
+
+ }
+ break;
+ case 62 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:376: T__78
+ {
+ mT__78();
+
+ }
+ break;
+ case 63 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:382: T__79
+ {
+ mT__79();
+
+ }
+ break;
+ case 64 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:388: T__80
+ {
+ mT__80();
+
+ }
+ break;
+ case 65 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:394: T__81
+ {
+ mT__81();
+
+ }
+ break;
+ case 66 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:400: T__82
+ {
+ mT__82();
+
+ }
+ break;
+ case 67 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:406: T__83
+ {
+ mT__83();
+
+ }
+ break;
+ case 68 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:412: T__84
+ {
+ mT__84();
+
+ }
+ break;
+ case 69 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:418: T__85
+ {
+ mT__85();
+
+ }
+ break;
+ case 70 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:424: T__86
+ {
+ mT__86();
+
+ }
+ break;
+ case 71 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:430: T__87
+ {
+ mT__87();
+
+ }
+ break;
+ case 72 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:436: T__88
+ {
+ mT__88();
+
+ }
+ break;
+ case 73 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:442: T__89
+ {
+ mT__89();
+
+ }
+ break;
+ case 74 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:448: T__90
+ {
+ mT__90();
+
+ }
+ break;
+ case 75 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:454: T__91
+ {
+ mT__91();
+
+ }
+ break;
+ case 76 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:460: T__92
+ {
+ mT__92();
+
+ }
+ break;
+ case 77 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:466: T__93
+ {
+ mT__93();
+
+ }
+ break;
+ case 78 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:472: T__94
+ {
+ mT__94();
+
+ }
+ break;
+ case 79 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:478: RULE_DOUBLE_QUOTED_STRING
+ {
+ mRULE_DOUBLE_QUOTED_STRING();
+
+ }
+ break;
+ case 80 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:504: RULE_SINGLE_QUOTED_STRING
+ {
+ mRULE_SINGLE_QUOTED_STRING();
+
+ }
+ break;
+ case 81 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:530: RULE_ML_SINGLE_QUOTED_STRING
+ {
+ mRULE_ML_SINGLE_QUOTED_STRING();
+
+ }
+ break;
+ case 82 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:559: RULE_SIMPLE_ID
+ {
+ mRULE_SIMPLE_ID();
+
+ }
+ break;
+ case 83 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:574: RULE_ESCAPED_ID
+ {
+ mRULE_ESCAPED_ID();
+
+ }
+ break;
+ case 84 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:590: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 85 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:599: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 86 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:615: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 87 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:631: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 88 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1:639: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA11 dfa11 = new DFA11(this);
+ static final String DFA11_eotS =
+ "\2\uffff\2\70\1\76\10\70\1\uffff\1\115\1\117\1\122\1\70\1\127\1"+
+ "\131\1\134\1\uffff\2\70\1\141\10\70\6\uffff\1\164\1\165\2\uffff"+
+ "\3\70\2\uffff\2\65\5\uffff\1\70\1\uffff\5\70\1\uffff\1\70\1\u008b"+
+ "\1\u008c\2\70\1\u008f\7\70\7\uffff\2\70\11\uffff\2\70\2\uffff\13"+
+ "\70\14\uffff\3\70\6\uffff\11\70\2\uffff\1\u00b7\1\70\1\uffff\1\70"+
+ "\1\u00ba\3\70\1\u00be\4\70\1\u00c4\1\70\1\u00c6\1\u00c7\2\70\1\u00ca"+
+ "\3\70\1\u00ce\5\70\1\u00d6\10\70\1\u00df\3\70\1\uffff\2\70\1\uffff"+
+ "\3\70\1\uffff\1\70\1\u00ea\1\u00eb\1\u00ec\1\70\1\uffff\1\u00ee"+
+ "\2\uffff\2\70\1\uffff\1\70\1\u00f2\1\70\1\uffff\7\70\1\uffff\1\u00fb"+
+ "\5\70\1\u0101\1\70\1\uffff\6\70\1\u0109\3\70\3\uffff\1\u010d\1\uffff"+
+ "\1\u010e\2\70\1\uffff\10\70\1\uffff\1\u0119\2\70\1\u011c\1\70\1"+
+ "\uffff\3\70\1\u0121\3\70\1\uffff\3\70\2\uffff\2\70\1\u012a\2\70"+
+ "\1\u012d\4\70\1\uffff\2\70\1\uffff\1\u0134\1\u0135\1\70\1\u0137"+
+ "\1\uffff\1\u0138\3\70\1\u013c\1\70\1\u013e\1\u013f\1\uffff\2\70"+
+ "\1\uffff\1\70\1\u0143\4\70\2\uffff\1\70\2\uffff\2\70\1\u014b\1\uffff"+
+ "\1\70\2\uffff\1\u014d\2\70\1\uffff\2\70\1\u0152\2\70\1\u0155\1\u0156"+
+ "\1\uffff\1\70\1\uffff\4\70\1\uffff\2\70\2\uffff\2\70\1\u0160\1\u0161"+
+ "\1\u0162\4\70\3\uffff\5\70\1\u016c\2\70\1\u016f\1\uffff\1\u0170"+
+ "\1\70\2\uffff\1\70\1\u0173\1\uffff";
+ static final String DFA11_eofS =
+ "\u0174\uffff";
+ static final String DFA11_minS =
+ "\1\0\1\uffff\1\150\1\145\1\60\1\146\1\145\2\162\1\165\1\145\2\150"+
+ "\1\uffff\1\60\1\53\1\55\1\157\1\47\2\75\1\uffff\1\156\1\157\1\56"+
+ "\1\165\1\141\1\156\2\145\1\156\1\143\1\157\6\uffff\1\72\1\47\2\uffff"+
+ "\2\145\1\141\2\uffff\2\0\5\uffff\1\145\1\uffff\1\146\1\155\1\144"+
+ "\1\164\1\163\1\uffff\1\160\2\60\1\171\1\145\1\60\2\145\1\154\1\160"+
+ "\1\141\2\145\7\uffff\1\164\1\154\11\uffff\1\144\1\162\2\uffff\1"+
+ "\160\1\157\1\147\1\164\1\141\1\162\1\161\2\154\1\144\1\154\14\uffff"+
+ "\1\164\2\154\6\uffff\1\143\2\141\1\157\1\151\2\145\1\154\1\141\2"+
+ "\uffff\1\60\1\162\1\uffff\1\155\1\60\1\162\1\141\1\154\1\60\1\156"+
+ "\1\145\2\156\1\60\1\154\2\60\2\154\1\60\1\145\1\154\1\151\1\60\1"+
+ "\165\1\151\1\101\1\145\1\154\1\60\1\146\1\163\1\153\1\165\1\151"+
+ "\1\162\1\146\1\156\1\60\1\145\1\162\1\154\1\uffff\1\162\1\151\1"+
+ "\uffff\1\171\1\164\1\141\1\uffff\1\163\3\60\1\145\1\uffff\1\60\2"+
+ "\uffff\2\145\1\uffff\1\147\1\60\1\156\1\uffff\1\145\1\155\2\156"+
+ "\1\157\1\162\1\145\1\uffff\1\60\1\145\1\157\1\154\1\156\1\143\1"+
+ "\60\1\144\1\uffff\1\155\1\145\1\164\2\151\1\164\1\60\1\151\1\143"+
+ "\1\146\3\uffff\1\60\1\uffff\1\60\1\141\1\145\1\uffff\1\147\1\156"+
+ "\1\151\1\171\1\166\1\151\1\145\1\143\1\uffff\1\60\1\156\1\164\1"+
+ "\60\1\145\1\uffff\1\163\1\145\1\163\1\60\2\144\1\151\1\uffff\1\157"+
+ "\1\145\1\157\2\uffff\1\156\1\162\1\60\1\143\1\164\1\60\1\141\2\144"+
+ "\1\164\1\uffff\1\154\1\137\1\uffff\2\60\1\156\1\60\1\uffff\1\60"+
+ "\1\145\1\166\1\156\1\60\1\162\2\60\1\uffff\2\145\1\uffff\1\154\1"+
+ "\60\1\123\1\151\1\171\1\166\2\uffff\1\164\2\uffff\1\163\1\145\1"+
+ "\60\1\uffff\1\155\2\uffff\1\60\1\144\1\151\1\uffff\1\145\1\157\1"+
+ "\60\1\141\1\145\2\60\1\uffff\1\141\1\uffff\1\116\1\144\1\164\1\156"+
+ "\1\uffff\1\154\1\144\2\uffff\1\164\1\141\3\60\1\165\1\142\1\151"+
+ "\1\164\3\uffff\1\145\1\171\1\157\1\165\1\163\1\60\1\156\1\162\1"+
+ "\60\1\uffff\1\60\1\141\2\uffff\1\154\1\60\1\uffff";
+ static final String DFA11_maxS =
+ "\1\uffff\1\uffff\1\150\1\157\1\172\1\156\1\145\1\166\1\162\1\165"+
+ "\1\145\1\162\1\150\1\uffff\1\172\1\53\1\76\1\165\1\52\1\75\1\76"+
+ "\1\uffff\1\156\1\157\1\56\1\165\1\157\1\156\1\145\1\164\1\156\1"+
+ "\162\1\157\6\uffff\1\72\1\172\2\uffff\2\145\1\141\2\uffff\2\uffff"+
+ "\5\uffff\1\145\1\uffff\1\146\1\155\1\146\1\164\1\163\1\uffff\1\160"+
+ "\2\172\1\171\1\145\1\172\1\151\1\145\2\160\1\165\2\145\7\uffff\1"+
+ "\164\1\154\11\uffff\1\144\1\162\2\uffff\1\160\1\157\1\147\1\164"+
+ "\1\141\1\162\1\164\2\154\1\144\1\154\14\uffff\1\164\2\154\6\uffff"+
+ "\1\143\2\141\1\157\1\151\2\145\1\157\1\141\2\uffff\1\172\1\162\1"+
+ "\uffff\1\155\1\172\1\162\1\141\1\154\1\172\1\156\1\145\1\156\1\162"+
+ "\1\172\1\154\2\172\2\154\1\172\1\145\1\154\1\151\1\172\1\165\1\151"+
+ "\1\126\1\145\1\154\1\172\1\146\1\163\1\153\1\165\1\151\1\162\1\146"+
+ "\1\156\1\172\1\151\1\162\1\154\1\uffff\1\162\1\151\1\uffff\1\171"+
+ "\1\164\1\141\1\uffff\1\163\3\172\1\145\1\uffff\1\172\2\uffff\2\145"+
+ "\1\uffff\1\147\1\172\1\156\1\uffff\1\145\1\155\2\156\1\157\1\162"+
+ "\1\145\1\uffff\1\172\1\145\1\157\1\154\1\156\1\143\1\172\1\144\1"+
+ "\uffff\1\155\1\145\1\164\2\151\1\164\1\172\1\151\1\143\1\146\3\uffff"+
+ "\1\172\1\uffff\1\172\1\141\1\145\1\uffff\1\147\1\156\1\151\1\171"+
+ "\1\166\1\151\1\145\1\143\1\uffff\1\172\1\156\1\164\1\172\1\145\1"+
+ "\uffff\1\163\1\145\1\163\1\172\2\144\1\151\1\uffff\1\157\1\145\1"+
+ "\157\2\uffff\1\156\1\162\1\172\1\143\1\164\1\172\1\141\2\144\1\164"+
+ "\1\uffff\1\154\1\137\1\uffff\2\172\1\156\1\172\1\uffff\1\172\1\145"+
+ "\1\166\1\156\1\172\1\162\2\172\1\uffff\2\145\1\uffff\1\154\1\172"+
+ "\1\123\1\151\1\171\1\166\2\uffff\1\164\2\uffff\1\163\1\145\1\172"+
+ "\1\uffff\1\155\2\uffff\1\172\1\144\1\151\1\uffff\1\145\1\157\1\172"+
+ "\1\141\1\145\2\172\1\uffff\1\141\1\uffff\1\116\1\144\1\164\1\156"+
+ "\1\uffff\1\154\1\144\2\uffff\1\164\1\141\3\172\1\165\1\142\1\151"+
+ "\1\164\3\uffff\1\145\1\171\1\157\1\165\1\163\1\172\1\156\1\162\1"+
+ "\172\1\uffff\1\172\1\141\2\uffff\1\154\1\172\1\uffff";
+ static final String DFA11_acceptS =
+ "\1\uffff\1\1\13\uffff\1\23\7\uffff\1\36\13\uffff\1\64\1\65\1\66"+
+ "\1\67\1\70\1\71\2\uffff\1\77\1\100\3\uffff\1\115\1\116\2\uffff\1"+
+ "\122\1\124\1\127\1\130\1\1\1\uffff\1\122\5\uffff\1\24\15\uffff\1"+
+ "\23\1\25\1\73\1\26\1\45\1\126\1\27\2\uffff\1\121\1\125\1\31\1\34"+
+ "\1\32\1\35\1\37\1\33\1\36\2\uffff\1\76\1\44\13\uffff\1\64\1\65\1"+
+ "\66\1\67\1\70\1\71\1\75\1\72\1\74\1\123\1\77\1\100\3\uffff\1\115"+
+ "\1\116\1\117\1\120\1\124\1\127\11\uffff\1\111\1\104\2\uffff\1\41"+
+ "\47\uffff\1\11\2\uffff\1\103\3\uffff\1\17\5\uffff\1\30\1\uffff\1"+
+ "\40\1\42\2\uffff\1\60\3\uffff\1\57\7\uffff\1\110\10\uffff\1\106"+
+ "\12\uffff\1\113\1\105\1\21\1\uffff\1\102\3\uffff\1\51\10\uffff\1"+
+ "\112\5\uffff\1\107\7\uffff\1\14\3\uffff\1\22\1\46\12\uffff\1\114"+
+ "\2\uffff\1\4\4\uffff\1\10\10\uffff\1\52\2\uffff\1\54\6\uffff\1\5"+
+ "\1\6\1\uffff\1\43\1\101\3\uffff\1\16\1\uffff\1\47\1\50\3\uffff\1"+
+ "\56\7\uffff\1\15\1\uffff\1\61\4\uffff\1\2\2\uffff\1\12\1\13\11\uffff"+
+ "\1\55\1\63\1\62\11\uffff\1\7\2\uffff\1\3\1\20\2\uffff\1\53";
+ static final String DFA11_specialS =
+ "\1\1\57\uffff\1\2\1\0\u0142\uffff}>";
+ static final String[] DFA11_transitionS = {
+ "\11\65\2\64\2\65\1\64\22\65\1\64\1\65\1\60\4\65\1\61\1\42\1"+
+ "\43\1\15\1\17\1\46\1\20\1\30\1\22\12\63\1\47\1\1\1\24\1\25\1"+
+ "\23\1\41\1\56\1\62\1\32\1\40\1\62\1\16\3\62\1\33\5\62\1\37\2"+
+ "\62\1\34\1\35\1\31\1\36\5\62\1\51\1\65\1\52\1\65\1\50\1\65\1"+
+ "\26\1\62\1\2\1\3\1\4\1\55\2\62\1\5\1\62\1\6\1\53\1\62\1\21\1"+
+ "\7\1\10\1\11\1\12\1\54\1\13\2\62\1\14\1\27\2\62\1\44\1\57\1"+
+ "\45\uff82\65",
+ "",
+ "\1\67",
+ "\1\71\11\uffff\1\72",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\13\70\1\75\1\70"+
+ "\1\73\11\70\1\74\2\70",
+ "\1\101\6\uffff\1\77\1\100",
+ "\1\102",
+ "\1\104\3\uffff\1\103",
+ "\1\105",
+ "\1\106",
+ "\1\107",
+ "\1\112\6\uffff\1\110\2\uffff\1\111",
+ "\1\113",
+ "",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\116",
+ "\1\121\20\uffff\1\120",
+ "\1\123\5\uffff\1\124",
+ "\1\125\2\uffff\1\126",
+ "\1\130",
+ "\1\132\1\133",
+ "",
+ "\1\136",
+ "\1\137",
+ "\1\140",
+ "\1\142",
+ "\1\144\15\uffff\1\143",
+ "\1\145",
+ "\1\146",
+ "\1\150\16\uffff\1\147",
+ "\1\151",
+ "\1\152\16\uffff\1\153",
+ "\1\154",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\163",
+ "\1\166\10\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "",
+ "",
+ "\1\171",
+ "\1\172",
+ "\1\173",
+ "",
+ "",
+ "\0\176",
+ "\0\177",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u0082",
+ "",
+ "\1\u0083",
+ "\1\u0084",
+ "\1\u0086\1\uffff\1\u0085",
+ "\1\u0087",
+ "\1\u0088",
+ "",
+ "\1\u0089",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\25\70\1\u008a\4"+
+ "\70",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u008d",
+ "\1\u008e",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u0091\3\uffff\1\u0090",
+ "\1\u0092",
+ "\1\u0093\3\uffff\1\u0094",
+ "\1\u0095",
+ "\1\u0096\23\uffff\1\u0097",
+ "\1\u0098",
+ "\1\u0099",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u009a",
+ "\1\u009b",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u009c",
+ "\1\u009d",
+ "",
+ "",
+ "\1\u009e",
+ "\1\u009f",
+ "\1\u00a0",
+ "\1\u00a1",
+ "\1\u00a2",
+ "\1\u00a3",
+ "\1\u00a5\2\uffff\1\u00a4",
+ "\1\u00a6",
+ "\1\u00a7",
+ "\1\u00a8",
+ "\1\u00a9",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u00aa",
+ "\1\u00ab",
+ "\1\u00ac",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u00ad",
+ "\1\u00ae",
+ "\1\u00af",
+ "\1\u00b0",
+ "\1\u00b1",
+ "\1\u00b2",
+ "\1\u00b3",
+ "\1\u00b4\2\uffff\1\u00b5",
+ "\1\u00b6",
+ "",
+ "",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u00b8",
+ "",
+ "\1\u00b9",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u00bb",
+ "\1\u00bc",
+ "\1\u00bd",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u00bf",
+ "\1\u00c0",
+ "\1\u00c1",
+ "\1\u00c2\3\uffff\1\u00c3",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u00c5",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u00c8",
+ "\1\u00c9",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u00cb",
+ "\1\u00cc",
+ "\1\u00cd",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u00cf",
+ "\1\u00d0",
+ "\1\u00d1\7\uffff\1\u00d2\14\uffff\1\u00d3",
+ "\1\u00d4",
+ "\1\u00d5",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u00d7",
+ "\1\u00d8",
+ "\1\u00d9",
+ "\1\u00da",
+ "\1\u00db",
+ "\1\u00dc",
+ "\1\u00dd",
+ "\1\u00de",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u00e0\3\uffff\1\u00e1",
+ "\1\u00e2",
+ "\1\u00e3",
+ "",
+ "\1\u00e4",
+ "\1\u00e5",
+ "",
+ "\1\u00e6",
+ "\1\u00e7",
+ "\1\u00e8",
+ "",
+ "\1\u00e9",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u00ed",
+ "",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "",
+ "",
+ "\1\u00ef",
+ "\1\u00f0",
+ "",
+ "\1\u00f1",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u00f3",
+ "",
+ "\1\u00f4",
+ "\1\u00f5",
+ "\1\u00f6",
+ "\1\u00f7",
+ "\1\u00f8",
+ "\1\u00f9",
+ "\1\u00fa",
+ "",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u00fc",
+ "\1\u00fd",
+ "\1\u00fe",
+ "\1\u00ff",
+ "\1\u0100",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u0102",
+ "",
+ "\1\u0103",
+ "\1\u0104",
+ "\1\u0105",
+ "\1\u0106",
+ "\1\u0107",
+ "\1\u0108",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u010a",
+ "\1\u010b",
+ "\1\u010c",
+ "",
+ "",
+ "",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u010f",
+ "\1\u0110",
+ "",
+ "\1\u0111",
+ "\1\u0112",
+ "\1\u0113",
+ "\1\u0114",
+ "\1\u0115",
+ "\1\u0116",
+ "\1\u0117",
+ "\1\u0118",
+ "",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u011a",
+ "\1\u011b",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u011d",
+ "",
+ "\1\u011e",
+ "\1\u011f",
+ "\1\u0120",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u0122",
+ "\1\u0123",
+ "\1\u0124",
+ "",
+ "\1\u0125",
+ "\1\u0126",
+ "\1\u0127",
+ "",
+ "",
+ "\1\u0128",
+ "\1\u0129",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u012b",
+ "\1\u012c",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u012e",
+ "\1\u012f",
+ "\1\u0130",
+ "\1\u0131",
+ "",
+ "\1\u0132",
+ "\1\u0133",
+ "",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u0136",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u0139",
+ "\1\u013a",
+ "\1\u013b",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u013d",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "",
+ "\1\u0140",
+ "\1\u0141",
+ "",
+ "\1\u0142",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u0144",
+ "\1\u0145",
+ "\1\u0146",
+ "\1\u0147",
+ "",
+ "",
+ "\1\u0148",
+ "",
+ "",
+ "\1\u0149",
+ "\1\u014a",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "",
+ "\1\u014c",
+ "",
+ "",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u014e",
+ "\1\u014f",
+ "",
+ "\1\u0150",
+ "\1\u0151",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u0153",
+ "\1\u0154",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "",
+ "\1\u0157",
+ "",
+ "\1\u0158",
+ "\1\u0159",
+ "\1\u015a",
+ "\1\u015b",
+ "",
+ "\1\u015c",
+ "\1\u015d",
+ "",
+ "",
+ "\1\u015e",
+ "\1\u015f",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u0163",
+ "\1\u0164",
+ "\1\u0165",
+ "\1\u0166",
+ "",
+ "",
+ "",
+ "\1\u0167",
+ "\1\u0168",
+ "\1\u0169",
+ "\1\u016a",
+ "\1\u016b",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u016d",
+ "\1\u016e",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "\1\u0171",
+ "",
+ "",
+ "\1\u0172",
+ "\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ ""
+ };
+
+ static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
+ static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
+ static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
+ static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
+ static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
+ static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
+ static final short[][] DFA11_transition;
+
+ static {
+ int numStates = DFA11_transitionS.length;
+ DFA11_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
+ }
+ }
+
+ static class DFA11 extends DFA {
+
+ public DFA11(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 11;
+ this.eot = DFA11_eot;
+ this.eof = DFA11_eof;
+ this.min = DFA11_min;
+ this.max = DFA11_max;
+ this.accept = DFA11_accept;
+ this.special = DFA11_special;
+ this.transition = DFA11_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | RULE_DOUBLE_QUOTED_STRING | RULE_SINGLE_QUOTED_STRING | RULE_ML_SINGLE_QUOTED_STRING | RULE_SIMPLE_ID | RULE_ESCAPED_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ IntStream input = _input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA11_49 = input.LA(1);
+
+ s = -1;
+ if ( ((LA11_49>='\u0000' && LA11_49<='\uFFFF')) ) {s = 127;}
+
+ else s = 53;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA11_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA11_0==';') ) {s = 1;}
+
+ else if ( (LA11_0=='c') ) {s = 2;}
+
+ else if ( (LA11_0=='d') ) {s = 3;}
+
+ else if ( (LA11_0=='e') ) {s = 4;}
+
+ else if ( (LA11_0=='i') ) {s = 5;}
+
+ else if ( (LA11_0=='k') ) {s = 6;}
+
+ else if ( (LA11_0=='o') ) {s = 7;}
+
+ else if ( (LA11_0=='p') ) {s = 8;}
+
+ else if ( (LA11_0=='q') ) {s = 9;}
+
+ else if ( (LA11_0=='r') ) {s = 10;}
+
+ else if ( (LA11_0=='t') ) {s = 11;}
+
+ else if ( (LA11_0=='w') ) {s = 12;}
+
+ else if ( (LA11_0=='*') ) {s = 13;}
+
+ else if ( (LA11_0=='E') ) {s = 14;}
+
+ else if ( (LA11_0=='+') ) {s = 15;}
+
+ else if ( (LA11_0=='-') ) {s = 16;}
+
+ else if ( (LA11_0=='n') ) {s = 17;}
+
+ else if ( (LA11_0=='/') ) {s = 18;}
+
+ else if ( (LA11_0=='>') ) {s = 19;}
+
+ else if ( (LA11_0=='<') ) {s = 20;}
+
+ else if ( (LA11_0=='=') ) {s = 21;}
+
+ else if ( (LA11_0=='a') ) {s = 22;}
+
+ else if ( (LA11_0=='x') ) {s = 23;}
+
+ else if ( (LA11_0=='.') ) {s = 24;}
+
+ else if ( (LA11_0=='T') ) {s = 25;}
+
+ else if ( (LA11_0=='B') ) {s = 26;}
+
+ else if ( (LA11_0=='I') ) {s = 27;}
+
+ else if ( (LA11_0=='R') ) {s = 28;}
+
+ else if ( (LA11_0=='S') ) {s = 29;}
+
+ else if ( (LA11_0=='U') ) {s = 30;}
+
+ else if ( (LA11_0=='O') ) {s = 31;}
+
+ else if ( (LA11_0=='C') ) {s = 32;}
+
+ else if ( (LA11_0=='?') ) {s = 33;}
+
+ else if ( (LA11_0=='(') ) {s = 34;}
+
+ else if ( (LA11_0==')') ) {s = 35;}
+
+ else if ( (LA11_0=='{') ) {s = 36;}
+
+ else if ( (LA11_0=='}') ) {s = 37;}
+
+ else if ( (LA11_0==',') ) {s = 38;}
+
+ else if ( (LA11_0==':') ) {s = 39;}
+
+ else if ( (LA11_0=='_') ) {s = 40;}
+
+ else if ( (LA11_0=='[') ) {s = 41;}
+
+ else if ( (LA11_0==']') ) {s = 42;}
+
+ else if ( (LA11_0=='l') ) {s = 43;}
+
+ else if ( (LA11_0=='s') ) {s = 44;}
+
+ else if ( (LA11_0=='f') ) {s = 45;}
+
+ else if ( (LA11_0=='@') ) {s = 46;}
+
+ else if ( (LA11_0=='|') ) {s = 47;}
+
+ else if ( (LA11_0=='\"') ) {s = 48;}
+
+ else if ( (LA11_0=='\'') ) {s = 49;}
+
+ else if ( (LA11_0=='A'||LA11_0=='D'||(LA11_0>='F' && LA11_0<='H')||(LA11_0>='J' && LA11_0<='N')||(LA11_0>='P' && LA11_0<='Q')||(LA11_0>='V' && LA11_0<='Z')||LA11_0=='b'||(LA11_0>='g' && LA11_0<='h')||LA11_0=='j'||LA11_0=='m'||(LA11_0>='u' && LA11_0<='v')||(LA11_0>='y' && LA11_0<='z')) ) {s = 50;}
+
+ else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 51;}
+
+ else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 52;}
+
+ else if ( ((LA11_0>='\u0000' && LA11_0<='\b')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\u001F')||LA11_0=='!'||(LA11_0>='#' && LA11_0<='&')||LA11_0=='\\'||LA11_0=='^'||LA11_0=='`'||(LA11_0>='~' && LA11_0<='\uFFFF')) ) {s = 53;}
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA11_48 = input.LA(1);
+
+ s = -1;
+ if ( ((LA11_48>='\u0000' && LA11_48<='\uFFFF')) ) {s = 126;}
+
+ else s = 53;
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 11, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelationParser.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelationParser.java
new file mode 100644
index 000000000..91cc1f358
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelationParser.java
@@ -0,0 +1,53245 @@
+package org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import org.eclipse.qvtd.xtext.qvtrelation.services.QVTrelationGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+@SuppressWarnings("all")
+public class InternalQVTrelationParser extends AbstractInternalContentAssistParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_SINGLE_QUOTED_STRING", "RULE_SIMPLE_ID", "RULE_ESCAPED_ID", "RULE_ESCAPED_CHARACTER", "RULE_LETTER_CHARACTER", "RULE_DIGIT_CHARACTER", "RULE_DOUBLE_QUOTED_STRING", "RULE_ML_SINGLE_QUOTED_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "';'", "'checkonly'", "'default_values'", "'domain'", "'enforce'", "'extends'", "'implementedby'", "'import'", "'key'", "'overrides'", "'primitive'", "'query'", "'relation'", "'replace'", "'top'", "'transformation'", "'when'", "'where'", "'*'", "'e'", "'E'", "'+'", "'-'", "'not'", "'/'", "'>'", "'<'", "'>='", "'<='", "'='", "'<>'", "'and'", "'or'", "'xor'", "'implies'", "'.'", "'->'", "'Tuple'", "'Boolean'", "'Integer'", "'Real'", "'String'", "'UnlimitedNatural'", "'OclAny'", "'OclInvalid'", "'OclVoid'", "'Set'", "'Bag'", "'Sequence'", "'Collection'", "'OrderedSet'", "'?'", "'('", "')'", "'{'", "'}'", "','", "':'", "'++'", "'_'", "'::'", "'..'", "'['", "']'", "'invalid'", "'null'", "'pre'", "'if'", "'then'", "'else'", "'endif'", "'let'", "'in'", "'self'", "'true'", "'false'", "'@'", "'|'"
+ };
+ public static final int T__42=42;
+ public static final int T__47=47;
+ public static final int T__73=73;
+ public static final int T__21=21;
+ public static final int RULE_ML_SINGLE_QUOTED_STRING=12;
+ public static final int T__72=72;
+ public static final int T__70=70;
+ public static final int T__39=39;
+ public static final int T__30=30;
+ public static final int T__46=46;
+ public static final int T__49=49;
+ public static final int RULE_DOUBLE_QUOTED_STRING=11;
+ public static final int T__54=54;
+ public static final int T__48=48;
+ public static final int RULE_ESCAPED_CHARACTER=8;
+ public static final int T__89=89;
+ public static final int T__20=20;
+ public static final int T__79=79;
+ public static final int T__64=64;
+ public static final int T__44=44;
+ public static final int T__66=66;
+ public static final int T__92=92;
+ public static final int T__88=88;
+ public static final int T__22=22;
+ public static final int RULE_ESCAPED_ID=7;
+ public static final int T__90=90;
+ public static final int RULE_WS=15;
+ public static final int T__63=63;
+ public static final int T__43=43;
+ public static final int T__91=91;
+ public static final int T__40=40;
+ public static final int T__85=85;
+ public static final int T__26=26;
+ public static final int T__25=25;
+ public static final int RULE_SL_COMMENT=14;
+ public static final int T__60=60;
+ public static final int T__41=41;
+ public static final int T__93=93;
+ public static final int T__86=86;
+ public static final int T__28=28;
+ public static final int T__23=23;
+ public static final int T__57=57;
+ public static final int T__94=94;
+ public static final int RULE_DIGIT_CHARACTER=10;
+ public static final int T__51=51;
+ public static final int T__80=80;
+ public static final int RULE_LETTER_CHARACTER=9;
+ public static final int T__69=69;
+ public static final int T__50=50;
+ public static final int T__19=19;
+ public static final int T__65=65;
+ public static final int T__67=67;
+ public static final int T__87=87;
+ public static final int T__74=74;
+ public static final int T__52=52;
+ public static final int T__68=68;
+ public static final int T__17=17;
+ public static final int T__62=62;
+ public static final int RULE_INT=4;
+ public static final int T__27=27;
+ public static final int T__24=24;
+ public static final int T__61=61;
+ public static final int RULE_SINGLE_QUOTED_STRING=5;
+ public static final int T__59=59;
+ public static final int T__34=34;
+ public static final int T__56=56;
+ public static final int RULE_ML_COMMENT=13;
+ public static final int T__35=35;
+ public static final int T__78=78;
+ public static final int T__36=36;
+ public static final int T__58=58;
+ public static final int RULE_SIMPLE_ID=6;
+ public static final int T__33=33;
+ public static final int T__77=77;
+ public static final int T__55=55;
+ public static final int T__45=45;
+ public static final int T__29=29;
+ public static final int T__84=84;
+ public static final int T__75=75;
+ public static final int T__31=31;
+ public static final int EOF=-1;
+ public static final int T__53=53;
+ public static final int T__32=32;
+ public static final int T__38=38;
+ public static final int T__37=37;
+ public static final int T__76=76;
+ public static final int RULE_ANY_OTHER=16;
+ public static final int T__82=82;
+ public static final int T__81=81;
+ public static final int T__83=83;
+ public static final int T__18=18;
+ public static final int T__71=71;
+
+ // delegates
+ // delegators
+
+
+ public InternalQVTrelationParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalQVTrelationParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalQVTrelationParser.tokenNames; }
+ public String getGrammarFileName() { return "../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g"; }
+
+
+
+ private QVTrelationGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(QVTrelationGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+
+
+
+ // $ANTLR start "entryRuleTopLevelCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:61:1: entryRuleTopLevelCS : ruleTopLevelCS EOF ;
+ public final void entryRuleTopLevelCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:62:1: ( ruleTopLevelCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:63:1: ruleTopLevelCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTopLevelCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTopLevelCS_in_entryRuleTopLevelCS67);
+ ruleTopLevelCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTopLevelCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTopLevelCS74); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTopLevelCS"
+
+
+ // $ANTLR start "ruleTopLevelCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:70:1: ruleTopLevelCS : ( ( rule__TopLevelCS__Group__0 ) ) ;
+ public final void ruleTopLevelCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:74:2: ( ( ( rule__TopLevelCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:75:1: ( ( rule__TopLevelCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:75:1: ( ( rule__TopLevelCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:76:1: ( rule__TopLevelCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTopLevelCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:77:1: ( rule__TopLevelCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:77:2: rule__TopLevelCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__0_in_ruleTopLevelCS100);
+ rule__TopLevelCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTopLevelCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTopLevelCS"
+
+
+ // $ANTLR start "entryRuleUnitCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:89:1: entryRuleUnitCS : ruleUnitCS EOF ;
+ public final void entryRuleUnitCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:90:1: ( ruleUnitCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:91:1: ruleUnitCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnitCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnitCS_in_entryRuleUnitCS127);
+ ruleUnitCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnitCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnitCS134); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleUnitCS"
+
+
+ // $ANTLR start "ruleUnitCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:98:1: ruleUnitCS : ( ( rule__UnitCS__Group__0 ) ) ;
+ public final void ruleUnitCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:102:2: ( ( ( rule__UnitCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:103:1: ( ( rule__UnitCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:103:1: ( ( rule__UnitCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:104:1: ( rule__UnitCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnitCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:105:1: ( rule__UnitCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:105:2: rule__UnitCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__UnitCS__Group__0_in_ruleUnitCS160);
+ rule__UnitCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnitCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleUnitCS"
+
+
+ // $ANTLR start "entryRuleTransformationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:117:1: entryRuleTransformationCS : ruleTransformationCS EOF ;
+ public final void entryRuleTransformationCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:118:1: ( ruleTransformationCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:119:1: ruleTransformationCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTransformationCS_in_entryRuleTransformationCS187);
+ ruleTransformationCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTransformationCS194); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTransformationCS"
+
+
+ // $ANTLR start "ruleTransformationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:126:1: ruleTransformationCS : ( ( rule__TransformationCS__Group__0 ) ) ;
+ public final void ruleTransformationCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:130:2: ( ( ( rule__TransformationCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:131:1: ( ( rule__TransformationCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:131:1: ( ( rule__TransformationCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:132:1: ( rule__TransformationCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:133:1: ( rule__TransformationCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:133:2: rule__TransformationCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__0_in_ruleTransformationCS220);
+ rule__TransformationCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTransformationCS"
+
+
+ // $ANTLR start "entryRuleModelDeclCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:145:1: entryRuleModelDeclCS : ruleModelDeclCS EOF ;
+ public final void entryRuleModelDeclCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:146:1: ( ruleModelDeclCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:147:1: ruleModelDeclCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleModelDeclCS_in_entryRuleModelDeclCS247);
+ ruleModelDeclCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelDeclCS254); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleModelDeclCS"
+
+
+ // $ANTLR start "ruleModelDeclCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:154:1: ruleModelDeclCS : ( ( rule__ModelDeclCS__Group__0 ) ) ;
+ public final void ruleModelDeclCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:158:2: ( ( ( rule__ModelDeclCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:159:1: ( ( rule__ModelDeclCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:159:1: ( ( rule__ModelDeclCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:160:1: ( rule__ModelDeclCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:161:1: ( rule__ModelDeclCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:161:2: rule__ModelDeclCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group__0_in_ruleModelDeclCS280);
+ rule__ModelDeclCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleModelDeclCS"
+
+
+ // $ANTLR start "entryRuleKeyDeclCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:173:1: entryRuleKeyDeclCS : ruleKeyDeclCS EOF ;
+ public final void entryRuleKeyDeclCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:174:1: ( ruleKeyDeclCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:175:1: ruleKeyDeclCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleKeyDeclCS_in_entryRuleKeyDeclCS307);
+ ruleKeyDeclCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleKeyDeclCS314); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleKeyDeclCS"
+
+
+ // $ANTLR start "ruleKeyDeclCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:182:1: ruleKeyDeclCS : ( ( rule__KeyDeclCS__Group__0 ) ) ;
+ public final void ruleKeyDeclCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:186:2: ( ( ( rule__KeyDeclCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:187:1: ( ( rule__KeyDeclCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:187:1: ( ( rule__KeyDeclCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:188:1: ( rule__KeyDeclCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:189:1: ( rule__KeyDeclCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:189:2: rule__KeyDeclCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group__0_in_ruleKeyDeclCS340);
+ rule__KeyDeclCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleKeyDeclCS"
+
+
+ // $ANTLR start "entryRuleRelationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:201:1: entryRuleRelationCS : ruleRelationCS EOF ;
+ public final void entryRuleRelationCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:202:1: ( ruleRelationCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:203:1: ruleRelationCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleRelationCS_in_entryRuleRelationCS367);
+ ruleRelationCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRelationCS374); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleRelationCS"
+
+
+ // $ANTLR start "ruleRelationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:210:1: ruleRelationCS : ( ( rule__RelationCS__Group__0 ) ) ;
+ public final void ruleRelationCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:214:2: ( ( ( rule__RelationCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:215:1: ( ( rule__RelationCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:215:1: ( ( rule__RelationCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:216:1: ( rule__RelationCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:217:1: ( rule__RelationCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:217:2: rule__RelationCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__0_in_ruleRelationCS400);
+ rule__RelationCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleRelationCS"
+
+
+ // $ANTLR start "entryRuleWhenCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:229:1: entryRuleWhenCS : ruleWhenCS EOF ;
+ public final void entryRuleWhenCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:230:1: ( ruleWhenCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:231:1: ruleWhenCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhenCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleWhenCS_in_entryRuleWhenCS427);
+ ruleWhenCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhenCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWhenCS434); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleWhenCS"
+
+
+ // $ANTLR start "ruleWhenCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:238:1: ruleWhenCS : ( ( rule__WhenCS__Group__0 ) ) ;
+ public final void ruleWhenCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:242:2: ( ( ( rule__WhenCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:243:1: ( ( rule__WhenCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:243:1: ( ( rule__WhenCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:244:1: ( rule__WhenCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhenCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:245:1: ( rule__WhenCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:245:2: rule__WhenCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__Group__0_in_ruleWhenCS460);
+ rule__WhenCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhenCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleWhenCS"
+
+
+ // $ANTLR start "entryRuleWhereCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:257:1: entryRuleWhereCS : ruleWhereCS EOF ;
+ public final void entryRuleWhereCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:258:1: ( ruleWhereCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:259:1: ruleWhereCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhereCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleWhereCS_in_entryRuleWhereCS487);
+ ruleWhereCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhereCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWhereCS494); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleWhereCS"
+
+
+ // $ANTLR start "ruleWhereCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:266:1: ruleWhereCS : ( ( rule__WhereCS__Group__0 ) ) ;
+ public final void ruleWhereCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:270:2: ( ( ( rule__WhereCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:271:1: ( ( rule__WhereCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:271:1: ( ( rule__WhereCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:272:1: ( rule__WhereCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhereCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:273:1: ( rule__WhereCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:273:2: rule__WhereCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__Group__0_in_ruleWhereCS520);
+ rule__WhereCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhereCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleWhereCS"
+
+
+ // $ANTLR start "entryRuleVarDeclarationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:285:1: entryRuleVarDeclarationCS : ruleVarDeclarationCS EOF ;
+ public final void entryRuleVarDeclarationCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:286:1: ( ruleVarDeclarationCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:287:1: ruleVarDeclarationCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getVarDeclarationCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleVarDeclarationCS_in_entryRuleVarDeclarationCS547);
+ ruleVarDeclarationCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getVarDeclarationCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleVarDeclarationCS554); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleVarDeclarationCS"
+
+
+ // $ANTLR start "ruleVarDeclarationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:294:1: ruleVarDeclarationCS : ( ( rule__VarDeclarationCS__Group__0 ) ) ;
+ public final void ruleVarDeclarationCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:298:2: ( ( ( rule__VarDeclarationCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:299:1: ( ( rule__VarDeclarationCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:299:1: ( ( rule__VarDeclarationCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:300:1: ( rule__VarDeclarationCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getVarDeclarationCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:301:1: ( rule__VarDeclarationCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:301:2: rule__VarDeclarationCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__Group__0_in_ruleVarDeclarationCS580);
+ rule__VarDeclarationCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getVarDeclarationCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleVarDeclarationCS"
+
+
+ // $ANTLR start "entryRuleDomainCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:313:1: entryRuleDomainCS : ruleDomainCS EOF ;
+ public final void entryRuleDomainCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:314:1: ( ruleDomainCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:315:1: ruleDomainCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleDomainCS_in_entryRuleDomainCS607);
+ ruleDomainCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDomainCS614); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleDomainCS"
+
+
+ // $ANTLR start "ruleDomainCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:322:1: ruleDomainCS : ( ( rule__DomainCS__Group__0 ) ) ;
+ public final void ruleDomainCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:326:2: ( ( ( rule__DomainCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:327:1: ( ( rule__DomainCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:327:1: ( ( rule__DomainCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:328:1: ( rule__DomainCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:329:1: ( rule__DomainCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:329:2: rule__DomainCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group__0_in_ruleDomainCS640);
+ rule__DomainCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleDomainCS"
+
+
+ // $ANTLR start "entryRulePrimitiveTypeDomainCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:341:1: entryRulePrimitiveTypeDomainCS : rulePrimitiveTypeDomainCS EOF ;
+ public final void entryRulePrimitiveTypeDomainCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:342:1: ( rulePrimitiveTypeDomainCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:343:1: rulePrimitiveTypeDomainCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeDomainCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeDomainCS_in_entryRulePrimitiveTypeDomainCS667);
+ rulePrimitiveTypeDomainCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeDomainCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveTypeDomainCS674); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulePrimitiveTypeDomainCS"
+
+
+ // $ANTLR start "rulePrimitiveTypeDomainCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:350:1: rulePrimitiveTypeDomainCS : ( ( rule__PrimitiveTypeDomainCS__Group__0 ) ) ;
+ public final void rulePrimitiveTypeDomainCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:354:2: ( ( ( rule__PrimitiveTypeDomainCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:355:1: ( ( rule__PrimitiveTypeDomainCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:355:1: ( ( rule__PrimitiveTypeDomainCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:356:1: ( rule__PrimitiveTypeDomainCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:357:1: ( rule__PrimitiveTypeDomainCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:357:2: rule__PrimitiveTypeDomainCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeDomainCS__Group__0_in_rulePrimitiveTypeDomainCS700);
+ rule__PrimitiveTypeDomainCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePrimitiveTypeDomainCS"
+
+
+ // $ANTLR start "entryRuleTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:369:1: entryRuleTemplateCS : ruleTemplateCS EOF ;
+ public final void entryRuleTemplateCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:370:1: ( ruleTemplateCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:371:1: ruleTemplateCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTemplateCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTemplateCS_in_entryRuleTemplateCS727);
+ ruleTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTemplateCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTemplateCS734); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTemplateCS"
+
+
+ // $ANTLR start "ruleTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:378:1: ruleTemplateCS : ( ( rule__TemplateCS__Group__0 ) ) ;
+ public final void ruleTemplateCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:382:2: ( ( ( rule__TemplateCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:383:1: ( ( rule__TemplateCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:383:1: ( ( rule__TemplateCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:384:1: ( rule__TemplateCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTemplateCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:385:1: ( rule__TemplateCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:385:2: rule__TemplateCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TemplateCS__Group__0_in_ruleTemplateCS760);
+ rule__TemplateCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTemplateCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTemplateCS"
+
+
+ // $ANTLR start "entryRuleObjectTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:397:1: entryRuleObjectTemplateCS : ruleObjectTemplateCS EOF ;
+ public final void entryRuleObjectTemplateCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:398:1: ( ruleObjectTemplateCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:399:1: ruleObjectTemplateCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleObjectTemplateCS_in_entryRuleObjectTemplateCS787);
+ ruleObjectTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleObjectTemplateCS794); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleObjectTemplateCS"
+
+
+ // $ANTLR start "ruleObjectTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:406:1: ruleObjectTemplateCS : ( ( rule__ObjectTemplateCS__Group__0 ) ) ;
+ public final void ruleObjectTemplateCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:410:2: ( ( ( rule__ObjectTemplateCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:411:1: ( ( rule__ObjectTemplateCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:411:1: ( ( rule__ObjectTemplateCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:412:1: ( rule__ObjectTemplateCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:413:1: ( rule__ObjectTemplateCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:413:2: rule__ObjectTemplateCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group__0_in_ruleObjectTemplateCS820);
+ rule__ObjectTemplateCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleObjectTemplateCS"
+
+
+ // $ANTLR start "entryRulePropertyTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:425:1: entryRulePropertyTemplateCS : rulePropertyTemplateCS EOF ;
+ public final void entryRulePropertyTemplateCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:426:1: ( rulePropertyTemplateCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:427:1: rulePropertyTemplateCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPropertyTemplateCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePropertyTemplateCS_in_entryRulePropertyTemplateCS847);
+ rulePropertyTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPropertyTemplateCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePropertyTemplateCS854); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulePropertyTemplateCS"
+
+
+ // $ANTLR start "rulePropertyTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:434:1: rulePropertyTemplateCS : ( ( rule__PropertyTemplateCS__Group__0 ) ) ;
+ public final void rulePropertyTemplateCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:438:2: ( ( ( rule__PropertyTemplateCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:439:1: ( ( rule__PropertyTemplateCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:439:1: ( ( rule__PropertyTemplateCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:440:1: ( rule__PropertyTemplateCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPropertyTemplateCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:441:1: ( rule__PropertyTemplateCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:441:2: rule__PropertyTemplateCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PropertyTemplateCS__Group__0_in_rulePropertyTemplateCS880);
+ rule__PropertyTemplateCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPropertyTemplateCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePropertyTemplateCS"
+
+
+ // $ANTLR start "entryRuleCollectionTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:453:1: entryRuleCollectionTemplateCS : ruleCollectionTemplateCS EOF ;
+ public final void entryRuleCollectionTemplateCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:454:1: ( ruleCollectionTemplateCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:455:1: ruleCollectionTemplateCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTemplateCS_in_entryRuleCollectionTemplateCS907);
+ ruleCollectionTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionTemplateCS914); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleCollectionTemplateCS"
+
+
+ // $ANTLR start "ruleCollectionTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:462:1: ruleCollectionTemplateCS : ( ( rule__CollectionTemplateCS__Group__0 ) ) ;
+ public final void ruleCollectionTemplateCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:466:2: ( ( ( rule__CollectionTemplateCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:467:1: ( ( rule__CollectionTemplateCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:467:1: ( ( rule__CollectionTemplateCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:468:1: ( rule__CollectionTemplateCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:469:1: ( rule__CollectionTemplateCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:469:2: rule__CollectionTemplateCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group__0_in_ruleCollectionTemplateCS940);
+ rule__CollectionTemplateCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleCollectionTemplateCS"
+
+
+ // $ANTLR start "entryRuleNameExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:481:1: entryRuleNameExpCS : ruleNameExpCS EOF ;
+ public final void entryRuleNameExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:482:1: ( ruleNameExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:483:1: ruleNameExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNameExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_entryRuleNameExpCS967);
+ ruleNameExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNameExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNameExpCS974); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNameExpCS"
+
+
+ // $ANTLR start "ruleNameExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:490:1: ruleNameExpCS : ( ( rule__NameExpCS__PathNameAssignment ) ) ;
+ public final void ruleNameExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:494:2: ( ( ( rule__NameExpCS__PathNameAssignment ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:495:1: ( ( rule__NameExpCS__PathNameAssignment ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:495:1: ( ( rule__NameExpCS__PathNameAssignment ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:496:1: ( rule__NameExpCS__PathNameAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNameExpCSAccess().getPathNameAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:497:1: ( rule__NameExpCS__PathNameAssignment )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:497:2: rule__NameExpCS__PathNameAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NameExpCS__PathNameAssignment_in_ruleNameExpCS1000);
+ rule__NameExpCS__PathNameAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNameExpCSAccess().getPathNameAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNameExpCS"
+
+
+ // $ANTLR start "entryRuleAnyElementCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:509:1: entryRuleAnyElementCS : ruleAnyElementCS EOF ;
+ public final void entryRuleAnyElementCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:510:1: ( ruleAnyElementCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:511:1: ruleAnyElementCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getAnyElementCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleAnyElementCS_in_entryRuleAnyElementCS1027);
+ ruleAnyElementCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getAnyElementCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAnyElementCS1034); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleAnyElementCS"
+
+
+ // $ANTLR start "ruleAnyElementCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:518:1: ruleAnyElementCS : ( ( rule__AnyElementCS__Group__0 ) ) ;
+ public final void ruleAnyElementCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:522:2: ( ( ( rule__AnyElementCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:523:1: ( ( rule__AnyElementCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:523:1: ( ( rule__AnyElementCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:524:1: ( rule__AnyElementCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getAnyElementCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:525:1: ( rule__AnyElementCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:525:2: rule__AnyElementCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__AnyElementCS__Group__0_in_ruleAnyElementCS1060);
+ rule__AnyElementCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getAnyElementCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleAnyElementCS"
+
+
+ // $ANTLR start "entryRuleDefaultValueCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:537:1: entryRuleDefaultValueCS : ruleDefaultValueCS EOF ;
+ public final void entryRuleDefaultValueCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:538:1: ( ruleDefaultValueCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:539:1: ruleDefaultValueCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDefaultValueCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleDefaultValueCS_in_entryRuleDefaultValueCS1087);
+ ruleDefaultValueCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDefaultValueCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDefaultValueCS1094); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleDefaultValueCS"
+
+
+ // $ANTLR start "ruleDefaultValueCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:546:1: ruleDefaultValueCS : ( ( rule__DefaultValueCS__Group__0 ) ) ;
+ public final void ruleDefaultValueCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:550:2: ( ( ( rule__DefaultValueCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:551:1: ( ( rule__DefaultValueCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:551:1: ( ( rule__DefaultValueCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:552:1: ( rule__DefaultValueCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDefaultValueCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:553:1: ( rule__DefaultValueCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:553:2: rule__DefaultValueCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DefaultValueCS__Group__0_in_ruleDefaultValueCS1120);
+ rule__DefaultValueCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDefaultValueCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleDefaultValueCS"
+
+
+ // $ANTLR start "entryRuleQueryCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:565:1: entryRuleQueryCS : ruleQueryCS EOF ;
+ public final void entryRuleQueryCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:566:1: ( ruleQueryCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:567:1: ruleQueryCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleQueryCS_in_entryRuleQueryCS1147);
+ ruleQueryCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleQueryCS1154); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleQueryCS"
+
+
+ // $ANTLR start "ruleQueryCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:574:1: ruleQueryCS : ( ( rule__QueryCS__Group__0 ) ) ;
+ public final void ruleQueryCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:578:2: ( ( ( rule__QueryCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:579:1: ( ( rule__QueryCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:579:1: ( ( rule__QueryCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:580:1: ( rule__QueryCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:581:1: ( rule__QueryCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:581:2: rule__QueryCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__0_in_ruleQueryCS1180);
+ rule__QueryCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleQueryCS"
+
+
+ // $ANTLR start "entryRuleParamDeclarationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:593:1: entryRuleParamDeclarationCS : ruleParamDeclarationCS EOF ;
+ public final void entryRuleParamDeclarationCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:594:1: ( ruleParamDeclarationCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:595:1: ruleParamDeclarationCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getParamDeclarationCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleParamDeclarationCS_in_entryRuleParamDeclarationCS1207);
+ ruleParamDeclarationCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getParamDeclarationCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParamDeclarationCS1214); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleParamDeclarationCS"
+
+
+ // $ANTLR start "ruleParamDeclarationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:602:1: ruleParamDeclarationCS : ( ( rule__ParamDeclarationCS__Group__0 ) ) ;
+ public final void ruleParamDeclarationCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:606:2: ( ( ( rule__ParamDeclarationCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:607:1: ( ( rule__ParamDeclarationCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:607:1: ( ( rule__ParamDeclarationCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:608:1: ( rule__ParamDeclarationCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getParamDeclarationCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:609:1: ( rule__ParamDeclarationCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:609:2: rule__ParamDeclarationCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ParamDeclarationCS__Group__0_in_ruleParamDeclarationCS1240);
+ rule__ParamDeclarationCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getParamDeclarationCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleParamDeclarationCS"
+
+
+ // $ANTLR start "entryRuleCollectionTypedRefCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:621:1: entryRuleCollectionTypedRefCS : ruleCollectionTypedRefCS EOF ;
+ public final void entryRuleCollectionTypedRefCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:622:1: ( ruleCollectionTypedRefCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:623:1: ruleCollectionTypedRefCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypedRefCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTypedRefCS_in_entryRuleCollectionTypedRefCS1267);
+ ruleCollectionTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypedRefCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionTypedRefCS1274); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleCollectionTypedRefCS"
+
+
+ // $ANTLR start "ruleCollectionTypedRefCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:630:1: ruleCollectionTypedRefCS : ( ( rule__CollectionTypedRefCS__PathNameAssignment ) ) ;
+ public final void ruleCollectionTypedRefCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:634:2: ( ( ( rule__CollectionTypedRefCS__PathNameAssignment ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:635:1: ( ( rule__CollectionTypedRefCS__PathNameAssignment ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:635:1: ( ( rule__CollectionTypedRefCS__PathNameAssignment ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:636:1: ( rule__CollectionTypedRefCS__PathNameAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypedRefCSAccess().getPathNameAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:637:1: ( rule__CollectionTypedRefCS__PathNameAssignment )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:637:2: rule__CollectionTypedRefCS__PathNameAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTypedRefCS__PathNameAssignment_in_ruleCollectionTypedRefCS1300);
+ rule__CollectionTypedRefCS__PathNameAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypedRefCSAccess().getPathNameAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleCollectionTypedRefCS"
+
+
+ // $ANTLR start "entryRuleTypedRefCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:649:1: entryRuleTypedRefCS : ruleTypedRefCS EOF ;
+ public final void entryRuleTypedRefCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:650:1: ( ruleTypedRefCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:651:1: ruleTypedRefCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypedRefCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_entryRuleTypedRefCS1327);
+ ruleTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypedRefCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypedRefCS1334); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTypedRefCS"
+
+
+ // $ANTLR start "ruleTypedRefCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:658:1: ruleTypedRefCS : ( ( rule__TypedRefCS__PathNameAssignment ) ) ;
+ public final void ruleTypedRefCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:662:2: ( ( ( rule__TypedRefCS__PathNameAssignment ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:663:1: ( ( rule__TypedRefCS__PathNameAssignment ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:663:1: ( ( rule__TypedRefCS__PathNameAssignment ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:664:1: ( rule__TypedRefCS__PathNameAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypedRefCSAccess().getPathNameAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:665:1: ( rule__TypedRefCS__PathNameAssignment )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:665:2: rule__TypedRefCS__PathNameAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TypedRefCS__PathNameAssignment_in_ruleTypedRefCS1360);
+ rule__TypedRefCS__PathNameAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypedRefCSAccess().getPathNameAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTypedRefCS"
+
+
+ // $ANTLR start "entryRuleUnrestrictedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:677:1: entryRuleUnrestrictedName : ruleUnrestrictedName EOF ;
+ public final void entryRuleUnrestrictedName() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:678:1: ( ruleUnrestrictedName EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:679:1: ruleUnrestrictedName EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_entryRuleUnrestrictedName1387);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnrestrictedName1394); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleUnrestrictedName"
+
+
+ // $ANTLR start "ruleUnrestrictedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:686:1: ruleUnrestrictedName : ( ( rule__UnrestrictedName__Alternatives ) ) ;
+ public final void ruleUnrestrictedName() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:690:2: ( ( ( rule__UnrestrictedName__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:691:1: ( ( rule__UnrestrictedName__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:691:1: ( ( rule__UnrestrictedName__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:692:1: ( rule__UnrestrictedName__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:693:1: ( rule__UnrestrictedName__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:693:2: rule__UnrestrictedName__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__UnrestrictedName__Alternatives_in_ruleUnrestrictedName1420);
+ rule__UnrestrictedName__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleUnrestrictedName"
+
+
+ // $ANTLR start "entryRuleID"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:707:1: entryRuleID : ruleID EOF ;
+ public final void entryRuleID() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:708:1: ( ruleID EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:709:1: ruleID EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIDRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleID_in_entryRuleID1449);
+ ruleID();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIDRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleID1456); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleID"
+
+
+ // $ANTLR start "ruleID"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:716:1: ruleID : ( ( rule__ID__Alternatives ) ) ;
+ public final void ruleID() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:720:2: ( ( ( rule__ID__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:721:1: ( ( rule__ID__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:721:1: ( ( rule__ID__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:722:1: ( rule__ID__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIDAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:723:1: ( rule__ID__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:723:2: rule__ID__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ID__Alternatives_in_ruleID1482);
+ rule__ID__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIDAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleID"
+
+
+ // $ANTLR start "entryRuleLOWER"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:735:1: entryRuleLOWER : ruleLOWER EOF ;
+ public final void entryRuleLOWER() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:736:1: ( ruleLOWER EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:737:1: ruleLOWER EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLOWERRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleLOWER_in_entryRuleLOWER1509);
+ ruleLOWER();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLOWERRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLOWER1516); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleLOWER"
+
+
+ // $ANTLR start "ruleLOWER"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:744:1: ruleLOWER : ( RULE_INT ) ;
+ public final void ruleLOWER() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:748:2: ( ( RULE_INT ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:749:1: ( RULE_INT )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:749:1: ( RULE_INT )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:750:1: RULE_INT
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLOWERAccess().getINTTerminalRuleCall());
+ }
+ match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleLOWER1542); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLOWERAccess().getINTTerminalRuleCall());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleLOWER"
+
+
+ // $ANTLR start "entryRuleUPPER"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:763:1: entryRuleUPPER : ruleUPPER EOF ;
+ public final void entryRuleUPPER() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:764:1: ( ruleUPPER EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:765:1: ruleUPPER EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUPPERRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUPPER_in_entryRuleUPPER1568);
+ ruleUPPER();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUPPERRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUPPER1575); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleUPPER"
+
+
+ // $ANTLR start "ruleUPPER"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:772:1: ruleUPPER : ( ( rule__UPPER__Alternatives ) ) ;
+ public final void ruleUPPER() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:776:2: ( ( ( rule__UPPER__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:777:1: ( ( rule__UPPER__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:777:1: ( ( rule__UPPER__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:778:1: ( rule__UPPER__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUPPERAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:779:1: ( rule__UPPER__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:779:2: rule__UPPER__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__UPPER__Alternatives_in_ruleUPPER1601);
+ rule__UPPER__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUPPERAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleUPPER"
+
+
+ // $ANTLR start "entryRuleNUMBER_LITERAL"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:791:1: entryRuleNUMBER_LITERAL : ruleNUMBER_LITERAL EOF ;
+ public final void entryRuleNUMBER_LITERAL() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:792:1: ( ruleNUMBER_LITERAL EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:793:1: ruleNUMBER_LITERAL EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNUMBER_LITERALRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNUMBER_LITERAL_in_entryRuleNUMBER_LITERAL1628);
+ ruleNUMBER_LITERAL();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNUMBER_LITERALRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNUMBER_LITERAL1635); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNUMBER_LITERAL"
+
+
+ // $ANTLR start "ruleNUMBER_LITERAL"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:800:1: ruleNUMBER_LITERAL : ( ( rule__NUMBER_LITERAL__Group__0 ) ) ;
+ public final void ruleNUMBER_LITERAL() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:804:2: ( ( ( rule__NUMBER_LITERAL__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:805:1: ( ( rule__NUMBER_LITERAL__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:805:1: ( ( rule__NUMBER_LITERAL__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:806:1: ( rule__NUMBER_LITERAL__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNUMBER_LITERALAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:807:1: ( rule__NUMBER_LITERAL__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:807:2: rule__NUMBER_LITERAL__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group__0_in_ruleNUMBER_LITERAL1661);
+ rule__NUMBER_LITERAL__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNUMBER_LITERALAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNUMBER_LITERAL"
+
+
+ // $ANTLR start "entryRuleEssentialOCLUnrestrictedIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:823:1: entryRuleEssentialOCLUnrestrictedIdentifier : ruleEssentialOCLUnrestrictedIdentifier EOF ;
+ public final void entryRuleEssentialOCLUnrestrictedIdentifier() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:824:1: ( ruleEssentialOCLUnrestrictedIdentifier EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:825:1: ruleEssentialOCLUnrestrictedIdentifier EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLUnrestrictedIdentifierRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnrestrictedIdentifier_in_entryRuleEssentialOCLUnrestrictedIdentifier1692);
+ ruleEssentialOCLUnrestrictedIdentifier();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLUnrestrictedIdentifierRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnrestrictedIdentifier1699); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleEssentialOCLUnrestrictedIdentifier"
+
+
+ // $ANTLR start "ruleEssentialOCLUnrestrictedIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:832:1: ruleEssentialOCLUnrestrictedIdentifier : ( ( rule__EssentialOCLUnrestrictedIdentifier__Alternatives ) ) ;
+ public final void ruleEssentialOCLUnrestrictedIdentifier() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:836:2: ( ( ( rule__EssentialOCLUnrestrictedIdentifier__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:837:1: ( ( rule__EssentialOCLUnrestrictedIdentifier__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:837:1: ( ( rule__EssentialOCLUnrestrictedIdentifier__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:838:1: ( rule__EssentialOCLUnrestrictedIdentifier__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:839:1: ( rule__EssentialOCLUnrestrictedIdentifier__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:839:2: rule__EssentialOCLUnrestrictedIdentifier__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__EssentialOCLUnrestrictedIdentifier__Alternatives_in_ruleEssentialOCLUnrestrictedIdentifier1725);
+ rule__EssentialOCLUnrestrictedIdentifier__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleEssentialOCLUnrestrictedIdentifier"
+
+
+ // $ANTLR start "entryRuleEssentialOCLPrefixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:851:1: entryRuleEssentialOCLPrefixOperator : ruleEssentialOCLPrefixOperator EOF ;
+ public final void entryRuleEssentialOCLPrefixOperator() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:852:1: ( ruleEssentialOCLPrefixOperator EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:853:1: ruleEssentialOCLPrefixOperator EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLPrefixOperatorRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLPrefixOperator_in_entryRuleEssentialOCLPrefixOperator1752);
+ ruleEssentialOCLPrefixOperator();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLPrefixOperatorRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLPrefixOperator1759); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleEssentialOCLPrefixOperator"
+
+
+ // $ANTLR start "ruleEssentialOCLPrefixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:860:1: ruleEssentialOCLPrefixOperator : ( ( rule__EssentialOCLPrefixOperator__Alternatives ) ) ;
+ public final void ruleEssentialOCLPrefixOperator() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:864:2: ( ( ( rule__EssentialOCLPrefixOperator__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:865:1: ( ( rule__EssentialOCLPrefixOperator__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:865:1: ( ( rule__EssentialOCLPrefixOperator__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:866:1: ( rule__EssentialOCLPrefixOperator__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLPrefixOperatorAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:867:1: ( rule__EssentialOCLPrefixOperator__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:867:2: rule__EssentialOCLPrefixOperator__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__EssentialOCLPrefixOperator__Alternatives_in_ruleEssentialOCLPrefixOperator1785);
+ rule__EssentialOCLPrefixOperator__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLPrefixOperatorAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleEssentialOCLPrefixOperator"
+
+
+ // $ANTLR start "entryRuleEssentialOCLInfixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:879:1: entryRuleEssentialOCLInfixOperator : ruleEssentialOCLInfixOperator EOF ;
+ public final void entryRuleEssentialOCLInfixOperator() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:880:1: ( ruleEssentialOCLInfixOperator EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:881:1: ruleEssentialOCLInfixOperator EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLInfixOperator_in_entryRuleEssentialOCLInfixOperator1812);
+ ruleEssentialOCLInfixOperator();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLInfixOperator1819); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleEssentialOCLInfixOperator"
+
+
+ // $ANTLR start "ruleEssentialOCLInfixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:888:1: ruleEssentialOCLInfixOperator : ( ( rule__EssentialOCLInfixOperator__Alternatives ) ) ;
+ public final void ruleEssentialOCLInfixOperator() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:892:2: ( ( ( rule__EssentialOCLInfixOperator__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:893:1: ( ( rule__EssentialOCLInfixOperator__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:893:1: ( ( rule__EssentialOCLInfixOperator__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:894:1: ( rule__EssentialOCLInfixOperator__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:895:1: ( rule__EssentialOCLInfixOperator__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:895:2: rule__EssentialOCLInfixOperator__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__EssentialOCLInfixOperator__Alternatives_in_ruleEssentialOCLInfixOperator1845);
+ rule__EssentialOCLInfixOperator__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleEssentialOCLInfixOperator"
+
+
+ // $ANTLR start "entryRuleEssentialOCLNavigationOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:907:1: entryRuleEssentialOCLNavigationOperator : ruleEssentialOCLNavigationOperator EOF ;
+ public final void entryRuleEssentialOCLNavigationOperator() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:908:1: ( ruleEssentialOCLNavigationOperator EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:909:1: ruleEssentialOCLNavigationOperator EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLNavigationOperatorRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLNavigationOperator_in_entryRuleEssentialOCLNavigationOperator1872);
+ ruleEssentialOCLNavigationOperator();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLNavigationOperatorRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLNavigationOperator1879); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleEssentialOCLNavigationOperator"
+
+
+ // $ANTLR start "ruleEssentialOCLNavigationOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:916:1: ruleEssentialOCLNavigationOperator : ( ( rule__EssentialOCLNavigationOperator__Alternatives ) ) ;
+ public final void ruleEssentialOCLNavigationOperator() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:920:2: ( ( ( rule__EssentialOCLNavigationOperator__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:921:1: ( ( rule__EssentialOCLNavigationOperator__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:921:1: ( ( rule__EssentialOCLNavigationOperator__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:922:1: ( rule__EssentialOCLNavigationOperator__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLNavigationOperatorAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:923:1: ( rule__EssentialOCLNavigationOperator__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:923:2: rule__EssentialOCLNavigationOperator__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__EssentialOCLNavigationOperator__Alternatives_in_ruleEssentialOCLNavigationOperator1905);
+ rule__EssentialOCLNavigationOperator__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLNavigationOperatorAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleEssentialOCLNavigationOperator"
+
+
+ // $ANTLR start "entryRuleIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:935:1: entryRuleIdentifier : ruleIdentifier EOF ;
+ public final void entryRuleIdentifier() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:936:1: ( ruleIdentifier EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:937:1: ruleIdentifier EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIdentifierRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleIdentifier_in_entryRuleIdentifier1932);
+ ruleIdentifier();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIdentifierRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIdentifier1939); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleIdentifier"
+
+
+ // $ANTLR start "ruleIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:944:1: ruleIdentifier : ( ( rule__Identifier__Alternatives ) ) ;
+ public final void ruleIdentifier() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:948:2: ( ( ( rule__Identifier__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:949:1: ( ( rule__Identifier__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:949:1: ( ( rule__Identifier__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:950:1: ( rule__Identifier__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIdentifierAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:951:1: ( rule__Identifier__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:951:2: rule__Identifier__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__Identifier__Alternatives_in_ruleIdentifier1965);
+ rule__Identifier__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIdentifierAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleIdentifier"
+
+
+ // $ANTLR start "entryRuleStringLiteral"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:963:1: entryRuleStringLiteral : ruleStringLiteral EOF ;
+ public final void entryRuleStringLiteral() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:964:1: ( ruleStringLiteral EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:965:1: ruleStringLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStringLiteralRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral1992);
+ ruleStringLiteral();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStringLiteralRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStringLiteral1999); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleStringLiteral"
+
+
+ // $ANTLR start "ruleStringLiteral"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:972:1: ruleStringLiteral : ( RULE_SINGLE_QUOTED_STRING ) ;
+ public final void ruleStringLiteral() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:976:2: ( ( RULE_SINGLE_QUOTED_STRING ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:977:1: ( RULE_SINGLE_QUOTED_STRING )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:977:1: ( RULE_SINGLE_QUOTED_STRING )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:978:1: RULE_SINGLE_QUOTED_STRING
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStringLiteralAccess().getSINGLE_QUOTED_STRINGTerminalRuleCall());
+ }
+ match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStringLiteral2025); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStringLiteralAccess().getSINGLE_QUOTED_STRINGTerminalRuleCall());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleStringLiteral"
+
+
+ // $ANTLR start "entryRulePrefixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:991:1: entryRulePrefixOperator : rulePrefixOperator EOF ;
+ public final void entryRulePrefixOperator() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:992:1: ( rulePrefixOperator EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:993:1: rulePrefixOperator EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixOperatorRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrefixOperator_in_entryRulePrefixOperator2051);
+ rulePrefixOperator();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixOperatorRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrefixOperator2058); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulePrefixOperator"
+
+
+ // $ANTLR start "rulePrefixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1000:1: rulePrefixOperator : ( ruleEssentialOCLPrefixOperator ) ;
+ public final void rulePrefixOperator() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1004:2: ( ( ruleEssentialOCLPrefixOperator ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1005:1: ( ruleEssentialOCLPrefixOperator )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1005:1: ( ruleEssentialOCLPrefixOperator )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1006:1: ruleEssentialOCLPrefixOperator
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixOperatorAccess().getEssentialOCLPrefixOperatorParserRuleCall());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLPrefixOperator_in_rulePrefixOperator2084);
+ ruleEssentialOCLPrefixOperator();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixOperatorAccess().getEssentialOCLPrefixOperatorParserRuleCall());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePrefixOperator"
+
+
+ // $ANTLR start "entryRuleInfixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1019:1: entryRuleInfixOperator : ruleInfixOperator EOF ;
+ public final void entryRuleInfixOperator() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1020:1: ( ruleInfixOperator EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1021:1: ruleInfixOperator EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getInfixOperatorRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleInfixOperator_in_entryRuleInfixOperator2110);
+ ruleInfixOperator();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getInfixOperatorRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInfixOperator2117); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleInfixOperator"
+
+
+ // $ANTLR start "ruleInfixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1028:1: ruleInfixOperator : ( ruleEssentialOCLInfixOperator ) ;
+ public final void ruleInfixOperator() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1032:2: ( ( ruleEssentialOCLInfixOperator ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1033:1: ( ruleEssentialOCLInfixOperator )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1033:1: ( ruleEssentialOCLInfixOperator )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1034:1: ruleEssentialOCLInfixOperator
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getInfixOperatorAccess().getEssentialOCLInfixOperatorParserRuleCall());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLInfixOperator_in_ruleInfixOperator2143);
+ ruleEssentialOCLInfixOperator();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getInfixOperatorAccess().getEssentialOCLInfixOperatorParserRuleCall());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleInfixOperator"
+
+
+ // $ANTLR start "entryRuleNavigationOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1047:1: entryRuleNavigationOperator : ruleNavigationOperator EOF ;
+ public final void entryRuleNavigationOperator() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1048:1: ( ruleNavigationOperator EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1049:1: ruleNavigationOperator EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigationOperatorRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigationOperator_in_entryRuleNavigationOperator2169);
+ ruleNavigationOperator();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigationOperatorRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigationOperator2176); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNavigationOperator"
+
+
+ // $ANTLR start "ruleNavigationOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1056:1: ruleNavigationOperator : ( ruleEssentialOCLNavigationOperator ) ;
+ public final void ruleNavigationOperator() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1060:2: ( ( ruleEssentialOCLNavigationOperator ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1061:1: ( ruleEssentialOCLNavigationOperator )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1061:1: ( ruleEssentialOCLNavigationOperator )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1062:1: ruleEssentialOCLNavigationOperator
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigationOperatorAccess().getEssentialOCLNavigationOperatorParserRuleCall());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLNavigationOperator_in_ruleNavigationOperator2202);
+ ruleEssentialOCLNavigationOperator();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigationOperatorAccess().getEssentialOCLNavigationOperatorParserRuleCall());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNavigationOperator"
+
+
+ // $ANTLR start "entryRuleEssentialOCLUnrestrictedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1075:1: entryRuleEssentialOCLUnrestrictedName : ruleEssentialOCLUnrestrictedName EOF ;
+ public final void entryRuleEssentialOCLUnrestrictedName() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1076:1: ( ruleEssentialOCLUnrestrictedName EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1077:1: ruleEssentialOCLUnrestrictedName EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLUnrestrictedNameRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnrestrictedName_in_entryRuleEssentialOCLUnrestrictedName2228);
+ ruleEssentialOCLUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLUnrestrictedNameRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnrestrictedName2235); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleEssentialOCLUnrestrictedName"
+
+
+ // $ANTLR start "ruleEssentialOCLUnrestrictedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1084:1: ruleEssentialOCLUnrestrictedName : ( ruleIdentifier ) ;
+ public final void ruleEssentialOCLUnrestrictedName() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1088:2: ( ( ruleIdentifier ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1089:1: ( ruleIdentifier )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1089:1: ( ruleIdentifier )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1090:1: ruleIdentifier
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLUnrestrictedNameAccess().getIdentifierParserRuleCall());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleIdentifier_in_ruleEssentialOCLUnrestrictedName2261);
+ ruleIdentifier();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLUnrestrictedNameAccess().getIdentifierParserRuleCall());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleEssentialOCLUnrestrictedName"
+
+
+ // $ANTLR start "entryRuleEssentialOCLUnreservedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1103:1: entryRuleEssentialOCLUnreservedName : ruleEssentialOCLUnreservedName EOF ;
+ public final void entryRuleEssentialOCLUnreservedName() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1104:1: ( ruleEssentialOCLUnreservedName EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1105:1: ruleEssentialOCLUnreservedName EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLUnreservedNameRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnreservedName_in_entryRuleEssentialOCLUnreservedName2287);
+ ruleEssentialOCLUnreservedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLUnreservedNameRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnreservedName2294); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleEssentialOCLUnreservedName"
+
+
+ // $ANTLR start "ruleEssentialOCLUnreservedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1112:1: ruleEssentialOCLUnreservedName : ( ( rule__EssentialOCLUnreservedName__Alternatives ) ) ;
+ public final void ruleEssentialOCLUnreservedName() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1116:2: ( ( ( rule__EssentialOCLUnreservedName__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1117:1: ( ( rule__EssentialOCLUnreservedName__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1117:1: ( ( rule__EssentialOCLUnreservedName__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1118:1: ( rule__EssentialOCLUnreservedName__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLUnreservedNameAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1119:1: ( rule__EssentialOCLUnreservedName__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1119:2: rule__EssentialOCLUnreservedName__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__EssentialOCLUnreservedName__Alternatives_in_ruleEssentialOCLUnreservedName2320);
+ rule__EssentialOCLUnreservedName__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLUnreservedNameAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleEssentialOCLUnreservedName"
+
+
+ // $ANTLR start "entryRuleUnreservedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1131:1: entryRuleUnreservedName : ruleUnreservedName EOF ;
+ public final void entryRuleUnreservedName() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1132:1: ( ruleUnreservedName EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1133:1: ruleUnreservedName EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnreservedNameRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnreservedName_in_entryRuleUnreservedName2347);
+ ruleUnreservedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnreservedNameRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnreservedName2354); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleUnreservedName"
+
+
+ // $ANTLR start "ruleUnreservedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1140:1: ruleUnreservedName : ( ruleEssentialOCLUnreservedName ) ;
+ public final void ruleUnreservedName() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1144:2: ( ( ruleEssentialOCLUnreservedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1145:1: ( ruleEssentialOCLUnreservedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1145:1: ( ruleEssentialOCLUnreservedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1146:1: ruleEssentialOCLUnreservedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnreservedNameAccess().getEssentialOCLUnreservedNameParserRuleCall());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnreservedName_in_ruleUnreservedName2380);
+ ruleEssentialOCLUnreservedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnreservedNameAccess().getEssentialOCLUnreservedNameParserRuleCall());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleUnreservedName"
+
+
+ // $ANTLR start "entryRulePathNameCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1159:1: entryRulePathNameCS : rulePathNameCS EOF ;
+ public final void entryRulePathNameCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1160:1: ( rulePathNameCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1161:1: rulePathNameCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPathNameCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_entryRulePathNameCS2406);
+ rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPathNameCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePathNameCS2413); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulePathNameCS"
+
+
+ // $ANTLR start "rulePathNameCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1168:1: rulePathNameCS : ( ( rule__PathNameCS__Group__0 ) ) ;
+ public final void rulePathNameCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1172:2: ( ( ( rule__PathNameCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1173:1: ( ( rule__PathNameCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1173:1: ( ( rule__PathNameCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1174:1: ( rule__PathNameCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPathNameCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1175:1: ( rule__PathNameCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1175:2: rule__PathNameCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PathNameCS__Group__0_in_rulePathNameCS2439);
+ rule__PathNameCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPathNameCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePathNameCS"
+
+
+ // $ANTLR start "entryRuleFirstPathElementCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1187:1: entryRuleFirstPathElementCS : ruleFirstPathElementCS EOF ;
+ public final void entryRuleFirstPathElementCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1188:1: ( ruleFirstPathElementCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1189:1: ruleFirstPathElementCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getFirstPathElementCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleFirstPathElementCS_in_entryRuleFirstPathElementCS2466);
+ ruleFirstPathElementCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getFirstPathElementCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFirstPathElementCS2473); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleFirstPathElementCS"
+
+
+ // $ANTLR start "ruleFirstPathElementCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1196:1: ruleFirstPathElementCS : ( ( rule__FirstPathElementCS__ElementAssignment ) ) ;
+ public final void ruleFirstPathElementCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1200:2: ( ( ( rule__FirstPathElementCS__ElementAssignment ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1201:1: ( ( rule__FirstPathElementCS__ElementAssignment ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1201:1: ( ( rule__FirstPathElementCS__ElementAssignment ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1202:1: ( rule__FirstPathElementCS__ElementAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getFirstPathElementCSAccess().getElementAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1203:1: ( rule__FirstPathElementCS__ElementAssignment )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1203:2: rule__FirstPathElementCS__ElementAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__FirstPathElementCS__ElementAssignment_in_ruleFirstPathElementCS2499);
+ rule__FirstPathElementCS__ElementAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getFirstPathElementCSAccess().getElementAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleFirstPathElementCS"
+
+
+ // $ANTLR start "entryRuleNextPathElementCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1215:1: entryRuleNextPathElementCS : ruleNextPathElementCS EOF ;
+ public final void entryRuleNextPathElementCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1216:1: ( ruleNextPathElementCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1217:1: ruleNextPathElementCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNextPathElementCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNextPathElementCS_in_entryRuleNextPathElementCS2526);
+ ruleNextPathElementCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNextPathElementCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNextPathElementCS2533); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNextPathElementCS"
+
+
+ // $ANTLR start "ruleNextPathElementCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1224:1: ruleNextPathElementCS : ( ( rule__NextPathElementCS__ElementAssignment ) ) ;
+ public final void ruleNextPathElementCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1228:2: ( ( ( rule__NextPathElementCS__ElementAssignment ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1229:1: ( ( rule__NextPathElementCS__ElementAssignment ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1229:1: ( ( rule__NextPathElementCS__ElementAssignment ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1230:1: ( rule__NextPathElementCS__ElementAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNextPathElementCSAccess().getElementAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1231:1: ( rule__NextPathElementCS__ElementAssignment )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1231:2: rule__NextPathElementCS__ElementAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NextPathElementCS__ElementAssignment_in_ruleNextPathElementCS2559);
+ rule__NextPathElementCS__ElementAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNextPathElementCSAccess().getElementAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNextPathElementCS"
+
+
+ // $ANTLR start "entryRulePrimitiveTypeIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1243:1: entryRulePrimitiveTypeIdentifier : rulePrimitiveTypeIdentifier EOF ;
+ public final void entryRulePrimitiveTypeIdentifier() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1244:1: ( rulePrimitiveTypeIdentifier EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1245:1: rulePrimitiveTypeIdentifier EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeIdentifierRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_entryRulePrimitiveTypeIdentifier2586);
+ rulePrimitiveTypeIdentifier();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeIdentifierRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveTypeIdentifier2593); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulePrimitiveTypeIdentifier"
+
+
+ // $ANTLR start "rulePrimitiveTypeIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1252:1: rulePrimitiveTypeIdentifier : ( ( rule__PrimitiveTypeIdentifier__Alternatives ) ) ;
+ public final void rulePrimitiveTypeIdentifier() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1256:2: ( ( ( rule__PrimitiveTypeIdentifier__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1257:1: ( ( rule__PrimitiveTypeIdentifier__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1257:1: ( ( rule__PrimitiveTypeIdentifier__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1258:1: ( rule__PrimitiveTypeIdentifier__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1259:1: ( rule__PrimitiveTypeIdentifier__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1259:2: rule__PrimitiveTypeIdentifier__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeIdentifier__Alternatives_in_rulePrimitiveTypeIdentifier2619);
+ rule__PrimitiveTypeIdentifier__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePrimitiveTypeIdentifier"
+
+
+ // $ANTLR start "entryRulePrimitiveTypeCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1271:1: entryRulePrimitiveTypeCS : rulePrimitiveTypeCS EOF ;
+ public final void entryRulePrimitiveTypeCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1272:1: ( rulePrimitiveTypeCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1273:1: rulePrimitiveTypeCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeCS_in_entryRulePrimitiveTypeCS2646);
+ rulePrimitiveTypeCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveTypeCS2653); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulePrimitiveTypeCS"
+
+
+ // $ANTLR start "rulePrimitiveTypeCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1280:1: rulePrimitiveTypeCS : ( ( rule__PrimitiveTypeCS__NameAssignment ) ) ;
+ public final void rulePrimitiveTypeCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1284:2: ( ( ( rule__PrimitiveTypeCS__NameAssignment ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1285:1: ( ( rule__PrimitiveTypeCS__NameAssignment ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1285:1: ( ( rule__PrimitiveTypeCS__NameAssignment ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1286:1: ( rule__PrimitiveTypeCS__NameAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeCSAccess().getNameAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1287:1: ( rule__PrimitiveTypeCS__NameAssignment )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1287:2: rule__PrimitiveTypeCS__NameAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeCS__NameAssignment_in_rulePrimitiveTypeCS2679);
+ rule__PrimitiveTypeCS__NameAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeCSAccess().getNameAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePrimitiveTypeCS"
+
+
+ // $ANTLR start "entryRuleCollectionTypeIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1299:1: entryRuleCollectionTypeIdentifier : ruleCollectionTypeIdentifier EOF ;
+ public final void entryRuleCollectionTypeIdentifier() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1300:1: ( ruleCollectionTypeIdentifier EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1301:1: ruleCollectionTypeIdentifier EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeIdentifierRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_entryRuleCollectionTypeIdentifier2706);
+ ruleCollectionTypeIdentifier();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeIdentifierRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionTypeIdentifier2713); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleCollectionTypeIdentifier"
+
+
+ // $ANTLR start "ruleCollectionTypeIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1308:1: ruleCollectionTypeIdentifier : ( ( rule__CollectionTypeIdentifier__Alternatives ) ) ;
+ public final void ruleCollectionTypeIdentifier() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1312:2: ( ( ( rule__CollectionTypeIdentifier__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1313:1: ( ( rule__CollectionTypeIdentifier__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1313:1: ( ( rule__CollectionTypeIdentifier__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1314:1: ( rule__CollectionTypeIdentifier__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeIdentifierAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1315:1: ( rule__CollectionTypeIdentifier__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1315:2: rule__CollectionTypeIdentifier__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTypeIdentifier__Alternatives_in_ruleCollectionTypeIdentifier2739);
+ rule__CollectionTypeIdentifier__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeIdentifierAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleCollectionTypeIdentifier"
+
+
+ // $ANTLR start "entryRuleCollectionTypeCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1327:1: entryRuleCollectionTypeCS : ruleCollectionTypeCS EOF ;
+ public final void entryRuleCollectionTypeCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1328:1: ( ruleCollectionTypeCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1329:1: ruleCollectionTypeCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_entryRuleCollectionTypeCS2766);
+ ruleCollectionTypeCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionTypeCS2773); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleCollectionTypeCS"
+
+
+ // $ANTLR start "ruleCollectionTypeCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1336:1: ruleCollectionTypeCS : ( ( rule__CollectionTypeCS__Group__0 ) ) ;
+ public final void ruleCollectionTypeCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1340:2: ( ( ( rule__CollectionTypeCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1341:1: ( ( rule__CollectionTypeCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1341:1: ( ( rule__CollectionTypeCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1342:1: ( rule__CollectionTypeCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1343:1: ( rule__CollectionTypeCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1343:2: rule__CollectionTypeCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTypeCS__Group__0_in_ruleCollectionTypeCS2799);
+ rule__CollectionTypeCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleCollectionTypeCS"
+
+
+ // $ANTLR start "entryRuleMultiplicityBoundsCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1355:1: entryRuleMultiplicityBoundsCS : ruleMultiplicityBoundsCS EOF ;
+ public final void entryRuleMultiplicityBoundsCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1356:1: ( ruleMultiplicityBoundsCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1357:1: ruleMultiplicityBoundsCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityBoundsCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleMultiplicityBoundsCS_in_entryRuleMultiplicityBoundsCS2826);
+ ruleMultiplicityBoundsCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityBoundsCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityBoundsCS2833); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleMultiplicityBoundsCS"
+
+
+ // $ANTLR start "ruleMultiplicityBoundsCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1364:1: ruleMultiplicityBoundsCS : ( ( rule__MultiplicityBoundsCS__Group__0 ) ) ;
+ public final void ruleMultiplicityBoundsCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1368:2: ( ( ( rule__MultiplicityBoundsCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1369:1: ( ( rule__MultiplicityBoundsCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1369:1: ( ( rule__MultiplicityBoundsCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1370:1: ( rule__MultiplicityBoundsCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityBoundsCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1371:1: ( rule__MultiplicityBoundsCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1371:2: rule__MultiplicityBoundsCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityBoundsCS__Group__0_in_ruleMultiplicityBoundsCS2859);
+ rule__MultiplicityBoundsCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityBoundsCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleMultiplicityBoundsCS"
+
+
+ // $ANTLR start "entryRuleMultiplicityCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1383:1: entryRuleMultiplicityCS : ruleMultiplicityCS EOF ;
+ public final void entryRuleMultiplicityCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1384:1: ( ruleMultiplicityCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1385:1: ruleMultiplicityCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_entryRuleMultiplicityCS2886);
+ ruleMultiplicityCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityCS2893); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleMultiplicityCS"
+
+
+ // $ANTLR start "ruleMultiplicityCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1392:1: ruleMultiplicityCS : ( ( rule__MultiplicityCS__Group__0 ) ) ;
+ public final void ruleMultiplicityCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1396:2: ( ( ( rule__MultiplicityCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1397:1: ( ( rule__MultiplicityCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1397:1: ( ( rule__MultiplicityCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1398:1: ( rule__MultiplicityCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1399:1: ( rule__MultiplicityCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1399:2: rule__MultiplicityCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityCS__Group__0_in_ruleMultiplicityCS2919);
+ rule__MultiplicityCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleMultiplicityCS"
+
+
+ // $ANTLR start "entryRuleMultiplicityStringCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1411:1: entryRuleMultiplicityStringCS : ruleMultiplicityStringCS EOF ;
+ public final void entryRuleMultiplicityStringCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1412:1: ( ruleMultiplicityStringCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1413:1: ruleMultiplicityStringCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityStringCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleMultiplicityStringCS_in_entryRuleMultiplicityStringCS2946);
+ ruleMultiplicityStringCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityStringCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityStringCS2953); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleMultiplicityStringCS"
+
+
+ // $ANTLR start "ruleMultiplicityStringCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1420:1: ruleMultiplicityStringCS : ( ( rule__MultiplicityStringCS__StringBoundsAssignment ) ) ;
+ public final void ruleMultiplicityStringCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1424:2: ( ( ( rule__MultiplicityStringCS__StringBoundsAssignment ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1425:1: ( ( rule__MultiplicityStringCS__StringBoundsAssignment ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1425:1: ( ( rule__MultiplicityStringCS__StringBoundsAssignment ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1426:1: ( rule__MultiplicityStringCS__StringBoundsAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1427:1: ( rule__MultiplicityStringCS__StringBoundsAssignment )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1427:2: rule__MultiplicityStringCS__StringBoundsAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityStringCS__StringBoundsAssignment_in_ruleMultiplicityStringCS2979);
+ rule__MultiplicityStringCS__StringBoundsAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleMultiplicityStringCS"
+
+
+ // $ANTLR start "entryRuleTupleTypeCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1439:1: entryRuleTupleTypeCS : ruleTupleTypeCS EOF ;
+ public final void entryRuleTupleTypeCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1440:1: ( ruleTupleTypeCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1441:1: ruleTupleTypeCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTupleTypeCS_in_entryRuleTupleTypeCS3006);
+ ruleTupleTypeCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleTypeCS3013); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTupleTypeCS"
+
+
+ // $ANTLR start "ruleTupleTypeCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1448:1: ruleTupleTypeCS : ( ( rule__TupleTypeCS__Group__0 ) ) ;
+ public final void ruleTupleTypeCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1452:2: ( ( ( rule__TupleTypeCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1453:1: ( ( rule__TupleTypeCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1453:1: ( ( rule__TupleTypeCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1454:1: ( rule__TupleTypeCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1455:1: ( rule__TupleTypeCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1455:2: rule__TupleTypeCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group__0_in_ruleTupleTypeCS3039);
+ rule__TupleTypeCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTupleTypeCS"
+
+
+ // $ANTLR start "entryRuleTuplePartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1467:1: entryRuleTuplePartCS : ruleTuplePartCS EOF ;
+ public final void entryRuleTuplePartCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1468:1: ( ruleTuplePartCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1469:1: ruleTuplePartCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTuplePartCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTuplePartCS_in_entryRuleTuplePartCS3066);
+ ruleTuplePartCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTuplePartCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTuplePartCS3073); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTuplePartCS"
+
+
+ // $ANTLR start "ruleTuplePartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1476:1: ruleTuplePartCS : ( ( rule__TuplePartCS__Group__0 ) ) ;
+ public final void ruleTuplePartCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1480:2: ( ( ( rule__TuplePartCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1481:1: ( ( rule__TuplePartCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1481:1: ( ( rule__TuplePartCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1482:1: ( rule__TuplePartCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTuplePartCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1483:1: ( rule__TuplePartCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1483:2: rule__TuplePartCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TuplePartCS__Group__0_in_ruleTuplePartCS3099);
+ rule__TuplePartCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTuplePartCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTuplePartCS"
+
+
+ // $ANTLR start "entryRuleCollectionLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1495:1: entryRuleCollectionLiteralExpCS : ruleCollectionLiteralExpCS EOF ;
+ public final void entryRuleCollectionLiteralExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1496:1: ( ruleCollectionLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1497:1: ruleCollectionLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_entryRuleCollectionLiteralExpCS3126);
+ ruleCollectionLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionLiteralExpCS3133); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleCollectionLiteralExpCS"
+
+
+ // $ANTLR start "ruleCollectionLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1504:1: ruleCollectionLiteralExpCS : ( ( rule__CollectionLiteralExpCS__Group__0 ) ) ;
+ public final void ruleCollectionLiteralExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1508:2: ( ( ( rule__CollectionLiteralExpCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1509:1: ( ( rule__CollectionLiteralExpCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1509:1: ( ( rule__CollectionLiteralExpCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1510:1: ( rule__CollectionLiteralExpCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralExpCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1511:1: ( rule__CollectionLiteralExpCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1511:2: rule__CollectionLiteralExpCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group__0_in_ruleCollectionLiteralExpCS3159);
+ rule__CollectionLiteralExpCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralExpCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleCollectionLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleCollectionLiteralPartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1523:1: entryRuleCollectionLiteralPartCS : ruleCollectionLiteralPartCS EOF ;
+ public final void entryRuleCollectionLiteralPartCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1524:1: ( ruleCollectionLiteralPartCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1525:1: ruleCollectionLiteralPartCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralPartCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralPartCS_in_entryRuleCollectionLiteralPartCS3186);
+ ruleCollectionLiteralPartCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralPartCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionLiteralPartCS3193); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleCollectionLiteralPartCS"
+
+
+ // $ANTLR start "ruleCollectionLiteralPartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1532:1: ruleCollectionLiteralPartCS : ( ( rule__CollectionLiteralPartCS__Group__0 ) ) ;
+ public final void ruleCollectionLiteralPartCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1536:2: ( ( ( rule__CollectionLiteralPartCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1537:1: ( ( rule__CollectionLiteralPartCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1537:1: ( ( rule__CollectionLiteralPartCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1538:1: ( rule__CollectionLiteralPartCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralPartCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1539:1: ( rule__CollectionLiteralPartCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1539:2: rule__CollectionLiteralPartCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralPartCS__Group__0_in_ruleCollectionLiteralPartCS3219);
+ rule__CollectionLiteralPartCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralPartCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleCollectionLiteralPartCS"
+
+
+ // $ANTLR start "entryRuleConstructorPartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1551:1: entryRuleConstructorPartCS : ruleConstructorPartCS EOF ;
+ public final void entryRuleConstructorPartCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1552:1: ( ruleConstructorPartCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1553:1: ruleConstructorPartCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getConstructorPartCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleConstructorPartCS_in_entryRuleConstructorPartCS3246);
+ ruleConstructorPartCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getConstructorPartCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleConstructorPartCS3253); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleConstructorPartCS"
+
+
+ // $ANTLR start "ruleConstructorPartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1560:1: ruleConstructorPartCS : ( ( rule__ConstructorPartCS__Group__0 ) ) ;
+ public final void ruleConstructorPartCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1564:2: ( ( ( rule__ConstructorPartCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1565:1: ( ( rule__ConstructorPartCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1565:1: ( ( rule__ConstructorPartCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1566:1: ( rule__ConstructorPartCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getConstructorPartCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1567:1: ( rule__ConstructorPartCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1567:2: rule__ConstructorPartCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ConstructorPartCS__Group__0_in_ruleConstructorPartCS3279);
+ rule__ConstructorPartCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getConstructorPartCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleConstructorPartCS"
+
+
+ // $ANTLR start "entryRulePrimitiveLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1579:1: entryRulePrimitiveLiteralExpCS : rulePrimitiveLiteralExpCS EOF ;
+ public final void entryRulePrimitiveLiteralExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1580:1: ( rulePrimitiveLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1581:1: rulePrimitiveLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveLiteralExpCS_in_entryRulePrimitiveLiteralExpCS3306);
+ rulePrimitiveLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveLiteralExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveLiteralExpCS3313); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulePrimitiveLiteralExpCS"
+
+
+ // $ANTLR start "rulePrimitiveLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1588:1: rulePrimitiveLiteralExpCS : ( ( rule__PrimitiveLiteralExpCS__Alternatives ) ) ;
+ public final void rulePrimitiveLiteralExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1592:2: ( ( ( rule__PrimitiveLiteralExpCS__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1593:1: ( ( rule__PrimitiveLiteralExpCS__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1593:1: ( ( rule__PrimitiveLiteralExpCS__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1594:1: ( rule__PrimitiveLiteralExpCS__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveLiteralExpCSAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1595:1: ( rule__PrimitiveLiteralExpCS__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1595:2: rule__PrimitiveLiteralExpCS__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveLiteralExpCS__Alternatives_in_rulePrimitiveLiteralExpCS3339);
+ rule__PrimitiveLiteralExpCS__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveLiteralExpCSAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePrimitiveLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleTupleLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1607:1: entryRuleTupleLiteralExpCS : ruleTupleLiteralExpCS EOF ;
+ public final void entryRuleTupleLiteralExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1608:1: ( ruleTupleLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1609:1: ruleTupleLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_entryRuleTupleLiteralExpCS3366);
+ ruleTupleLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleLiteralExpCS3373); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTupleLiteralExpCS"
+
+
+ // $ANTLR start "ruleTupleLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1616:1: ruleTupleLiteralExpCS : ( ( rule__TupleLiteralExpCS__Group__0 ) ) ;
+ public final void ruleTupleLiteralExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1620:2: ( ( ( rule__TupleLiteralExpCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1621:1: ( ( rule__TupleLiteralExpCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1621:1: ( ( rule__TupleLiteralExpCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1622:1: ( rule__TupleLiteralExpCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralExpCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1623:1: ( rule__TupleLiteralExpCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1623:2: rule__TupleLiteralExpCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__Group__0_in_ruleTupleLiteralExpCS3399);
+ rule__TupleLiteralExpCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralExpCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTupleLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleTupleLiteralPartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1635:1: entryRuleTupleLiteralPartCS : ruleTupleLiteralPartCS EOF ;
+ public final void entryRuleTupleLiteralPartCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1636:1: ( ruleTupleLiteralPartCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1637:1: ruleTupleLiteralPartCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralPartCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralPartCS_in_entryRuleTupleLiteralPartCS3426);
+ ruleTupleLiteralPartCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralPartCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleLiteralPartCS3433); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTupleLiteralPartCS"
+
+
+ // $ANTLR start "ruleTupleLiteralPartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1644:1: ruleTupleLiteralPartCS : ( ( rule__TupleLiteralPartCS__Group__0 ) ) ;
+ public final void ruleTupleLiteralPartCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1648:2: ( ( ( rule__TupleLiteralPartCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1649:1: ( ( rule__TupleLiteralPartCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1649:1: ( ( rule__TupleLiteralPartCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1650:1: ( rule__TupleLiteralPartCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralPartCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1651:1: ( rule__TupleLiteralPartCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1651:2: rule__TupleLiteralPartCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__Group__0_in_ruleTupleLiteralPartCS3459);
+ rule__TupleLiteralPartCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralPartCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTupleLiteralPartCS"
+
+
+ // $ANTLR start "entryRuleNumberLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1663:1: entryRuleNumberLiteralExpCS : ruleNumberLiteralExpCS EOF ;
+ public final void entryRuleNumberLiteralExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1664:1: ( ruleNumberLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1665:1: ruleNumberLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNumberLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNumberLiteralExpCS_in_entryRuleNumberLiteralExpCS3486);
+ ruleNumberLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNumberLiteralExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNumberLiteralExpCS3493); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNumberLiteralExpCS"
+
+
+ // $ANTLR start "ruleNumberLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1672:1: ruleNumberLiteralExpCS : ( ( rule__NumberLiteralExpCS__NameAssignment ) ) ;
+ public final void ruleNumberLiteralExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1676:2: ( ( ( rule__NumberLiteralExpCS__NameAssignment ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1677:1: ( ( rule__NumberLiteralExpCS__NameAssignment ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1677:1: ( ( rule__NumberLiteralExpCS__NameAssignment ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1678:1: ( rule__NumberLiteralExpCS__NameAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNumberLiteralExpCSAccess().getNameAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1679:1: ( rule__NumberLiteralExpCS__NameAssignment )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1679:2: rule__NumberLiteralExpCS__NameAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NumberLiteralExpCS__NameAssignment_in_ruleNumberLiteralExpCS3519);
+ rule__NumberLiteralExpCS__NameAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNumberLiteralExpCSAccess().getNameAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNumberLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleStringLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1691:1: entryRuleStringLiteralExpCS : ruleStringLiteralExpCS EOF ;
+ public final void entryRuleStringLiteralExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1692:1: ( ruleStringLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1693:1: ruleStringLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStringLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleStringLiteralExpCS_in_entryRuleStringLiteralExpCS3546);
+ ruleStringLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStringLiteralExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStringLiteralExpCS3553); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleStringLiteralExpCS"
+
+
+ // $ANTLR start "ruleStringLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1700:1: ruleStringLiteralExpCS : ( ( ( rule__StringLiteralExpCS__NameAssignment ) ) ( ( rule__StringLiteralExpCS__NameAssignment )* ) ) ;
+ public final void ruleStringLiteralExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1704:2: ( ( ( ( rule__StringLiteralExpCS__NameAssignment ) ) ( ( rule__StringLiteralExpCS__NameAssignment )* ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1705:1: ( ( ( rule__StringLiteralExpCS__NameAssignment ) ) ( ( rule__StringLiteralExpCS__NameAssignment )* ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1705:1: ( ( ( rule__StringLiteralExpCS__NameAssignment ) ) ( ( rule__StringLiteralExpCS__NameAssignment )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1706:1: ( ( rule__StringLiteralExpCS__NameAssignment ) ) ( ( rule__StringLiteralExpCS__NameAssignment )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1706:1: ( ( rule__StringLiteralExpCS__NameAssignment ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1707:1: ( rule__StringLiteralExpCS__NameAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStringLiteralExpCSAccess().getNameAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1708:1: ( rule__StringLiteralExpCS__NameAssignment )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1708:2: rule__StringLiteralExpCS__NameAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__StringLiteralExpCS__NameAssignment_in_ruleStringLiteralExpCS3581);
+ rule__StringLiteralExpCS__NameAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStringLiteralExpCSAccess().getNameAssignment());
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1711:1: ( ( rule__StringLiteralExpCS__NameAssignment )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1712:1: ( rule__StringLiteralExpCS__NameAssignment )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStringLiteralExpCSAccess().getNameAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1713:1: ( rule__StringLiteralExpCS__NameAssignment )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==RULE_SINGLE_QUOTED_STRING) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1713:2: rule__StringLiteralExpCS__NameAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__StringLiteralExpCS__NameAssignment_in_ruleStringLiteralExpCS3593);
+ rule__StringLiteralExpCS__NameAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStringLiteralExpCSAccess().getNameAssignment());
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleStringLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleBooleanLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1726:1: entryRuleBooleanLiteralExpCS : ruleBooleanLiteralExpCS EOF ;
+ public final void entryRuleBooleanLiteralExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1727:1: ( ruleBooleanLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1728:1: ruleBooleanLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getBooleanLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleBooleanLiteralExpCS_in_entryRuleBooleanLiteralExpCS3623);
+ ruleBooleanLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getBooleanLiteralExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanLiteralExpCS3630); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleBooleanLiteralExpCS"
+
+
+ // $ANTLR start "ruleBooleanLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1735:1: ruleBooleanLiteralExpCS : ( ( rule__BooleanLiteralExpCS__Alternatives ) ) ;
+ public final void ruleBooleanLiteralExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1739:2: ( ( ( rule__BooleanLiteralExpCS__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1740:1: ( ( rule__BooleanLiteralExpCS__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1740:1: ( ( rule__BooleanLiteralExpCS__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1741:1: ( rule__BooleanLiteralExpCS__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getBooleanLiteralExpCSAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1742:1: ( rule__BooleanLiteralExpCS__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1742:2: rule__BooleanLiteralExpCS__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__BooleanLiteralExpCS__Alternatives_in_ruleBooleanLiteralExpCS3656);
+ rule__BooleanLiteralExpCS__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getBooleanLiteralExpCSAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleBooleanLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleUnlimitedNaturalLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1754:1: entryRuleUnlimitedNaturalLiteralExpCS : ruleUnlimitedNaturalLiteralExpCS EOF ;
+ public final void entryRuleUnlimitedNaturalLiteralExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1755:1: ( ruleUnlimitedNaturalLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1756:1: ruleUnlimitedNaturalLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnlimitedNaturalLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_entryRuleUnlimitedNaturalLiteralExpCS3683);
+ ruleUnlimitedNaturalLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnlimitedNaturalLiteralExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnlimitedNaturalLiteralExpCS3690); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleUnlimitedNaturalLiteralExpCS"
+
+
+ // $ANTLR start "ruleUnlimitedNaturalLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1763:1: ruleUnlimitedNaturalLiteralExpCS : ( ( rule__UnlimitedNaturalLiteralExpCS__Group__0 ) ) ;
+ public final void ruleUnlimitedNaturalLiteralExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1767:2: ( ( ( rule__UnlimitedNaturalLiteralExpCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1768:1: ( ( rule__UnlimitedNaturalLiteralExpCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1768:1: ( ( rule__UnlimitedNaturalLiteralExpCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1769:1: ( rule__UnlimitedNaturalLiteralExpCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1770:1: ( rule__UnlimitedNaturalLiteralExpCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1770:2: rule__UnlimitedNaturalLiteralExpCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__0_in_ruleUnlimitedNaturalLiteralExpCS3716);
+ rule__UnlimitedNaturalLiteralExpCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleUnlimitedNaturalLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleInvalidLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1782:1: entryRuleInvalidLiteralExpCS : ruleInvalidLiteralExpCS EOF ;
+ public final void entryRuleInvalidLiteralExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1783:1: ( ruleInvalidLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1784:1: ruleInvalidLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getInvalidLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleInvalidLiteralExpCS_in_entryRuleInvalidLiteralExpCS3743);
+ ruleInvalidLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getInvalidLiteralExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInvalidLiteralExpCS3750); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleInvalidLiteralExpCS"
+
+
+ // $ANTLR start "ruleInvalidLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1791:1: ruleInvalidLiteralExpCS : ( ( rule__InvalidLiteralExpCS__Group__0 ) ) ;
+ public final void ruleInvalidLiteralExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1795:2: ( ( ( rule__InvalidLiteralExpCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1796:1: ( ( rule__InvalidLiteralExpCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1796:1: ( ( rule__InvalidLiteralExpCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1797:1: ( rule__InvalidLiteralExpCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getInvalidLiteralExpCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1798:1: ( rule__InvalidLiteralExpCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1798:2: rule__InvalidLiteralExpCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__InvalidLiteralExpCS__Group__0_in_ruleInvalidLiteralExpCS3776);
+ rule__InvalidLiteralExpCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getInvalidLiteralExpCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleInvalidLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleNullLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1810:1: entryRuleNullLiteralExpCS : ruleNullLiteralExpCS EOF ;
+ public final void entryRuleNullLiteralExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1811:1: ( ruleNullLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1812:1: ruleNullLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNullLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNullLiteralExpCS_in_entryRuleNullLiteralExpCS3803);
+ ruleNullLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNullLiteralExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNullLiteralExpCS3810); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNullLiteralExpCS"
+
+
+ // $ANTLR start "ruleNullLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1819:1: ruleNullLiteralExpCS : ( ( rule__NullLiteralExpCS__Group__0 ) ) ;
+ public final void ruleNullLiteralExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1823:2: ( ( ( rule__NullLiteralExpCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1824:1: ( ( rule__NullLiteralExpCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1824:1: ( ( rule__NullLiteralExpCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1825:1: ( rule__NullLiteralExpCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNullLiteralExpCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1826:1: ( rule__NullLiteralExpCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1826:2: rule__NullLiteralExpCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NullLiteralExpCS__Group__0_in_ruleNullLiteralExpCS3836);
+ rule__NullLiteralExpCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNullLiteralExpCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNullLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleTypeLiteralCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1838:1: entryRuleTypeLiteralCS : ruleTypeLiteralCS EOF ;
+ public final void entryRuleTypeLiteralCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1839:1: ( ruleTypeLiteralCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1840:1: ruleTypeLiteralCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeLiteralCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_entryRuleTypeLiteralCS3863);
+ ruleTypeLiteralCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeLiteralCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeLiteralCS3870); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTypeLiteralCS"
+
+
+ // $ANTLR start "ruleTypeLiteralCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1847:1: ruleTypeLiteralCS : ( ( rule__TypeLiteralCS__Alternatives ) ) ;
+ public final void ruleTypeLiteralCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1851:2: ( ( ( rule__TypeLiteralCS__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1852:1: ( ( rule__TypeLiteralCS__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1852:1: ( ( rule__TypeLiteralCS__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1853:1: ( rule__TypeLiteralCS__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeLiteralCSAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1854:1: ( rule__TypeLiteralCS__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1854:2: rule__TypeLiteralCS__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TypeLiteralCS__Alternatives_in_ruleTypeLiteralCS3896);
+ rule__TypeLiteralCS__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeLiteralCSAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTypeLiteralCS"
+
+
+ // $ANTLR start "entryRuleTypeLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1866:1: entryRuleTypeLiteralExpCS : ruleTypeLiteralExpCS EOF ;
+ public final void entryRuleTypeLiteralExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1867:1: ( ruleTypeLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1868:1: ruleTypeLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_entryRuleTypeLiteralExpCS3923);
+ ruleTypeLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeLiteralExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeLiteralExpCS3930); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTypeLiteralExpCS"
+
+
+ // $ANTLR start "ruleTypeLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1875:1: ruleTypeLiteralExpCS : ( ( rule__TypeLiteralExpCS__OwnedTypeAssignment ) ) ;
+ public final void ruleTypeLiteralExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1879:2: ( ( ( rule__TypeLiteralExpCS__OwnedTypeAssignment ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1880:1: ( ( rule__TypeLiteralExpCS__OwnedTypeAssignment ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1880:1: ( ( rule__TypeLiteralExpCS__OwnedTypeAssignment ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1881:1: ( rule__TypeLiteralExpCS__OwnedTypeAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1882:1: ( rule__TypeLiteralExpCS__OwnedTypeAssignment )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1882:2: rule__TypeLiteralExpCS__OwnedTypeAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TypeLiteralExpCS__OwnedTypeAssignment_in_ruleTypeLiteralExpCS3956);
+ rule__TypeLiteralExpCS__OwnedTypeAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTypeLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleTypeNameExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1894:1: entryRuleTypeNameExpCS : ruleTypeNameExpCS EOF ;
+ public final void entryRuleTypeNameExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1895:1: ( ruleTypeNameExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1896:1: ruleTypeNameExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeNameExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeNameExpCS_in_entryRuleTypeNameExpCS3983);
+ ruleTypeNameExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeNameExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeNameExpCS3990); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTypeNameExpCS"
+
+
+ // $ANTLR start "ruleTypeNameExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1903:1: ruleTypeNameExpCS : ( ( rule__TypeNameExpCS__PathNameAssignment ) ) ;
+ public final void ruleTypeNameExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1907:2: ( ( ( rule__TypeNameExpCS__PathNameAssignment ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1908:1: ( ( rule__TypeNameExpCS__PathNameAssignment ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1908:1: ( ( rule__TypeNameExpCS__PathNameAssignment ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1909:1: ( rule__TypeNameExpCS__PathNameAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeNameExpCSAccess().getPathNameAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1910:1: ( rule__TypeNameExpCS__PathNameAssignment )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1910:2: rule__TypeNameExpCS__PathNameAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TypeNameExpCS__PathNameAssignment_in_ruleTypeNameExpCS4016);
+ rule__TypeNameExpCS__PathNameAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeNameExpCSAccess().getPathNameAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTypeNameExpCS"
+
+
+ // $ANTLR start "entryRuleTypeExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1922:1: entryRuleTypeExpCS : ruleTypeExpCS EOF ;
+ public final void entryRuleTypeExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1923:1: ( ruleTypeExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1924:1: ruleTypeExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_entryRuleTypeExpCS4043);
+ ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeExpCS4050); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTypeExpCS"
+
+
+ // $ANTLR start "ruleTypeExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1931:1: ruleTypeExpCS : ( ( rule__TypeExpCS__Group__0 ) ) ;
+ public final void ruleTypeExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1935:2: ( ( ( rule__TypeExpCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1936:1: ( ( rule__TypeExpCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1936:1: ( ( rule__TypeExpCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1937:1: ( rule__TypeExpCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeExpCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1938:1: ( rule__TypeExpCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1938:2: rule__TypeExpCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TypeExpCS__Group__0_in_ruleTypeExpCS4076);
+ rule__TypeExpCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeExpCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTypeExpCS"
+
+
+ // $ANTLR start "entryRuleExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1950:1: entryRuleExpCS : ruleExpCS EOF ;
+ public final void entryRuleExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1951:1: ( ruleExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1952:1: ruleExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_entryRuleExpCS4103);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpCS4110); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleExpCS"
+
+
+ // $ANTLR start "ruleExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1959:1: ruleExpCS : ( ( rule__ExpCS__Alternatives ) ) ;
+ public final void ruleExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1963:2: ( ( ( rule__ExpCS__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1964:1: ( ( rule__ExpCS__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1964:1: ( ( rule__ExpCS__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1965:1: ( rule__ExpCS__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1966:1: ( rule__ExpCS__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1966:2: rule__ExpCS__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Alternatives_in_ruleExpCS4136);
+ rule__ExpCS__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleExpCS"
+
+
+ // $ANTLR start "entryRuleBinaryOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1978:1: entryRuleBinaryOperatorCS : ruleBinaryOperatorCS EOF ;
+ public final void entryRuleBinaryOperatorCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1979:1: ( ruleBinaryOperatorCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1980:1: ruleBinaryOperatorCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getBinaryOperatorCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleBinaryOperatorCS_in_entryRuleBinaryOperatorCS4163);
+ ruleBinaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getBinaryOperatorCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBinaryOperatorCS4170); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleBinaryOperatorCS"
+
+
+ // $ANTLR start "ruleBinaryOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1987:1: ruleBinaryOperatorCS : ( ( rule__BinaryOperatorCS__Alternatives ) ) ;
+ public final void ruleBinaryOperatorCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1991:2: ( ( ( rule__BinaryOperatorCS__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1992:1: ( ( rule__BinaryOperatorCS__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1992:1: ( ( rule__BinaryOperatorCS__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1993:1: ( rule__BinaryOperatorCS__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getBinaryOperatorCSAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1994:1: ( rule__BinaryOperatorCS__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:1994:2: rule__BinaryOperatorCS__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__BinaryOperatorCS__Alternatives_in_ruleBinaryOperatorCS4196);
+ rule__BinaryOperatorCS__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getBinaryOperatorCSAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleBinaryOperatorCS"
+
+
+ // $ANTLR start "entryRuleInfixOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2006:1: entryRuleInfixOperatorCS : ruleInfixOperatorCS EOF ;
+ public final void entryRuleInfixOperatorCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2007:1: ( ruleInfixOperatorCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2008:1: ruleInfixOperatorCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getInfixOperatorCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleInfixOperatorCS_in_entryRuleInfixOperatorCS4223);
+ ruleInfixOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getInfixOperatorCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInfixOperatorCS4230); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleInfixOperatorCS"
+
+
+ // $ANTLR start "ruleInfixOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2015:1: ruleInfixOperatorCS : ( ( rule__InfixOperatorCS__NameAssignment ) ) ;
+ public final void ruleInfixOperatorCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2019:2: ( ( ( rule__InfixOperatorCS__NameAssignment ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2020:1: ( ( rule__InfixOperatorCS__NameAssignment ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2020:1: ( ( rule__InfixOperatorCS__NameAssignment ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2021:1: ( rule__InfixOperatorCS__NameAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getInfixOperatorCSAccess().getNameAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2022:1: ( rule__InfixOperatorCS__NameAssignment )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2022:2: rule__InfixOperatorCS__NameAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__InfixOperatorCS__NameAssignment_in_ruleInfixOperatorCS4256);
+ rule__InfixOperatorCS__NameAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getInfixOperatorCSAccess().getNameAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleInfixOperatorCS"
+
+
+ // $ANTLR start "entryRuleNavigationOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2034:1: entryRuleNavigationOperatorCS : ruleNavigationOperatorCS EOF ;
+ public final void entryRuleNavigationOperatorCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2035:1: ( ruleNavigationOperatorCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2036:1: ruleNavigationOperatorCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigationOperatorCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigationOperatorCS_in_entryRuleNavigationOperatorCS4283);
+ ruleNavigationOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigationOperatorCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigationOperatorCS4290); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNavigationOperatorCS"
+
+
+ // $ANTLR start "ruleNavigationOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2043:1: ruleNavigationOperatorCS : ( ( rule__NavigationOperatorCS__NameAssignment ) ) ;
+ public final void ruleNavigationOperatorCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2047:2: ( ( ( rule__NavigationOperatorCS__NameAssignment ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2048:1: ( ( rule__NavigationOperatorCS__NameAssignment ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2048:1: ( ( rule__NavigationOperatorCS__NameAssignment ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2049:1: ( rule__NavigationOperatorCS__NameAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigationOperatorCSAccess().getNameAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2050:1: ( rule__NavigationOperatorCS__NameAssignment )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2050:2: rule__NavigationOperatorCS__NameAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NavigationOperatorCS__NameAssignment_in_ruleNavigationOperatorCS4316);
+ rule__NavigationOperatorCS__NameAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigationOperatorCSAccess().getNameAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNavigationOperatorCS"
+
+
+ // $ANTLR start "entryRulePrefixedExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2062:1: entryRulePrefixedExpCS : rulePrefixedExpCS EOF ;
+ public final void entryRulePrefixedExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2063:1: ( rulePrefixedExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2064:1: rulePrefixedExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrefixedExpCS_in_entryRulePrefixedExpCS4343);
+ rulePrefixedExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrefixedExpCS4350); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulePrefixedExpCS"
+
+
+ // $ANTLR start "rulePrefixedExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2071:1: rulePrefixedExpCS : ( ( rule__PrefixedExpCS__Alternatives ) ) ;
+ public final void rulePrefixedExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2075:2: ( ( ( rule__PrefixedExpCS__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2076:1: ( ( rule__PrefixedExpCS__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2076:1: ( ( rule__PrefixedExpCS__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2077:1: ( rule__PrefixedExpCS__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpCSAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2078:1: ( rule__PrefixedExpCS__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2078:2: rule__PrefixedExpCS__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrefixedExpCS__Alternatives_in_rulePrefixedExpCS4376);
+ rule__PrefixedExpCS__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpCSAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePrefixedExpCS"
+
+
+ // $ANTLR start "entryRulePrefixedExpOrLetExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2090:1: entryRulePrefixedExpOrLetExpCS : rulePrefixedExpOrLetExpCS EOF ;
+ public final void entryRulePrefixedExpOrLetExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2091:1: ( rulePrefixedExpOrLetExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2092:1: rulePrefixedExpOrLetExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpOrLetExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrefixedExpOrLetExpCS_in_entryRulePrefixedExpOrLetExpCS4403);
+ rulePrefixedExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpOrLetExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrefixedExpOrLetExpCS4410); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulePrefixedExpOrLetExpCS"
+
+
+ // $ANTLR start "rulePrefixedExpOrLetExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2099:1: rulePrefixedExpOrLetExpCS : ( ( rule__PrefixedExpOrLetExpCS__Alternatives ) ) ;
+ public final void rulePrefixedExpOrLetExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2103:2: ( ( ( rule__PrefixedExpOrLetExpCS__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2104:1: ( ( rule__PrefixedExpOrLetExpCS__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2104:1: ( ( rule__PrefixedExpOrLetExpCS__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2105:1: ( rule__PrefixedExpOrLetExpCS__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2106:1: ( rule__PrefixedExpOrLetExpCS__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2106:2: rule__PrefixedExpOrLetExpCS__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrefixedExpOrLetExpCS__Alternatives_in_rulePrefixedExpOrLetExpCS4436);
+ rule__PrefixedExpOrLetExpCS__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePrefixedExpOrLetExpCS"
+
+
+ // $ANTLR start "entryRuleUnaryOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2118:1: entryRuleUnaryOperatorCS : ruleUnaryOperatorCS EOF ;
+ public final void entryRuleUnaryOperatorCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2119:1: ( ruleUnaryOperatorCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2120:1: ruleUnaryOperatorCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnaryOperatorCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorCS_in_entryRuleUnaryOperatorCS4463);
+ ruleUnaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnaryOperatorCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnaryOperatorCS4470); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleUnaryOperatorCS"
+
+
+ // $ANTLR start "ruleUnaryOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2127:1: ruleUnaryOperatorCS : ( ( rule__UnaryOperatorCS__NameAssignment ) ) ;
+ public final void ruleUnaryOperatorCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2131:2: ( ( ( rule__UnaryOperatorCS__NameAssignment ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2132:1: ( ( rule__UnaryOperatorCS__NameAssignment ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2132:1: ( ( rule__UnaryOperatorCS__NameAssignment ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2133:1: ( rule__UnaryOperatorCS__NameAssignment )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnaryOperatorCSAccess().getNameAssignment());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2134:1: ( rule__UnaryOperatorCS__NameAssignment )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2134:2: rule__UnaryOperatorCS__NameAssignment
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__UnaryOperatorCS__NameAssignment_in_ruleUnaryOperatorCS4496);
+ rule__UnaryOperatorCS__NameAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnaryOperatorCSAccess().getNameAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleUnaryOperatorCS"
+
+
+ // $ANTLR start "entryRulePrimaryExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2146:1: entryRulePrimaryExpCS : rulePrimaryExpCS EOF ;
+ public final void entryRulePrimaryExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2147:1: ( rulePrimaryExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2148:1: rulePrimaryExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_entryRulePrimaryExpCS4523);
+ rulePrimaryExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimaryExpCS4530); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulePrimaryExpCS"
+
+
+ // $ANTLR start "rulePrimaryExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2155:1: rulePrimaryExpCS : ( ( rule__PrimaryExpCS__Alternatives ) ) ;
+ public final void rulePrimaryExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2159:2: ( ( ( rule__PrimaryExpCS__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2160:1: ( ( rule__PrimaryExpCS__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2160:1: ( ( rule__PrimaryExpCS__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2161:1: ( rule__PrimaryExpCS__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2162:1: ( rule__PrimaryExpCS__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2162:2: rule__PrimaryExpCS__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimaryExpCS__Alternatives_in_rulePrimaryExpCS4556);
+ rule__PrimaryExpCS__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePrimaryExpCS"
+
+
+ // $ANTLR start "entryRulePrimaryExpOrLetExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2174:1: entryRulePrimaryExpOrLetExpCS : rulePrimaryExpOrLetExpCS EOF ;
+ public final void entryRulePrimaryExpOrLetExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2175:1: ( rulePrimaryExpOrLetExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2176:1: rulePrimaryExpOrLetExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpOrLetExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpOrLetExpCS_in_entryRulePrimaryExpOrLetExpCS4583);
+ rulePrimaryExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpOrLetExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimaryExpOrLetExpCS4590); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulePrimaryExpOrLetExpCS"
+
+
+ // $ANTLR start "rulePrimaryExpOrLetExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2183:1: rulePrimaryExpOrLetExpCS : ( ( rule__PrimaryExpOrLetExpCS__Alternatives ) ) ;
+ public final void rulePrimaryExpOrLetExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2187:2: ( ( ( rule__PrimaryExpOrLetExpCS__Alternatives ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2188:1: ( ( rule__PrimaryExpOrLetExpCS__Alternatives ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2188:1: ( ( rule__PrimaryExpOrLetExpCS__Alternatives ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2189:1: ( rule__PrimaryExpOrLetExpCS__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpOrLetExpCSAccess().getAlternatives());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2190:1: ( rule__PrimaryExpOrLetExpCS__Alternatives )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2190:2: rule__PrimaryExpOrLetExpCS__Alternatives
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimaryExpOrLetExpCS__Alternatives_in_rulePrimaryExpOrLetExpCS4616);
+ rule__PrimaryExpOrLetExpCS__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpOrLetExpCSAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePrimaryExpOrLetExpCS"
+
+
+ // $ANTLR start "entryRuleNavigatingArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2202:1: entryRuleNavigatingArgCS : ruleNavigatingArgCS EOF ;
+ public final void entryRuleNavigatingArgCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2203:1: ( ruleNavigatingArgCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2204:1: ruleNavigatingArgCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingArgCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgCS_in_entryRuleNavigatingArgCS4643);
+ ruleNavigatingArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingArgCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingArgCS4650); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNavigatingArgCS"
+
+
+ // $ANTLR start "ruleNavigatingArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2211:1: ruleNavigatingArgCS : ( ( rule__NavigatingArgCS__Group__0 ) ) ;
+ public final void ruleNavigatingArgCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2215:2: ( ( ( rule__NavigatingArgCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2216:1: ( ( rule__NavigatingArgCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2216:1: ( ( rule__NavigatingArgCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2217:1: ( rule__NavigatingArgCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingArgCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2218:1: ( rule__NavigatingArgCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2218:2: rule__NavigatingArgCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NavigatingArgCS__Group__0_in_ruleNavigatingArgCS4676);
+ rule__NavigatingArgCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingArgCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNavigatingArgCS"
+
+
+ // $ANTLR start "entryRuleNavigatingBarArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2230:1: entryRuleNavigatingBarArgCS : ruleNavigatingBarArgCS EOF ;
+ public final void entryRuleNavigatingBarArgCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2231:1: ( ruleNavigatingBarArgCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2232:1: ruleNavigatingBarArgCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingBarArgCS_in_entryRuleNavigatingBarArgCS4703);
+ ruleNavigatingBarArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingBarArgCS4710); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNavigatingBarArgCS"
+
+
+ // $ANTLR start "ruleNavigatingBarArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2239:1: ruleNavigatingBarArgCS : ( ( rule__NavigatingBarArgCS__Group__0 ) ) ;
+ public final void ruleNavigatingBarArgCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2243:2: ( ( ( rule__NavigatingBarArgCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2244:1: ( ( rule__NavigatingBarArgCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2244:1: ( ( rule__NavigatingBarArgCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2245:1: ( rule__NavigatingBarArgCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2246:1: ( rule__NavigatingBarArgCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2246:2: rule__NavigatingBarArgCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NavigatingBarArgCS__Group__0_in_ruleNavigatingBarArgCS4736);
+ rule__NavigatingBarArgCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNavigatingBarArgCS"
+
+
+ // $ANTLR start "entryRuleNavigatingCommaArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2258:1: entryRuleNavigatingCommaArgCS : ruleNavigatingCommaArgCS EOF ;
+ public final void entryRuleNavigatingCommaArgCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2259:1: ( ruleNavigatingCommaArgCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2260:1: ruleNavigatingCommaArgCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_entryRuleNavigatingCommaArgCS4763);
+ ruleNavigatingCommaArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingCommaArgCS4770); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNavigatingCommaArgCS"
+
+
+ // $ANTLR start "ruleNavigatingCommaArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2267:1: ruleNavigatingCommaArgCS : ( ( rule__NavigatingCommaArgCS__Group__0 ) ) ;
+ public final void ruleNavigatingCommaArgCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2271:2: ( ( ( rule__NavigatingCommaArgCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2272:1: ( ( rule__NavigatingCommaArgCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2272:1: ( ( rule__NavigatingCommaArgCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2273:1: ( rule__NavigatingCommaArgCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2274:1: ( rule__NavigatingCommaArgCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2274:2: rule__NavigatingCommaArgCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NavigatingCommaArgCS__Group__0_in_ruleNavigatingCommaArgCS4796);
+ rule__NavigatingCommaArgCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNavigatingCommaArgCS"
+
+
+ // $ANTLR start "entryRuleNavigatingSemiArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2286:1: entryRuleNavigatingSemiArgCS : ruleNavigatingSemiArgCS EOF ;
+ public final void entryRuleNavigatingSemiArgCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2287:1: ( ruleNavigatingSemiArgCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2288:1: ruleNavigatingSemiArgCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingSemiArgCS_in_entryRuleNavigatingSemiArgCS4823);
+ ruleNavigatingSemiArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingSemiArgCS4830); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNavigatingSemiArgCS"
+
+
+ // $ANTLR start "ruleNavigatingSemiArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2295:1: ruleNavigatingSemiArgCS : ( ( rule__NavigatingSemiArgCS__Group__0 ) ) ;
+ public final void ruleNavigatingSemiArgCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2299:2: ( ( ( rule__NavigatingSemiArgCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2300:1: ( ( rule__NavigatingSemiArgCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2300:1: ( ( rule__NavigatingSemiArgCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2301:1: ( rule__NavigatingSemiArgCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2302:1: ( rule__NavigatingSemiArgCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2302:2: rule__NavigatingSemiArgCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NavigatingSemiArgCS__Group__0_in_ruleNavigatingSemiArgCS4856);
+ rule__NavigatingSemiArgCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNavigatingSemiArgCS"
+
+
+ // $ANTLR start "entryRuleNavigatingArgExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2314:1: entryRuleNavigatingArgExpCS : ruleNavigatingArgExpCS EOF ;
+ public final void entryRuleNavigatingArgExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2315:1: ( ruleNavigatingArgExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2316:1: ruleNavigatingArgExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingArgExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_entryRuleNavigatingArgExpCS4883);
+ ruleNavigatingArgExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingArgExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingArgExpCS4890); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNavigatingArgExpCS"
+
+
+ // $ANTLR start "ruleNavigatingArgExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2323:1: ruleNavigatingArgExpCS : ( ruleExpCS ) ;
+ public final void ruleNavigatingArgExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2327:2: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2328:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2328:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2329:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingArgExpCSAccess().getExpCSParserRuleCall());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingArgExpCS4916);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingArgExpCSAccess().getExpCSParserRuleCall());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNavigatingArgExpCS"
+
+
+ // $ANTLR start "entryRuleIfExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2342:1: entryRuleIfExpCS : ruleIfExpCS EOF ;
+ public final void entryRuleIfExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2343:1: ( ruleIfExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2344:1: ruleIfExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIfExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleIfExpCS_in_entryRuleIfExpCS4942);
+ ruleIfExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIfExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIfExpCS4949); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleIfExpCS"
+
+
+ // $ANTLR start "ruleIfExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2351:1: ruleIfExpCS : ( ( rule__IfExpCS__Group__0 ) ) ;
+ public final void ruleIfExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2355:2: ( ( ( rule__IfExpCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2356:1: ( ( rule__IfExpCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2356:1: ( ( rule__IfExpCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2357:1: ( rule__IfExpCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIfExpCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2358:1: ( rule__IfExpCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2358:2: rule__IfExpCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__IfExpCS__Group__0_in_ruleIfExpCS4975);
+ rule__IfExpCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIfExpCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleIfExpCS"
+
+
+ // $ANTLR start "entryRuleLetExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2370:1: entryRuleLetExpCS : ruleLetExpCS EOF ;
+ public final void entryRuleLetExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2371:1: ( ruleLetExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2372:1: ruleLetExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleLetExpCS_in_entryRuleLetExpCS5002);
+ ruleLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLetExpCS5009); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleLetExpCS"
+
+
+ // $ANTLR start "ruleLetExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2379:1: ruleLetExpCS : ( ( rule__LetExpCS__Group__0 ) ) ;
+ public final void ruleLetExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2383:2: ( ( ( rule__LetExpCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2384:1: ( ( rule__LetExpCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2384:1: ( ( rule__LetExpCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2385:1: ( rule__LetExpCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetExpCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2386:1: ( rule__LetExpCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2386:2: rule__LetExpCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__LetExpCS__Group__0_in_ruleLetExpCS5035);
+ rule__LetExpCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetExpCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleLetExpCS"
+
+
+ // $ANTLR start "entryRuleLetVariableCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2398:1: entryRuleLetVariableCS : ruleLetVariableCS EOF ;
+ public final void entryRuleLetVariableCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2399:1: ( ruleLetVariableCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2400:1: ruleLetVariableCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetVariableCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleLetVariableCS_in_entryRuleLetVariableCS5062);
+ ruleLetVariableCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetVariableCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLetVariableCS5069); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleLetVariableCS"
+
+
+ // $ANTLR start "ruleLetVariableCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2407:1: ruleLetVariableCS : ( ( rule__LetVariableCS__Group__0 ) ) ;
+ public final void ruleLetVariableCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2411:2: ( ( ( rule__LetVariableCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2412:1: ( ( rule__LetVariableCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2412:1: ( ( rule__LetVariableCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2413:1: ( rule__LetVariableCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetVariableCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2414:1: ( rule__LetVariableCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2414:2: rule__LetVariableCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__LetVariableCS__Group__0_in_ruleLetVariableCS5095);
+ rule__LetVariableCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetVariableCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleLetVariableCS"
+
+
+ // $ANTLR start "entryRuleNestedExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2426:1: entryRuleNestedExpCS : ruleNestedExpCS EOF ;
+ public final void entryRuleNestedExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2427:1: ( ruleNestedExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2428:1: ruleNestedExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNestedExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNestedExpCS_in_entryRuleNestedExpCS5122);
+ ruleNestedExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNestedExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNestedExpCS5129); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNestedExpCS"
+
+
+ // $ANTLR start "ruleNestedExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2435:1: ruleNestedExpCS : ( ( rule__NestedExpCS__Group__0 ) ) ;
+ public final void ruleNestedExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2439:2: ( ( ( rule__NestedExpCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2440:1: ( ( rule__NestedExpCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2440:1: ( ( rule__NestedExpCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2441:1: ( rule__NestedExpCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNestedExpCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2442:1: ( rule__NestedExpCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2442:2: rule__NestedExpCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NestedExpCS__Group__0_in_ruleNestedExpCS5155);
+ rule__NestedExpCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNestedExpCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNestedExpCS"
+
+
+ // $ANTLR start "entryRuleSelfExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2454:1: entryRuleSelfExpCS : ruleSelfExpCS EOF ;
+ public final void entryRuleSelfExpCS() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2455:1: ( ruleSelfExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2456:1: ruleSelfExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getSelfExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleSelfExpCS_in_entryRuleSelfExpCS5182);
+ ruleSelfExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getSelfExpCSRule());
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSelfExpCS5189); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleSelfExpCS"
+
+
+ // $ANTLR start "ruleSelfExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2463:1: ruleSelfExpCS : ( ( rule__SelfExpCS__Group__0 ) ) ;
+ public final void ruleSelfExpCS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2467:2: ( ( ( rule__SelfExpCS__Group__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2468:1: ( ( rule__SelfExpCS__Group__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2468:1: ( ( rule__SelfExpCS__Group__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2469:1: ( rule__SelfExpCS__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getSelfExpCSAccess().getGroup());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2470:1: ( rule__SelfExpCS__Group__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2470:2: rule__SelfExpCS__Group__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__SelfExpCS__Group__0_in_ruleSelfExpCS5215);
+ rule__SelfExpCS__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getSelfExpCSAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleSelfExpCS"
+
+
+ // $ANTLR start "rule__TransformationCS__Alternatives_9"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2482:1: rule__TransformationCS__Alternatives_9 : ( ( ( rule__TransformationCS__RelationAssignment_9_0 ) ) | ( ( rule__TransformationCS__QueryAssignment_9_1 ) ) );
+ public final void rule__TransformationCS__Alternatives_9() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2486:1: ( ( ( rule__TransformationCS__RelationAssignment_9_0 ) ) | ( ( rule__TransformationCS__QueryAssignment_9_1 ) ) )
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==29||LA2_0==31) ) {
+ alt2=1;
+ }
+ else if ( (LA2_0==28) ) {
+ alt2=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 2, 0, input);
+
+ throw nvae;
+ }
+ switch (alt2) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2487:1: ( ( rule__TransformationCS__RelationAssignment_9_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2487:1: ( ( rule__TransformationCS__RelationAssignment_9_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2488:1: ( rule__TransformationCS__RelationAssignment_9_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getRelationAssignment_9_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2489:1: ( rule__TransformationCS__RelationAssignment_9_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2489:2: rule__TransformationCS__RelationAssignment_9_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__RelationAssignment_9_0_in_rule__TransformationCS__Alternatives_95251);
+ rule__TransformationCS__RelationAssignment_9_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getRelationAssignment_9_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2493:6: ( ( rule__TransformationCS__QueryAssignment_9_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2493:6: ( ( rule__TransformationCS__QueryAssignment_9_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2494:1: ( rule__TransformationCS__QueryAssignment_9_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getQueryAssignment_9_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2495:1: ( rule__TransformationCS__QueryAssignment_9_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2495:2: rule__TransformationCS__QueryAssignment_9_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__QueryAssignment_9_1_in_rule__TransformationCS__Alternatives_95269);
+ rule__TransformationCS__QueryAssignment_9_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getQueryAssignment_9_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Alternatives_9"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Alternatives_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2504:1: rule__ModelDeclCS__Alternatives_2 : ( ( ( rule__ModelDeclCS__MetaModelIdAssignment_2_0 ) ) | ( ( rule__ModelDeclCS__Group_2_1__0 ) ) );
+ public final void rule__ModelDeclCS__Alternatives_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2508:1: ( ( ( rule__ModelDeclCS__MetaModelIdAssignment_2_0 ) ) | ( ( rule__ModelDeclCS__Group_2_1__0 ) ) )
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( ((LA3_0>=RULE_SIMPLE_ID && LA3_0<=RULE_ESCAPED_ID)||(LA3_0>=18 && LA3_0<=34)||(LA3_0>=36 && LA3_0<=37)) ) {
+ alt3=1;
+ }
+ else if ( (LA3_0==71) ) {
+ alt3=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 3, 0, input);
+
+ throw nvae;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2509:1: ( ( rule__ModelDeclCS__MetaModelIdAssignment_2_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2509:1: ( ( rule__ModelDeclCS__MetaModelIdAssignment_2_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2510:1: ( rule__ModelDeclCS__MetaModelIdAssignment_2_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2511:1: ( rule__ModelDeclCS__MetaModelIdAssignment_2_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2511:2: rule__ModelDeclCS__MetaModelIdAssignment_2_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__MetaModelIdAssignment_2_0_in_rule__ModelDeclCS__Alternatives_25302);
+ rule__ModelDeclCS__MetaModelIdAssignment_2_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2515:6: ( ( rule__ModelDeclCS__Group_2_1__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2515:6: ( ( rule__ModelDeclCS__Group_2_1__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2516:1: ( rule__ModelDeclCS__Group_2_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getGroup_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2517:1: ( rule__ModelDeclCS__Group_2_1__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2517:2: rule__ModelDeclCS__Group_2_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group_2_1__0_in_rule__ModelDeclCS__Alternatives_25320);
+ rule__ModelDeclCS__Group_2_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getGroup_2_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Alternatives_2"
+
+
+ // $ANTLR start "rule__RelationCS__Alternatives_6"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2526:1: rule__RelationCS__Alternatives_6 : ( ( ( rule__RelationCS__DomainAssignment_6_0 ) ) | ( ( rule__RelationCS__DomainAssignment_6_1 ) ) );
+ public final void rule__RelationCS__Alternatives_6() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2530:1: ( ( ( rule__RelationCS__DomainAssignment_6_0 ) ) | ( ( rule__RelationCS__DomainAssignment_6_1 ) ) )
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==18||(LA4_0>=20 && LA4_0<=21)) ) {
+ alt4=1;
+ }
+ else if ( (LA4_0==27) ) {
+ alt4=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 4, 0, input);
+
+ throw nvae;
+ }
+ switch (alt4) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2531:1: ( ( rule__RelationCS__DomainAssignment_6_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2531:1: ( ( rule__RelationCS__DomainAssignment_6_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2532:1: ( rule__RelationCS__DomainAssignment_6_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getDomainAssignment_6_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2533:1: ( rule__RelationCS__DomainAssignment_6_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2533:2: rule__RelationCS__DomainAssignment_6_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__DomainAssignment_6_0_in_rule__RelationCS__Alternatives_65353);
+ rule__RelationCS__DomainAssignment_6_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getDomainAssignment_6_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2537:6: ( ( rule__RelationCS__DomainAssignment_6_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2537:6: ( ( rule__RelationCS__DomainAssignment_6_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2538:1: ( rule__RelationCS__DomainAssignment_6_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getDomainAssignment_6_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2539:1: ( rule__RelationCS__DomainAssignment_6_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2539:2: rule__RelationCS__DomainAssignment_6_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__DomainAssignment_6_1_in_rule__RelationCS__Alternatives_65371);
+ rule__RelationCS__DomainAssignment_6_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getDomainAssignment_6_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Alternatives_6"
+
+
+ // $ANTLR start "rule__DomainCS__Alternatives_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2548:1: rule__DomainCS__Alternatives_0 : ( ( ( rule__DomainCS__CheckonlyAssignment_0_0 ) ) | ( ( rule__DomainCS__EnforceAssignment_0_1 ) ) );
+ public final void rule__DomainCS__Alternatives_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2552:1: ( ( ( rule__DomainCS__CheckonlyAssignment_0_0 ) ) | ( ( rule__DomainCS__EnforceAssignment_0_1 ) ) )
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==18) ) {
+ alt5=1;
+ }
+ else if ( (LA5_0==21) ) {
+ alt5=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 5, 0, input);
+
+ throw nvae;
+ }
+ switch (alt5) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2553:1: ( ( rule__DomainCS__CheckonlyAssignment_0_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2553:1: ( ( rule__DomainCS__CheckonlyAssignment_0_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2554:1: ( rule__DomainCS__CheckonlyAssignment_0_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getCheckonlyAssignment_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2555:1: ( rule__DomainCS__CheckonlyAssignment_0_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2555:2: rule__DomainCS__CheckonlyAssignment_0_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__CheckonlyAssignment_0_0_in_rule__DomainCS__Alternatives_05404);
+ rule__DomainCS__CheckonlyAssignment_0_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getCheckonlyAssignment_0_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2559:6: ( ( rule__DomainCS__EnforceAssignment_0_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2559:6: ( ( rule__DomainCS__EnforceAssignment_0_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2560:1: ( rule__DomainCS__EnforceAssignment_0_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getEnforceAssignment_0_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2561:1: ( rule__DomainCS__EnforceAssignment_0_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2561:2: rule__DomainCS__EnforceAssignment_0_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__EnforceAssignment_0_1_in_rule__DomainCS__Alternatives_05422);
+ rule__DomainCS__EnforceAssignment_0_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getEnforceAssignment_0_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Alternatives_0"
+
+
+ // $ANTLR start "rule__TemplateCS__Alternatives_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2570:1: rule__TemplateCS__Alternatives_0 : ( ( ruleObjectTemplateCS ) | ( ruleCollectionTemplateCS ) );
+ public final void rule__TemplateCS__Alternatives_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2574:1: ( ( ruleObjectTemplateCS ) | ( ruleCollectionTemplateCS ) )
+ int alt6=2;
+ alt6 = dfa6.predict(input);
+ switch (alt6) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2575:1: ( ruleObjectTemplateCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2575:1: ( ruleObjectTemplateCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2576:1: ruleObjectTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTemplateCSAccess().getObjectTemplateCSParserRuleCall_0_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleObjectTemplateCS_in_rule__TemplateCS__Alternatives_05455);
+ ruleObjectTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTemplateCSAccess().getObjectTemplateCSParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2581:6: ( ruleCollectionTemplateCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2581:6: ( ruleCollectionTemplateCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2582:1: ruleCollectionTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTemplateCSAccess().getCollectionTemplateCSParserRuleCall_0_1());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTemplateCS_in_rule__TemplateCS__Alternatives_05472);
+ ruleCollectionTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTemplateCSAccess().getCollectionTemplateCSParserRuleCall_0_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TemplateCS__Alternatives_0"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2592:1: rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0 : ( ( ruleNameExpCS ) | ( ruleTemplateCS ) | ( ruleAnyElementCS ) );
+ public final void rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2596:1: ( ( ruleNameExpCS ) | ( ruleTemplateCS ) | ( ruleAnyElementCS ) )
+ int alt7=3;
+ alt7 = dfa7.predict(input);
+ switch (alt7) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2597:1: ( ruleNameExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2597:1: ( ruleNameExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2598:1: ruleNameExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierNameExpCSParserRuleCall_4_0_0_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_05504);
+ ruleNameExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierNameExpCSParserRuleCall_4_0_0_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2603:6: ( ruleTemplateCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2603:6: ( ruleTemplateCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2604:1: ruleTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierTemplateCSParserRuleCall_4_0_0_1());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTemplateCS_in_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_05521);
+ ruleTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierTemplateCSParserRuleCall_4_0_0_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2609:6: ( ruleAnyElementCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2609:6: ( ruleAnyElementCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2610:1: ruleAnyElementCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAnyElementCSParserRuleCall_4_0_0_2());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleAnyElementCS_in_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_05538);
+ ruleAnyElementCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAnyElementCSParserRuleCall_4_0_0_2());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2620:1: rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0 : ( ( ruleNameExpCS ) | ( ruleTemplateCS ) | ( ruleAnyElementCS ) );
+ public final void rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2624:1: ( ( ruleNameExpCS ) | ( ruleTemplateCS ) | ( ruleAnyElementCS ) )
+ int alt8=3;
+ alt8 = dfa8.predict(input);
+ switch (alt8) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2625:1: ( ruleNameExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2625:1: ( ruleNameExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2626:1: ruleNameExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierNameExpCSParserRuleCall_4_1_1_0_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_05570);
+ ruleNameExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierNameExpCSParserRuleCall_4_1_1_0_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2631:6: ( ruleTemplateCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2631:6: ( ruleTemplateCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2632:1: ruleTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierTemplateCSParserRuleCall_4_1_1_0_1());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTemplateCS_in_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_05587);
+ ruleTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierTemplateCSParserRuleCall_4_1_1_0_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2637:6: ( ruleAnyElementCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2637:6: ( ruleAnyElementCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2638:1: ruleAnyElementCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAnyElementCSParserRuleCall_4_1_1_0_2());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleAnyElementCS_in_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_05604);
+ ruleAnyElementCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAnyElementCSParserRuleCall_4_1_1_0_2());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2648:1: rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0 : ( ( ruleNameExpCS ) | ( ruleAnyElementCS ) );
+ public final void rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2652:1: ( ( ruleNameExpCS ) | ( ruleAnyElementCS ) )
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( ((LA9_0>=RULE_SIMPLE_ID && LA9_0<=RULE_ESCAPED_ID)||(LA9_0>=18 && LA9_0<=34)||(LA9_0>=36 && LA9_0<=37)) ) {
+ alt9=1;
+ }
+ else if ( (LA9_0==76) ) {
+ alt9=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 9, 0, input);
+
+ throw nvae;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2653:1: ( ruleNameExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2653:1: ( ruleNameExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2654:1: ruleNameExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierNameExpCSParserRuleCall_4_3_0_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_05636);
+ ruleNameExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierNameExpCSParserRuleCall_4_3_0_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2659:6: ( ruleAnyElementCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2659:6: ( ruleAnyElementCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2660:1: ruleAnyElementCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAnyElementCSParserRuleCall_4_3_0_1());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleAnyElementCS_in_rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_05653);
+ ruleAnyElementCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAnyElementCSParserRuleCall_4_3_0_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0"
+
+
+ // $ANTLR start "rule__QueryCS__Alternatives_7"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2670:1: rule__QueryCS__Alternatives_7 : ( ( ';' ) | ( ( rule__QueryCS__Group_7_1__0 ) ) );
+ public final void rule__QueryCS__Alternatives_7() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2674:1: ( ( ';' ) | ( ( rule__QueryCS__Group_7_1__0 ) ) )
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0==17) ) {
+ alt10=1;
+ }
+ else if ( (LA10_0==71) ) {
+ alt10=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 10, 0, input);
+
+ throw nvae;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2675:1: ( ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2675:1: ( ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2676:1: ';'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getSemicolonKeyword_7_0());
+ }
+ match(input,17,FollowSets000.FOLLOW_17_in_rule__QueryCS__Alternatives_75686); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getSemicolonKeyword_7_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2683:6: ( ( rule__QueryCS__Group_7_1__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2683:6: ( ( rule__QueryCS__Group_7_1__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2684:1: ( rule__QueryCS__Group_7_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getGroup_7_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2685:1: ( rule__QueryCS__Group_7_1__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2685:2: rule__QueryCS__Group_7_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group_7_1__0_in_rule__QueryCS__Alternatives_75705);
+ rule__QueryCS__Group_7_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getGroup_7_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Alternatives_7"
+
+
+ // $ANTLR start "rule__UnrestrictedName__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2694:1: rule__UnrestrictedName__Alternatives : ( ( ruleEssentialOCLUnrestrictedName ) | ( 'checkonly' ) | ( 'default_values' ) | ( 'domain' ) | ( 'enforce' ) | ( 'extends' ) | ( 'implementedby' ) | ( 'import' ) | ( 'key' ) | ( 'overrides' ) | ( 'primitive' ) | ( 'query' ) | ( 'relation' ) | ( 'replace' ) | ( 'top' ) | ( 'transformation' ) | ( 'when' ) | ( 'where' ) );
+ public final void rule__UnrestrictedName__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2698:1: ( ( ruleEssentialOCLUnrestrictedName ) | ( 'checkonly' ) | ( 'default_values' ) | ( 'domain' ) | ( 'enforce' ) | ( 'extends' ) | ( 'implementedby' ) | ( 'import' ) | ( 'key' ) | ( 'overrides' ) | ( 'primitive' ) | ( 'query' ) | ( 'relation' ) | ( 'replace' ) | ( 'top' ) | ( 'transformation' ) | ( 'when' ) | ( 'where' ) )
+ int alt11=18;
+ switch ( input.LA(1) ) {
+ case RULE_SIMPLE_ID:
+ case RULE_ESCAPED_ID:
+ case 36:
+ case 37:
+ {
+ alt11=1;
+ }
+ break;
+ case 18:
+ {
+ alt11=2;
+ }
+ break;
+ case 19:
+ {
+ alt11=3;
+ }
+ break;
+ case 20:
+ {
+ alt11=4;
+ }
+ break;
+ case 21:
+ {
+ alt11=5;
+ }
+ break;
+ case 22:
+ {
+ alt11=6;
+ }
+ break;
+ case 23:
+ {
+ alt11=7;
+ }
+ break;
+ case 24:
+ {
+ alt11=8;
+ }
+ break;
+ case 25:
+ {
+ alt11=9;
+ }
+ break;
+ case 26:
+ {
+ alt11=10;
+ }
+ break;
+ case 27:
+ {
+ alt11=11;
+ }
+ break;
+ case 28:
+ {
+ alt11=12;
+ }
+ break;
+ case 29:
+ {
+ alt11=13;
+ }
+ break;
+ case 30:
+ {
+ alt11=14;
+ }
+ break;
+ case 31:
+ {
+ alt11=15;
+ }
+ break;
+ case 32:
+ {
+ alt11=16;
+ }
+ break;
+ case 33:
+ {
+ alt11=17;
+ }
+ break;
+ case 34:
+ {
+ alt11=18;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 11, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt11) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2699:1: ( ruleEssentialOCLUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2699:1: ( ruleEssentialOCLUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2700:1: ruleEssentialOCLUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getEssentialOCLUnrestrictedNameParserRuleCall_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnrestrictedName_in_rule__UnrestrictedName__Alternatives5738);
+ ruleEssentialOCLUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getEssentialOCLUnrestrictedNameParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2705:6: ( 'checkonly' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2705:6: ( 'checkonly' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2706:1: 'checkonly'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getCheckonlyKeyword_1());
+ }
+ match(input,18,FollowSets000.FOLLOW_18_in_rule__UnrestrictedName__Alternatives5756); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getCheckonlyKeyword_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2713:6: ( 'default_values' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2713:6: ( 'default_values' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2714:1: 'default_values'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getDefault_valuesKeyword_2());
+ }
+ match(input,19,FollowSets000.FOLLOW_19_in_rule__UnrestrictedName__Alternatives5776); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getDefault_valuesKeyword_2());
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2721:6: ( 'domain' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2721:6: ( 'domain' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2722:1: 'domain'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getDomainKeyword_3());
+ }
+ match(input,20,FollowSets000.FOLLOW_20_in_rule__UnrestrictedName__Alternatives5796); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getDomainKeyword_3());
+ }
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2729:6: ( 'enforce' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2729:6: ( 'enforce' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2730:1: 'enforce'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getEnforceKeyword_4());
+ }
+ match(input,21,FollowSets000.FOLLOW_21_in_rule__UnrestrictedName__Alternatives5816); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getEnforceKeyword_4());
+ }
+
+ }
+
+
+ }
+ break;
+ case 6 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2737:6: ( 'extends' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2737:6: ( 'extends' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2738:1: 'extends'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getExtendsKeyword_5());
+ }
+ match(input,22,FollowSets000.FOLLOW_22_in_rule__UnrestrictedName__Alternatives5836); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getExtendsKeyword_5());
+ }
+
+ }
+
+
+ }
+ break;
+ case 7 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2745:6: ( 'implementedby' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2745:6: ( 'implementedby' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2746:1: 'implementedby'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getImplementedbyKeyword_6());
+ }
+ match(input,23,FollowSets000.FOLLOW_23_in_rule__UnrestrictedName__Alternatives5856); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getImplementedbyKeyword_6());
+ }
+
+ }
+
+
+ }
+ break;
+ case 8 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2753:6: ( 'import' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2753:6: ( 'import' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2754:1: 'import'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getImportKeyword_7());
+ }
+ match(input,24,FollowSets000.FOLLOW_24_in_rule__UnrestrictedName__Alternatives5876); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getImportKeyword_7());
+ }
+
+ }
+
+
+ }
+ break;
+ case 9 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2761:6: ( 'key' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2761:6: ( 'key' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2762:1: 'key'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getKeyKeyword_8());
+ }
+ match(input,25,FollowSets000.FOLLOW_25_in_rule__UnrestrictedName__Alternatives5896); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getKeyKeyword_8());
+ }
+
+ }
+
+
+ }
+ break;
+ case 10 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2769:6: ( 'overrides' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2769:6: ( 'overrides' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2770:1: 'overrides'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getOverridesKeyword_9());
+ }
+ match(input,26,FollowSets000.FOLLOW_26_in_rule__UnrestrictedName__Alternatives5916); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getOverridesKeyword_9());
+ }
+
+ }
+
+
+ }
+ break;
+ case 11 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2777:6: ( 'primitive' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2777:6: ( 'primitive' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2778:1: 'primitive'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getPrimitiveKeyword_10());
+ }
+ match(input,27,FollowSets000.FOLLOW_27_in_rule__UnrestrictedName__Alternatives5936); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getPrimitiveKeyword_10());
+ }
+
+ }
+
+
+ }
+ break;
+ case 12 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2785:6: ( 'query' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2785:6: ( 'query' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2786:1: 'query'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getQueryKeyword_11());
+ }
+ match(input,28,FollowSets000.FOLLOW_28_in_rule__UnrestrictedName__Alternatives5956); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getQueryKeyword_11());
+ }
+
+ }
+
+
+ }
+ break;
+ case 13 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2793:6: ( 'relation' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2793:6: ( 'relation' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2794:1: 'relation'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getRelationKeyword_12());
+ }
+ match(input,29,FollowSets000.FOLLOW_29_in_rule__UnrestrictedName__Alternatives5976); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getRelationKeyword_12());
+ }
+
+ }
+
+
+ }
+ break;
+ case 14 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2801:6: ( 'replace' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2801:6: ( 'replace' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2802:1: 'replace'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getReplaceKeyword_13());
+ }
+ match(input,30,FollowSets000.FOLLOW_30_in_rule__UnrestrictedName__Alternatives5996); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getReplaceKeyword_13());
+ }
+
+ }
+
+
+ }
+ break;
+ case 15 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2809:6: ( 'top' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2809:6: ( 'top' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2810:1: 'top'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getTopKeyword_14());
+ }
+ match(input,31,FollowSets000.FOLLOW_31_in_rule__UnrestrictedName__Alternatives6016); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getTopKeyword_14());
+ }
+
+ }
+
+
+ }
+ break;
+ case 16 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2817:6: ( 'transformation' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2817:6: ( 'transformation' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2818:1: 'transformation'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getTransformationKeyword_15());
+ }
+ match(input,32,FollowSets000.FOLLOW_32_in_rule__UnrestrictedName__Alternatives6036); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getTransformationKeyword_15());
+ }
+
+ }
+
+
+ }
+ break;
+ case 17 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2825:6: ( 'when' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2825:6: ( 'when' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2826:1: 'when'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getWhenKeyword_16());
+ }
+ match(input,33,FollowSets000.FOLLOW_33_in_rule__UnrestrictedName__Alternatives6056); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getWhenKeyword_16());
+ }
+
+ }
+
+
+ }
+ break;
+ case 18 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2833:6: ( 'where' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2833:6: ( 'where' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2834:1: 'where'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnrestrictedNameAccess().getWhereKeyword_17());
+ }
+ match(input,34,FollowSets000.FOLLOW_34_in_rule__UnrestrictedName__Alternatives6076); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnrestrictedNameAccess().getWhereKeyword_17());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnrestrictedName__Alternatives"
+
+
+ // $ANTLR start "rule__ID__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2846:1: rule__ID__Alternatives : ( ( RULE_SIMPLE_ID ) | ( RULE_ESCAPED_ID ) );
+ public final void rule__ID__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2850:1: ( ( RULE_SIMPLE_ID ) | ( RULE_ESCAPED_ID ) )
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0==RULE_SIMPLE_ID) ) {
+ alt12=1;
+ }
+ else if ( (LA12_0==RULE_ESCAPED_ID) ) {
+ alt12=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 12, 0, input);
+
+ throw nvae;
+ }
+ switch (alt12) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2851:1: ( RULE_SIMPLE_ID )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2851:1: ( RULE_SIMPLE_ID )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2852:1: RULE_SIMPLE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIDAccess().getSIMPLE_IDTerminalRuleCall_0());
+ }
+ match(input,RULE_SIMPLE_ID,FollowSets000.FOLLOW_RULE_SIMPLE_ID_in_rule__ID__Alternatives6110); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIDAccess().getSIMPLE_IDTerminalRuleCall_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2857:6: ( RULE_ESCAPED_ID )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2857:6: ( RULE_ESCAPED_ID )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2858:1: RULE_ESCAPED_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIDAccess().getESCAPED_IDTerminalRuleCall_1());
+ }
+ match(input,RULE_ESCAPED_ID,FollowSets000.FOLLOW_RULE_ESCAPED_ID_in_rule__ID__Alternatives6127); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIDAccess().getESCAPED_IDTerminalRuleCall_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ID__Alternatives"
+
+
+ // $ANTLR start "rule__UPPER__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2868:1: rule__UPPER__Alternatives : ( ( RULE_INT ) | ( '*' ) );
+ public final void rule__UPPER__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2872:1: ( ( RULE_INT ) | ( '*' ) )
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0==RULE_INT) ) {
+ alt13=1;
+ }
+ else if ( (LA13_0==35) ) {
+ alt13=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 13, 0, input);
+
+ throw nvae;
+ }
+ switch (alt13) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2873:1: ( RULE_INT )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2873:1: ( RULE_INT )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2874:1: RULE_INT
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUPPERAccess().getINTTerminalRuleCall_0());
+ }
+ match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__UPPER__Alternatives6159); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUPPERAccess().getINTTerminalRuleCall_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2879:6: ( '*' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2879:6: ( '*' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2880:1: '*'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUPPERAccess().getAsteriskKeyword_1());
+ }
+ match(input,35,FollowSets000.FOLLOW_35_in_rule__UPPER__Alternatives6177); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUPPERAccess().getAsteriskKeyword_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UPPER__Alternatives"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Alternatives_2_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2892:1: rule__NUMBER_LITERAL__Alternatives_2_0 : ( ( 'e' ) | ( 'E' ) );
+ public final void rule__NUMBER_LITERAL__Alternatives_2_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2896:1: ( ( 'e' ) | ( 'E' ) )
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( (LA14_0==36) ) {
+ alt14=1;
+ }
+ else if ( (LA14_0==37) ) {
+ alt14=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 14, 0, input);
+
+ throw nvae;
+ }
+ switch (alt14) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2897:1: ( 'e' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2897:1: ( 'e' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2898:1: 'e'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNUMBER_LITERALAccess().getEKeyword_2_0_0());
+ }
+ match(input,36,FollowSets000.FOLLOW_36_in_rule__NUMBER_LITERAL__Alternatives_2_06212); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNUMBER_LITERALAccess().getEKeyword_2_0_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2905:6: ( 'E' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2905:6: ( 'E' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2906:1: 'E'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNUMBER_LITERALAccess().getEKeyword_2_0_1());
+ }
+ match(input,37,FollowSets000.FOLLOW_37_in_rule__NUMBER_LITERAL__Alternatives_2_06232); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNUMBER_LITERALAccess().getEKeyword_2_0_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Alternatives_2_0"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Alternatives_2_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2918:1: rule__NUMBER_LITERAL__Alternatives_2_1 : ( ( '+' ) | ( '-' ) );
+ public final void rule__NUMBER_LITERAL__Alternatives_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2922:1: ( ( '+' ) | ( '-' ) )
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0==38) ) {
+ alt15=1;
+ }
+ else if ( (LA15_0==39) ) {
+ alt15=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 15, 0, input);
+
+ throw nvae;
+ }
+ switch (alt15) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2923:1: ( '+' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2923:1: ( '+' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2924:1: '+'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNUMBER_LITERALAccess().getPlusSignKeyword_2_1_0());
+ }
+ match(input,38,FollowSets000.FOLLOW_38_in_rule__NUMBER_LITERAL__Alternatives_2_16267); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNUMBER_LITERALAccess().getPlusSignKeyword_2_1_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2931:6: ( '-' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2931:6: ( '-' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2932:1: '-'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNUMBER_LITERALAccess().getHyphenMinusKeyword_2_1_1());
+ }
+ match(input,39,FollowSets000.FOLLOW_39_in_rule__NUMBER_LITERAL__Alternatives_2_16287); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNUMBER_LITERALAccess().getHyphenMinusKeyword_2_1_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Alternatives_2_1"
+
+
+ // $ANTLR start "rule__EssentialOCLUnrestrictedIdentifier__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2945:1: rule__EssentialOCLUnrestrictedIdentifier__Alternatives : ( ( 'e' ) | ( 'E' ) );
+ public final void rule__EssentialOCLUnrestrictedIdentifier__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2949:1: ( ( 'e' ) | ( 'E' ) )
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( (LA16_0==36) ) {
+ alt16=1;
+ }
+ else if ( (LA16_0==37) ) {
+ alt16=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 16, 0, input);
+
+ throw nvae;
+ }
+ switch (alt16) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2950:1: ( 'e' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2950:1: ( 'e' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2951:1: 'e'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getEKeyword_0());
+ }
+ match(input,36,FollowSets000.FOLLOW_36_in_rule__EssentialOCLUnrestrictedIdentifier__Alternatives6323); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getEKeyword_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2958:6: ( 'E' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2958:6: ( 'E' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2959:1: 'E'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getEKeyword_1());
+ }
+ match(input,37,FollowSets000.FOLLOW_37_in_rule__EssentialOCLUnrestrictedIdentifier__Alternatives6343); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getEKeyword_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EssentialOCLUnrestrictedIdentifier__Alternatives"
+
+
+ // $ANTLR start "rule__EssentialOCLPrefixOperator__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2971:1: rule__EssentialOCLPrefixOperator__Alternatives : ( ( '-' ) | ( 'not' ) );
+ public final void rule__EssentialOCLPrefixOperator__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2975:1: ( ( '-' ) | ( 'not' ) )
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( (LA17_0==39) ) {
+ alt17=1;
+ }
+ else if ( (LA17_0==40) ) {
+ alt17=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 17, 0, input);
+
+ throw nvae;
+ }
+ switch (alt17) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2976:1: ( '-' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2976:1: ( '-' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2977:1: '-'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLPrefixOperatorAccess().getHyphenMinusKeyword_0());
+ }
+ match(input,39,FollowSets000.FOLLOW_39_in_rule__EssentialOCLPrefixOperator__Alternatives6378); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLPrefixOperatorAccess().getHyphenMinusKeyword_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2984:6: ( 'not' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2984:6: ( 'not' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2985:1: 'not'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLPrefixOperatorAccess().getNotKeyword_1());
+ }
+ match(input,40,FollowSets000.FOLLOW_40_in_rule__EssentialOCLPrefixOperator__Alternatives6398); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLPrefixOperatorAccess().getNotKeyword_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EssentialOCLPrefixOperator__Alternatives"
+
+
+ // $ANTLR start "rule__EssentialOCLInfixOperator__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2997:1: rule__EssentialOCLInfixOperator__Alternatives : ( ( '*' ) | ( '/' ) | ( '+' ) | ( '-' ) | ( '>' ) | ( '<' ) | ( '>=' ) | ( '<=' ) | ( '=' ) | ( '<>' ) | ( 'and' ) | ( 'or' ) | ( 'xor' ) | ( 'implies' ) );
+ public final void rule__EssentialOCLInfixOperator__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3001:1: ( ( '*' ) | ( '/' ) | ( '+' ) | ( '-' ) | ( '>' ) | ( '<' ) | ( '>=' ) | ( '<=' ) | ( '=' ) | ( '<>' ) | ( 'and' ) | ( 'or' ) | ( 'xor' ) | ( 'implies' ) )
+ int alt18=14;
+ switch ( input.LA(1) ) {
+ case 35:
+ {
+ alt18=1;
+ }
+ break;
+ case 41:
+ {
+ alt18=2;
+ }
+ break;
+ case 38:
+ {
+ alt18=3;
+ }
+ break;
+ case 39:
+ {
+ alt18=4;
+ }
+ break;
+ case 42:
+ {
+ alt18=5;
+ }
+ break;
+ case 43:
+ {
+ alt18=6;
+ }
+ break;
+ case 44:
+ {
+ alt18=7;
+ }
+ break;
+ case 45:
+ {
+ alt18=8;
+ }
+ break;
+ case 46:
+ {
+ alt18=9;
+ }
+ break;
+ case 47:
+ {
+ alt18=10;
+ }
+ break;
+ case 48:
+ {
+ alt18=11;
+ }
+ break;
+ case 49:
+ {
+ alt18=12;
+ }
+ break;
+ case 50:
+ {
+ alt18=13;
+ }
+ break;
+ case 51:
+ {
+ alt18=14;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 18, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt18) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3002:1: ( '*' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3002:1: ( '*' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3003:1: '*'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getAsteriskKeyword_0());
+ }
+ match(input,35,FollowSets000.FOLLOW_35_in_rule__EssentialOCLInfixOperator__Alternatives6433); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getAsteriskKeyword_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3010:6: ( '/' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3010:6: ( '/' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3011:1: '/'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getSolidusKeyword_1());
+ }
+ match(input,41,FollowSets000.FOLLOW_41_in_rule__EssentialOCLInfixOperator__Alternatives6453); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getSolidusKeyword_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3018:6: ( '+' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3018:6: ( '+' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3019:1: '+'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getPlusSignKeyword_2());
+ }
+ match(input,38,FollowSets000.FOLLOW_38_in_rule__EssentialOCLInfixOperator__Alternatives6473); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getPlusSignKeyword_2());
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3026:6: ( '-' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3026:6: ( '-' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3027:1: '-'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getHyphenMinusKeyword_3());
+ }
+ match(input,39,FollowSets000.FOLLOW_39_in_rule__EssentialOCLInfixOperator__Alternatives6493); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getHyphenMinusKeyword_3());
+ }
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3034:6: ( '>' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3034:6: ( '>' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3035:1: '>'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getGreaterThanSignKeyword_4());
+ }
+ match(input,42,FollowSets000.FOLLOW_42_in_rule__EssentialOCLInfixOperator__Alternatives6513); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getGreaterThanSignKeyword_4());
+ }
+
+ }
+
+
+ }
+ break;
+ case 6 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3042:6: ( '<' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3042:6: ( '<' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3043:1: '<'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignKeyword_5());
+ }
+ match(input,43,FollowSets000.FOLLOW_43_in_rule__EssentialOCLInfixOperator__Alternatives6533); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignKeyword_5());
+ }
+
+ }
+
+
+ }
+ break;
+ case 7 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3050:6: ( '>=' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3050:6: ( '>=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3051:1: '>='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getGreaterThanSignEqualsSignKeyword_6());
+ }
+ match(input,44,FollowSets000.FOLLOW_44_in_rule__EssentialOCLInfixOperator__Alternatives6553); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getGreaterThanSignEqualsSignKeyword_6());
+ }
+
+ }
+
+
+ }
+ break;
+ case 8 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3058:6: ( '<=' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3058:6: ( '<=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3059:1: '<='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignEqualsSignKeyword_7());
+ }
+ match(input,45,FollowSets000.FOLLOW_45_in_rule__EssentialOCLInfixOperator__Alternatives6573); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignEqualsSignKeyword_7());
+ }
+
+ }
+
+
+ }
+ break;
+ case 9 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3066:6: ( '=' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3066:6: ( '=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3067:1: '='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getEqualsSignKeyword_8());
+ }
+ match(input,46,FollowSets000.FOLLOW_46_in_rule__EssentialOCLInfixOperator__Alternatives6593); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getEqualsSignKeyword_8());
+ }
+
+ }
+
+
+ }
+ break;
+ case 10 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3074:6: ( '<>' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3074:6: ( '<>' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3075:1: '<>'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignGreaterThanSignKeyword_9());
+ }
+ match(input,47,FollowSets000.FOLLOW_47_in_rule__EssentialOCLInfixOperator__Alternatives6613); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignGreaterThanSignKeyword_9());
+ }
+
+ }
+
+
+ }
+ break;
+ case 11 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3082:6: ( 'and' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3082:6: ( 'and' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3083:1: 'and'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getAndKeyword_10());
+ }
+ match(input,48,FollowSets000.FOLLOW_48_in_rule__EssentialOCLInfixOperator__Alternatives6633); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getAndKeyword_10());
+ }
+
+ }
+
+
+ }
+ break;
+ case 12 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3090:6: ( 'or' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3090:6: ( 'or' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3091:1: 'or'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getOrKeyword_11());
+ }
+ match(input,49,FollowSets000.FOLLOW_49_in_rule__EssentialOCLInfixOperator__Alternatives6653); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getOrKeyword_11());
+ }
+
+ }
+
+
+ }
+ break;
+ case 13 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3098:6: ( 'xor' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3098:6: ( 'xor' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3099:1: 'xor'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getXorKeyword_12());
+ }
+ match(input,50,FollowSets000.FOLLOW_50_in_rule__EssentialOCLInfixOperator__Alternatives6673); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getXorKeyword_12());
+ }
+
+ }
+
+
+ }
+ break;
+ case 14 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3106:6: ( 'implies' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3106:6: ( 'implies' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3107:1: 'implies'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLInfixOperatorAccess().getImpliesKeyword_13());
+ }
+ match(input,51,FollowSets000.FOLLOW_51_in_rule__EssentialOCLInfixOperator__Alternatives6693); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLInfixOperatorAccess().getImpliesKeyword_13());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EssentialOCLInfixOperator__Alternatives"
+
+
+ // $ANTLR start "rule__EssentialOCLNavigationOperator__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3119:1: rule__EssentialOCLNavigationOperator__Alternatives : ( ( '.' ) | ( '->' ) );
+ public final void rule__EssentialOCLNavigationOperator__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3123:1: ( ( '.' ) | ( '->' ) )
+ int alt19=2;
+ int LA19_0 = input.LA(1);
+
+ if ( (LA19_0==52) ) {
+ alt19=1;
+ }
+ else if ( (LA19_0==53) ) {
+ alt19=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 19, 0, input);
+
+ throw nvae;
+ }
+ switch (alt19) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3124:1: ( '.' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3124:1: ( '.' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3125:1: '.'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLNavigationOperatorAccess().getFullStopKeyword_0());
+ }
+ match(input,52,FollowSets000.FOLLOW_52_in_rule__EssentialOCLNavigationOperator__Alternatives6728); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLNavigationOperatorAccess().getFullStopKeyword_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3132:6: ( '->' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3132:6: ( '->' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3133:1: '->'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLNavigationOperatorAccess().getHyphenMinusGreaterThanSignKeyword_1());
+ }
+ match(input,53,FollowSets000.FOLLOW_53_in_rule__EssentialOCLNavigationOperator__Alternatives6748); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLNavigationOperatorAccess().getHyphenMinusGreaterThanSignKeyword_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EssentialOCLNavigationOperator__Alternatives"
+
+
+ // $ANTLR start "rule__Identifier__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3145:1: rule__Identifier__Alternatives : ( ( ruleID ) | ( ruleEssentialOCLUnrestrictedIdentifier ) );
+ public final void rule__Identifier__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3149:1: ( ( ruleID ) | ( ruleEssentialOCLUnrestrictedIdentifier ) )
+ int alt20=2;
+ int LA20_0 = input.LA(1);
+
+ if ( ((LA20_0>=RULE_SIMPLE_ID && LA20_0<=RULE_ESCAPED_ID)) ) {
+ alt20=1;
+ }
+ else if ( ((LA20_0>=36 && LA20_0<=37)) ) {
+ alt20=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 20, 0, input);
+
+ throw nvae;
+ }
+ switch (alt20) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3150:1: ( ruleID )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3150:1: ( ruleID )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3151:1: ruleID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIdentifierAccess().getIDParserRuleCall_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleID_in_rule__Identifier__Alternatives6782);
+ ruleID();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIdentifierAccess().getIDParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3156:6: ( ruleEssentialOCLUnrestrictedIdentifier )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3156:6: ( ruleEssentialOCLUnrestrictedIdentifier )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3157:1: ruleEssentialOCLUnrestrictedIdentifier
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIdentifierAccess().getEssentialOCLUnrestrictedIdentifierParserRuleCall_1());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnrestrictedIdentifier_in_rule__Identifier__Alternatives6799);
+ ruleEssentialOCLUnrestrictedIdentifier();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIdentifierAccess().getEssentialOCLUnrestrictedIdentifierParserRuleCall_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Identifier__Alternatives"
+
+
+ // $ANTLR start "rule__EssentialOCLUnreservedName__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3167:1: rule__EssentialOCLUnreservedName__Alternatives : ( ( ruleUnrestrictedName ) | ( ruleCollectionTypeIdentifier ) | ( rulePrimitiveTypeIdentifier ) | ( 'Tuple' ) );
+ public final void rule__EssentialOCLUnreservedName__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3171:1: ( ( ruleUnrestrictedName ) | ( ruleCollectionTypeIdentifier ) | ( rulePrimitiveTypeIdentifier ) | ( 'Tuple' ) )
+ int alt21=4;
+ switch ( input.LA(1) ) {
+ case RULE_SIMPLE_ID:
+ case RULE_ESCAPED_ID:
+ case 18:
+ case 19:
+ case 20:
+ case 21:
+ case 22:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ case 27:
+ case 28:
+ case 29:
+ case 30:
+ case 31:
+ case 32:
+ case 33:
+ case 34:
+ case 36:
+ case 37:
+ {
+ alt21=1;
+ }
+ break;
+ case 63:
+ case 64:
+ case 65:
+ case 66:
+ case 67:
+ {
+ alt21=2;
+ }
+ break;
+ case 55:
+ case 56:
+ case 57:
+ case 58:
+ case 59:
+ case 60:
+ case 61:
+ case 62:
+ {
+ alt21=3;
+ }
+ break;
+ case 54:
+ {
+ alt21=4;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 21, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt21) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3172:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3172:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3173:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLUnreservedNameAccess().getUnrestrictedNameParserRuleCall_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rule__EssentialOCLUnreservedName__Alternatives6831);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLUnreservedNameAccess().getUnrestrictedNameParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3178:6: ( ruleCollectionTypeIdentifier )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3178:6: ( ruleCollectionTypeIdentifier )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3179:1: ruleCollectionTypeIdentifier
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLUnreservedNameAccess().getCollectionTypeIdentifierParserRuleCall_1());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_rule__EssentialOCLUnreservedName__Alternatives6848);
+ ruleCollectionTypeIdentifier();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLUnreservedNameAccess().getCollectionTypeIdentifierParserRuleCall_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3184:6: ( rulePrimitiveTypeIdentifier )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3184:6: ( rulePrimitiveTypeIdentifier )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3185:1: rulePrimitiveTypeIdentifier
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLUnreservedNameAccess().getPrimitiveTypeIdentifierParserRuleCall_2());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_rule__EssentialOCLUnreservedName__Alternatives6865);
+ rulePrimitiveTypeIdentifier();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLUnreservedNameAccess().getPrimitiveTypeIdentifierParserRuleCall_2());
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3190:6: ( 'Tuple' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3190:6: ( 'Tuple' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3191:1: 'Tuple'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getEssentialOCLUnreservedNameAccess().getTupleKeyword_3());
+ }
+ match(input,54,FollowSets000.FOLLOW_54_in_rule__EssentialOCLUnreservedName__Alternatives6883); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getEssentialOCLUnreservedNameAccess().getTupleKeyword_3());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EssentialOCLUnreservedName__Alternatives"
+
+
+ // $ANTLR start "rule__PrimitiveTypeIdentifier__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3203:1: rule__PrimitiveTypeIdentifier__Alternatives : ( ( 'Boolean' ) | ( 'Integer' ) | ( 'Real' ) | ( 'String' ) | ( 'UnlimitedNatural' ) | ( 'OclAny' ) | ( 'OclInvalid' ) | ( 'OclVoid' ) );
+ public final void rule__PrimitiveTypeIdentifier__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3207:1: ( ( 'Boolean' ) | ( 'Integer' ) | ( 'Real' ) | ( 'String' ) | ( 'UnlimitedNatural' ) | ( 'OclAny' ) | ( 'OclInvalid' ) | ( 'OclVoid' ) )
+ int alt22=8;
+ switch ( input.LA(1) ) {
+ case 55:
+ {
+ alt22=1;
+ }
+ break;
+ case 56:
+ {
+ alt22=2;
+ }
+ break;
+ case 57:
+ {
+ alt22=3;
+ }
+ break;
+ case 58:
+ {
+ alt22=4;
+ }
+ break;
+ case 59:
+ {
+ alt22=5;
+ }
+ break;
+ case 60:
+ {
+ alt22=6;
+ }
+ break;
+ case 61:
+ {
+ alt22=7;
+ }
+ break;
+ case 62:
+ {
+ alt22=8;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 22, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt22) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3208:1: ( 'Boolean' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3208:1: ( 'Boolean' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3209:1: 'Boolean'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getBooleanKeyword_0());
+ }
+ match(input,55,FollowSets000.FOLLOW_55_in_rule__PrimitiveTypeIdentifier__Alternatives6918); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getBooleanKeyword_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3216:6: ( 'Integer' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3216:6: ( 'Integer' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3217:1: 'Integer'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getIntegerKeyword_1());
+ }
+ match(input,56,FollowSets000.FOLLOW_56_in_rule__PrimitiveTypeIdentifier__Alternatives6938); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getIntegerKeyword_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3224:6: ( 'Real' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3224:6: ( 'Real' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3225:1: 'Real'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getRealKeyword_2());
+ }
+ match(input,57,FollowSets000.FOLLOW_57_in_rule__PrimitiveTypeIdentifier__Alternatives6958); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getRealKeyword_2());
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3232:6: ( 'String' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3232:6: ( 'String' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3233:1: 'String'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getStringKeyword_3());
+ }
+ match(input,58,FollowSets000.FOLLOW_58_in_rule__PrimitiveTypeIdentifier__Alternatives6978); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getStringKeyword_3());
+ }
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3240:6: ( 'UnlimitedNatural' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3240:6: ( 'UnlimitedNatural' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3241:1: 'UnlimitedNatural'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getUnlimitedNaturalKeyword_4());
+ }
+ match(input,59,FollowSets000.FOLLOW_59_in_rule__PrimitiveTypeIdentifier__Alternatives6998); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getUnlimitedNaturalKeyword_4());
+ }
+
+ }
+
+
+ }
+ break;
+ case 6 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3248:6: ( 'OclAny' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3248:6: ( 'OclAny' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3249:1: 'OclAny'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclAnyKeyword_5());
+ }
+ match(input,60,FollowSets000.FOLLOW_60_in_rule__PrimitiveTypeIdentifier__Alternatives7018); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclAnyKeyword_5());
+ }
+
+ }
+
+
+ }
+ break;
+ case 7 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3256:6: ( 'OclInvalid' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3256:6: ( 'OclInvalid' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3257:1: 'OclInvalid'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclInvalidKeyword_6());
+ }
+ match(input,61,FollowSets000.FOLLOW_61_in_rule__PrimitiveTypeIdentifier__Alternatives7038); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclInvalidKeyword_6());
+ }
+
+ }
+
+
+ }
+ break;
+ case 8 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3264:6: ( 'OclVoid' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3264:6: ( 'OclVoid' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3265:1: 'OclVoid'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclVoidKeyword_7());
+ }
+ match(input,62,FollowSets000.FOLLOW_62_in_rule__PrimitiveTypeIdentifier__Alternatives7058); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclVoidKeyword_7());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeIdentifier__Alternatives"
+
+
+ // $ANTLR start "rule__CollectionTypeIdentifier__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3277:1: rule__CollectionTypeIdentifier__Alternatives : ( ( 'Set' ) | ( 'Bag' ) | ( 'Sequence' ) | ( 'Collection' ) | ( 'OrderedSet' ) );
+ public final void rule__CollectionTypeIdentifier__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3281:1: ( ( 'Set' ) | ( 'Bag' ) | ( 'Sequence' ) | ( 'Collection' ) | ( 'OrderedSet' ) )
+ int alt23=5;
+ switch ( input.LA(1) ) {
+ case 63:
+ {
+ alt23=1;
+ }
+ break;
+ case 64:
+ {
+ alt23=2;
+ }
+ break;
+ case 65:
+ {
+ alt23=3;
+ }
+ break;
+ case 66:
+ {
+ alt23=4;
+ }
+ break;
+ case 67:
+ {
+ alt23=5;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 23, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt23) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3282:1: ( 'Set' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3282:1: ( 'Set' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3283:1: 'Set'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeIdentifierAccess().getSetKeyword_0());
+ }
+ match(input,63,FollowSets000.FOLLOW_63_in_rule__CollectionTypeIdentifier__Alternatives7093); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeIdentifierAccess().getSetKeyword_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3290:6: ( 'Bag' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3290:6: ( 'Bag' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3291:1: 'Bag'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeIdentifierAccess().getBagKeyword_1());
+ }
+ match(input,64,FollowSets000.FOLLOW_64_in_rule__CollectionTypeIdentifier__Alternatives7113); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeIdentifierAccess().getBagKeyword_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3298:6: ( 'Sequence' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3298:6: ( 'Sequence' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3299:1: 'Sequence'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeIdentifierAccess().getSequenceKeyword_2());
+ }
+ match(input,65,FollowSets000.FOLLOW_65_in_rule__CollectionTypeIdentifier__Alternatives7133); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeIdentifierAccess().getSequenceKeyword_2());
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3306:6: ( 'Collection' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3306:6: ( 'Collection' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3307:1: 'Collection'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeIdentifierAccess().getCollectionKeyword_3());
+ }
+ match(input,66,FollowSets000.FOLLOW_66_in_rule__CollectionTypeIdentifier__Alternatives7153); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeIdentifierAccess().getCollectionKeyword_3());
+ }
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3314:6: ( 'OrderedSet' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3314:6: ( 'OrderedSet' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3315:1: 'OrderedSet'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeIdentifierAccess().getOrderedSetKeyword_4());
+ }
+ match(input,67,FollowSets000.FOLLOW_67_in_rule__CollectionTypeIdentifier__Alternatives7173); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeIdentifierAccess().getOrderedSetKeyword_4());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTypeIdentifier__Alternatives"
+
+
+ // $ANTLR start "rule__MultiplicityCS__Alternatives_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3327:1: rule__MultiplicityCS__Alternatives_1 : ( ( ruleMultiplicityBoundsCS ) | ( ruleMultiplicityStringCS ) );
+ public final void rule__MultiplicityCS__Alternatives_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3331:1: ( ( ruleMultiplicityBoundsCS ) | ( ruleMultiplicityStringCS ) )
+ int alt24=2;
+ int LA24_0 = input.LA(1);
+
+ if ( (LA24_0==RULE_INT) ) {
+ alt24=1;
+ }
+ else if ( (LA24_0==35||LA24_0==38||LA24_0==68) ) {
+ alt24=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 24, 0, input);
+
+ throw nvae;
+ }
+ switch (alt24) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3332:1: ( ruleMultiplicityBoundsCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3332:1: ( ruleMultiplicityBoundsCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3333:1: ruleMultiplicityBoundsCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityCSAccess().getMultiplicityBoundsCSParserRuleCall_1_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleMultiplicityBoundsCS_in_rule__MultiplicityCS__Alternatives_17207);
+ ruleMultiplicityBoundsCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityCSAccess().getMultiplicityBoundsCSParserRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3338:6: ( ruleMultiplicityStringCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3338:6: ( ruleMultiplicityStringCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3339:1: ruleMultiplicityStringCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityCSAccess().getMultiplicityStringCSParserRuleCall_1_1());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleMultiplicityStringCS_in_rule__MultiplicityCS__Alternatives_17224);
+ ruleMultiplicityStringCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityCSAccess().getMultiplicityStringCSParserRuleCall_1_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityCS__Alternatives_1"
+
+
+ // $ANTLR start "rule__MultiplicityStringCS__StringBoundsAlternatives_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3349:1: rule__MultiplicityStringCS__StringBoundsAlternatives_0 : ( ( '*' ) | ( '+' ) | ( '?' ) );
+ public final void rule__MultiplicityStringCS__StringBoundsAlternatives_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3353:1: ( ( '*' ) | ( '+' ) | ( '?' ) )
+ int alt25=3;
+ switch ( input.LA(1) ) {
+ case 35:
+ {
+ alt25=1;
+ }
+ break;
+ case 38:
+ {
+ alt25=2;
+ }
+ break;
+ case 68:
+ {
+ alt25=3;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 25, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt25) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3354:1: ( '*' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3354:1: ( '*' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3355:1: '*'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAsteriskKeyword_0_0());
+ }
+ match(input,35,FollowSets000.FOLLOW_35_in_rule__MultiplicityStringCS__StringBoundsAlternatives_07257); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAsteriskKeyword_0_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3362:6: ( '+' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3362:6: ( '+' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3363:1: '+'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsPlusSignKeyword_0_1());
+ }
+ match(input,38,FollowSets000.FOLLOW_38_in_rule__MultiplicityStringCS__StringBoundsAlternatives_07277); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsPlusSignKeyword_0_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3370:6: ( '?' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3370:6: ( '?' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3371:1: '?'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsQuestionMarkKeyword_0_2());
+ }
+ match(input,68,FollowSets000.FOLLOW_68_in_rule__MultiplicityStringCS__StringBoundsAlternatives_07297); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsQuestionMarkKeyword_0_2());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityStringCS__StringBoundsAlternatives_0"
+
+
+ // $ANTLR start "rule__PrimitiveLiteralExpCS__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3383:1: rule__PrimitiveLiteralExpCS__Alternatives : ( ( ruleNumberLiteralExpCS ) | ( ruleStringLiteralExpCS ) | ( ruleBooleanLiteralExpCS ) | ( ruleUnlimitedNaturalLiteralExpCS ) | ( ruleInvalidLiteralExpCS ) | ( ruleNullLiteralExpCS ) );
+ public final void rule__PrimitiveLiteralExpCS__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3387:1: ( ( ruleNumberLiteralExpCS ) | ( ruleStringLiteralExpCS ) | ( ruleBooleanLiteralExpCS ) | ( ruleUnlimitedNaturalLiteralExpCS ) | ( ruleInvalidLiteralExpCS ) | ( ruleNullLiteralExpCS ) )
+ int alt26=6;
+ switch ( input.LA(1) ) {
+ case RULE_INT:
+ {
+ alt26=1;
+ }
+ break;
+ case RULE_SINGLE_QUOTED_STRING:
+ {
+ alt26=2;
+ }
+ break;
+ case 91:
+ case 92:
+ {
+ alt26=3;
+ }
+ break;
+ case 35:
+ {
+ alt26=4;
+ }
+ break;
+ case 81:
+ {
+ alt26=5;
+ }
+ break;
+ case 82:
+ {
+ alt26=6;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 26, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt26) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3388:1: ( ruleNumberLiteralExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3388:1: ( ruleNumberLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3389:1: ruleNumberLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveLiteralExpCSAccess().getNumberLiteralExpCSParserRuleCall_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNumberLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives7331);
+ ruleNumberLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveLiteralExpCSAccess().getNumberLiteralExpCSParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3394:6: ( ruleStringLiteralExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3394:6: ( ruleStringLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3395:1: ruleStringLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveLiteralExpCSAccess().getStringLiteralExpCSParserRuleCall_1());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleStringLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives7348);
+ ruleStringLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveLiteralExpCSAccess().getStringLiteralExpCSParserRuleCall_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3400:6: ( ruleBooleanLiteralExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3400:6: ( ruleBooleanLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3401:1: ruleBooleanLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveLiteralExpCSAccess().getBooleanLiteralExpCSParserRuleCall_2());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleBooleanLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives7365);
+ ruleBooleanLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveLiteralExpCSAccess().getBooleanLiteralExpCSParserRuleCall_2());
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3406:6: ( ruleUnlimitedNaturalLiteralExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3406:6: ( ruleUnlimitedNaturalLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3407:1: ruleUnlimitedNaturalLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSParserRuleCall_3());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives7382);
+ ruleUnlimitedNaturalLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSParserRuleCall_3());
+ }
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3412:6: ( ruleInvalidLiteralExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3412:6: ( ruleInvalidLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3413:1: ruleInvalidLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveLiteralExpCSAccess().getInvalidLiteralExpCSParserRuleCall_4());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleInvalidLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives7399);
+ ruleInvalidLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveLiteralExpCSAccess().getInvalidLiteralExpCSParserRuleCall_4());
+ }
+
+ }
+
+
+ }
+ break;
+ case 6 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3418:6: ( ruleNullLiteralExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3418:6: ( ruleNullLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3419:1: ruleNullLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveLiteralExpCSAccess().getNullLiteralExpCSParserRuleCall_5());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNullLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives7416);
+ ruleNullLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveLiteralExpCSAccess().getNullLiteralExpCSParserRuleCall_5());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveLiteralExpCS__Alternatives"
+
+
+ // $ANTLR start "rule__BooleanLiteralExpCS__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3429:1: rule__BooleanLiteralExpCS__Alternatives : ( ( ( rule__BooleanLiteralExpCS__NameAssignment_0 ) ) | ( ( rule__BooleanLiteralExpCS__NameAssignment_1 ) ) );
+ public final void rule__BooleanLiteralExpCS__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3433:1: ( ( ( rule__BooleanLiteralExpCS__NameAssignment_0 ) ) | ( ( rule__BooleanLiteralExpCS__NameAssignment_1 ) ) )
+ int alt27=2;
+ int LA27_0 = input.LA(1);
+
+ if ( (LA27_0==91) ) {
+ alt27=1;
+ }
+ else if ( (LA27_0==92) ) {
+ alt27=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 27, 0, input);
+
+ throw nvae;
+ }
+ switch (alt27) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3434:1: ( ( rule__BooleanLiteralExpCS__NameAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3434:1: ( ( rule__BooleanLiteralExpCS__NameAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3435:1: ( rule__BooleanLiteralExpCS__NameAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getBooleanLiteralExpCSAccess().getNameAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3436:1: ( rule__BooleanLiteralExpCS__NameAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3436:2: rule__BooleanLiteralExpCS__NameAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__BooleanLiteralExpCS__NameAssignment_0_in_rule__BooleanLiteralExpCS__Alternatives7448);
+ rule__BooleanLiteralExpCS__NameAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getBooleanLiteralExpCSAccess().getNameAssignment_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3440:6: ( ( rule__BooleanLiteralExpCS__NameAssignment_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3440:6: ( ( rule__BooleanLiteralExpCS__NameAssignment_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3441:1: ( rule__BooleanLiteralExpCS__NameAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getBooleanLiteralExpCSAccess().getNameAssignment_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3442:1: ( rule__BooleanLiteralExpCS__NameAssignment_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3442:2: rule__BooleanLiteralExpCS__NameAssignment_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__BooleanLiteralExpCS__NameAssignment_1_in_rule__BooleanLiteralExpCS__Alternatives7466);
+ rule__BooleanLiteralExpCS__NameAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getBooleanLiteralExpCSAccess().getNameAssignment_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__BooleanLiteralExpCS__Alternatives"
+
+
+ // $ANTLR start "rule__TypeLiteralCS__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3451:1: rule__TypeLiteralCS__Alternatives : ( ( rulePrimitiveTypeCS ) | ( ruleCollectionTypeCS ) | ( ruleTupleTypeCS ) );
+ public final void rule__TypeLiteralCS__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3455:1: ( ( rulePrimitiveTypeCS ) | ( ruleCollectionTypeCS ) | ( ruleTupleTypeCS ) )
+ int alt28=3;
+ switch ( input.LA(1) ) {
+ case 55:
+ case 56:
+ case 57:
+ case 58:
+ case 59:
+ case 60:
+ case 61:
+ case 62:
+ {
+ alt28=1;
+ }
+ break;
+ case 63:
+ case 64:
+ case 65:
+ case 66:
+ case 67:
+ {
+ alt28=2;
+ }
+ break;
+ case 54:
+ {
+ alt28=3;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 28, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt28) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3456:1: ( rulePrimitiveTypeCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3456:1: ( rulePrimitiveTypeCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3457:1: rulePrimitiveTypeCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeLiteralCSAccess().getPrimitiveTypeCSParserRuleCall_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeCS_in_rule__TypeLiteralCS__Alternatives7499);
+ rulePrimitiveTypeCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeLiteralCSAccess().getPrimitiveTypeCSParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3462:6: ( ruleCollectionTypeCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3462:6: ( ruleCollectionTypeCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3463:1: ruleCollectionTypeCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeLiteralCSAccess().getCollectionTypeCSParserRuleCall_1());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_rule__TypeLiteralCS__Alternatives7516);
+ ruleCollectionTypeCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeLiteralCSAccess().getCollectionTypeCSParserRuleCall_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3468:6: ( ruleTupleTypeCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3468:6: ( ruleTupleTypeCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3469:1: ruleTupleTypeCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeLiteralCSAccess().getTupleTypeCSParserRuleCall_2());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTupleTypeCS_in_rule__TypeLiteralCS__Alternatives7533);
+ ruleTupleTypeCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeLiteralCSAccess().getTupleTypeCSParserRuleCall_2());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TypeLiteralCS__Alternatives"
+
+
+ // $ANTLR start "rule__TypeExpCS__Alternatives_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3479:1: rule__TypeExpCS__Alternatives_0 : ( ( ruleTypeNameExpCS ) | ( ruleTypeLiteralCS ) );
+ public final void rule__TypeExpCS__Alternatives_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3483:1: ( ( ruleTypeNameExpCS ) | ( ruleTypeLiteralCS ) )
+ int alt29=2;
+ int LA29_0 = input.LA(1);
+
+ if ( ((LA29_0>=RULE_SIMPLE_ID && LA29_0<=RULE_ESCAPED_ID)||(LA29_0>=18 && LA29_0<=34)||(LA29_0>=36 && LA29_0<=37)) ) {
+ alt29=1;
+ }
+ else if ( ((LA29_0>=54 && LA29_0<=67)) ) {
+ alt29=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 29, 0, input);
+
+ throw nvae;
+ }
+ switch (alt29) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3484:1: ( ruleTypeNameExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3484:1: ( ruleTypeNameExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3485:1: ruleTypeNameExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeExpCSAccess().getTypeNameExpCSParserRuleCall_0_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeNameExpCS_in_rule__TypeExpCS__Alternatives_07565);
+ ruleTypeNameExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeExpCSAccess().getTypeNameExpCSParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3490:6: ( ruleTypeLiteralCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3490:6: ( ruleTypeLiteralCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3491:1: ruleTypeLiteralCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeExpCSAccess().getTypeLiteralCSParserRuleCall_0_1());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_rule__TypeExpCS__Alternatives_07582);
+ ruleTypeLiteralCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeExpCSAccess().getTypeLiteralCSParserRuleCall_0_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TypeExpCS__Alternatives_0"
+
+
+ // $ANTLR start "rule__ExpCS__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3501:1: rule__ExpCS__Alternatives : ( ( ( rule__ExpCS__Group_0__0 ) ) | ( ( rule__ExpCS__Group_1__0 ) ) | ( rulePrimaryExpOrLetExpCS ) );
+ public final void rule__ExpCS__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3505:1: ( ( ( rule__ExpCS__Group_0__0 ) ) | ( ( rule__ExpCS__Group_1__0 ) ) | ( rulePrimaryExpOrLetExpCS ) )
+ int alt30=3;
+ alt30 = dfa30.predict(input);
+ switch (alt30) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3506:1: ( ( rule__ExpCS__Group_0__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3506:1: ( ( rule__ExpCS__Group_0__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3507:1: ( rule__ExpCS__Group_0__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getGroup_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3508:1: ( rule__ExpCS__Group_0__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3508:2: rule__ExpCS__Group_0__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_0__0_in_rule__ExpCS__Alternatives7614);
+ rule__ExpCS__Group_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getGroup_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3512:6: ( ( rule__ExpCS__Group_1__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3512:6: ( ( rule__ExpCS__Group_1__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3513:1: ( rule__ExpCS__Group_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3514:1: ( rule__ExpCS__Group_1__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3514:2: rule__ExpCS__Group_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_1__0_in_rule__ExpCS__Alternatives7632);
+ rule__ExpCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3518:6: ( rulePrimaryExpOrLetExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3518:6: ( rulePrimaryExpOrLetExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3519:1: rulePrimaryExpOrLetExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getPrimaryExpOrLetExpCSParserRuleCall_2());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpOrLetExpCS_in_rule__ExpCS__Alternatives7650);
+ rulePrimaryExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getPrimaryExpOrLetExpCSParserRuleCall_2());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Alternatives"
+
+
+ // $ANTLR start "rule__BinaryOperatorCS__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3529:1: rule__BinaryOperatorCS__Alternatives : ( ( ruleInfixOperatorCS ) | ( ruleNavigationOperatorCS ) );
+ public final void rule__BinaryOperatorCS__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3533:1: ( ( ruleInfixOperatorCS ) | ( ruleNavigationOperatorCS ) )
+ int alt31=2;
+ int LA31_0 = input.LA(1);
+
+ if ( (LA31_0==35||(LA31_0>=38 && LA31_0<=39)||(LA31_0>=41 && LA31_0<=51)) ) {
+ alt31=1;
+ }
+ else if ( ((LA31_0>=52 && LA31_0<=53)) ) {
+ alt31=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 31, 0, input);
+
+ throw nvae;
+ }
+ switch (alt31) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3534:1: ( ruleInfixOperatorCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3534:1: ( ruleInfixOperatorCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3535:1: ruleInfixOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getBinaryOperatorCSAccess().getInfixOperatorCSParserRuleCall_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleInfixOperatorCS_in_rule__BinaryOperatorCS__Alternatives7682);
+ ruleInfixOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getBinaryOperatorCSAccess().getInfixOperatorCSParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3540:6: ( ruleNavigationOperatorCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3540:6: ( ruleNavigationOperatorCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3541:1: ruleNavigationOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getBinaryOperatorCSAccess().getNavigationOperatorCSParserRuleCall_1());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigationOperatorCS_in_rule__BinaryOperatorCS__Alternatives7699);
+ ruleNavigationOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getBinaryOperatorCSAccess().getNavigationOperatorCSParserRuleCall_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__BinaryOperatorCS__Alternatives"
+
+
+ // $ANTLR start "rule__PrefixedExpCS__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3551:1: rule__PrefixedExpCS__Alternatives : ( ( rulePrimaryExpCS ) | ( ( rule__PrefixedExpCS__Group_1__0 ) ) );
+ public final void rule__PrefixedExpCS__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3555:1: ( ( rulePrimaryExpCS ) | ( ( rule__PrefixedExpCS__Group_1__0 ) ) )
+ int alt32=2;
+ int LA32_0 = input.LA(1);
+
+ if ( ((LA32_0>=RULE_INT && LA32_0<=RULE_ESCAPED_ID)||(LA32_0>=18 && LA32_0<=37)||(LA32_0>=54 && LA32_0<=67)||LA32_0==69||(LA32_0>=81 && LA32_0<=82)||LA32_0==84||(LA32_0>=90 && LA32_0<=92)) ) {
+ alt32=1;
+ }
+ else if ( ((LA32_0>=39 && LA32_0<=40)) ) {
+ alt32=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 32, 0, input);
+
+ throw nvae;
+ }
+ switch (alt32) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3556:1: ( rulePrimaryExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3556:1: ( rulePrimaryExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3557:1: rulePrimaryExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpCSAccess().getPrimaryExpCSParserRuleCall_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_rule__PrefixedExpCS__Alternatives7731);
+ rulePrimaryExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpCSAccess().getPrimaryExpCSParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3562:6: ( ( rule__PrefixedExpCS__Group_1__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3562:6: ( ( rule__PrefixedExpCS__Group_1__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3563:1: ( rule__PrefixedExpCS__Group_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3564:1: ( rule__PrefixedExpCS__Group_1__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3564:2: rule__PrefixedExpCS__Group_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrefixedExpCS__Group_1__0_in_rule__PrefixedExpCS__Alternatives7748);
+ rule__PrefixedExpCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpCS__Alternatives"
+
+
+ // $ANTLR start "rule__PrefixedExpOrLetExpCS__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3573:1: rule__PrefixedExpOrLetExpCS__Alternatives : ( ( rulePrimaryExpOrLetExpCS ) | ( ( rule__PrefixedExpOrLetExpCS__Group_1__0 ) ) );
+ public final void rule__PrefixedExpOrLetExpCS__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3577:1: ( ( rulePrimaryExpOrLetExpCS ) | ( ( rule__PrefixedExpOrLetExpCS__Group_1__0 ) ) )
+ int alt33=2;
+ int LA33_0 = input.LA(1);
+
+ if ( ((LA33_0>=RULE_INT && LA33_0<=RULE_ESCAPED_ID)||(LA33_0>=18 && LA33_0<=37)||(LA33_0>=54 && LA33_0<=67)||LA33_0==69||(LA33_0>=81 && LA33_0<=82)||LA33_0==84||LA33_0==88||(LA33_0>=90 && LA33_0<=92)) ) {
+ alt33=1;
+ }
+ else if ( ((LA33_0>=39 && LA33_0<=40)) ) {
+ alt33=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 33, 0, input);
+
+ throw nvae;
+ }
+ switch (alt33) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3578:1: ( rulePrimaryExpOrLetExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3578:1: ( rulePrimaryExpOrLetExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3579:1: rulePrimaryExpOrLetExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrimaryExpOrLetExpCSParserRuleCall_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpOrLetExpCS_in_rule__PrefixedExpOrLetExpCS__Alternatives7781);
+ rulePrimaryExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrimaryExpOrLetExpCSParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3584:6: ( ( rule__PrefixedExpOrLetExpCS__Group_1__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3584:6: ( ( rule__PrefixedExpOrLetExpCS__Group_1__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3585:1: ( rule__PrefixedExpOrLetExpCS__Group_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3586:1: ( rule__PrefixedExpOrLetExpCS__Group_1__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3586:2: rule__PrefixedExpOrLetExpCS__Group_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrefixedExpOrLetExpCS__Group_1__0_in_rule__PrefixedExpOrLetExpCS__Alternatives7798);
+ rule__PrefixedExpOrLetExpCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpOrLetExpCS__Alternatives"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3595:1: rule__PrimaryExpCS__Alternatives : ( ( ( rule__PrimaryExpCS__Group_0__0 ) ) | ( ( rule__PrimaryExpCS__Group_1__0 ) ) | ( ( rule__PrimaryExpCS__Group_2__0 ) ) | ( ( rule__PrimaryExpCS__Group_3__0 ) ) | ( ruleSelfExpCS ) | ( rulePrimitiveLiteralExpCS ) | ( ruleTupleLiteralExpCS ) | ( ruleCollectionLiteralExpCS ) | ( ruleTypeLiteralExpCS ) | ( ruleIfExpCS ) | ( ruleNestedExpCS ) );
+ public final void rule__PrimaryExpCS__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3599:1: ( ( ( rule__PrimaryExpCS__Group_0__0 ) ) | ( ( rule__PrimaryExpCS__Group_1__0 ) ) | ( ( rule__PrimaryExpCS__Group_2__0 ) ) | ( ( rule__PrimaryExpCS__Group_3__0 ) ) | ( ruleSelfExpCS ) | ( rulePrimitiveLiteralExpCS ) | ( ruleTupleLiteralExpCS ) | ( ruleCollectionLiteralExpCS ) | ( ruleTypeLiteralExpCS ) | ( ruleIfExpCS ) | ( ruleNestedExpCS ) )
+ int alt34=11;
+ alt34 = dfa34.predict(input);
+ switch (alt34) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3600:1: ( ( rule__PrimaryExpCS__Group_0__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3600:1: ( ( rule__PrimaryExpCS__Group_0__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3601:1: ( rule__PrimaryExpCS__Group_0__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3602:1: ( rule__PrimaryExpCS__Group_0__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3602:2: rule__PrimaryExpCS__Group_0__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimaryExpCS__Group_0__0_in_rule__PrimaryExpCS__Alternatives7831);
+ rule__PrimaryExpCS__Group_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getGroup_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3606:6: ( ( rule__PrimaryExpCS__Group_1__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3606:6: ( ( rule__PrimaryExpCS__Group_1__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3607:1: ( rule__PrimaryExpCS__Group_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3608:1: ( rule__PrimaryExpCS__Group_1__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3608:2: rule__PrimaryExpCS__Group_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimaryExpCS__Group_1__0_in_rule__PrimaryExpCS__Alternatives7849);
+ rule__PrimaryExpCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3612:6: ( ( rule__PrimaryExpCS__Group_2__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3612:6: ( ( rule__PrimaryExpCS__Group_2__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3613:1: ( rule__PrimaryExpCS__Group_2__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3614:1: ( rule__PrimaryExpCS__Group_2__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3614:2: rule__PrimaryExpCS__Group_2__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimaryExpCS__Group_2__0_in_rule__PrimaryExpCS__Alternatives7867);
+ rule__PrimaryExpCS__Group_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getGroup_2());
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3618:6: ( ( rule__PrimaryExpCS__Group_3__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3618:6: ( ( rule__PrimaryExpCS__Group_3__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3619:1: ( rule__PrimaryExpCS__Group_3__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3620:1: ( rule__PrimaryExpCS__Group_3__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3620:2: rule__PrimaryExpCS__Group_3__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimaryExpCS__Group_3__0_in_rule__PrimaryExpCS__Alternatives7885);
+ rule__PrimaryExpCS__Group_3__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getGroup_3());
+ }
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3624:6: ( ruleSelfExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3624:6: ( ruleSelfExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3625:1: ruleSelfExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getSelfExpCSParserRuleCall_4());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleSelfExpCS_in_rule__PrimaryExpCS__Alternatives7903);
+ ruleSelfExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getSelfExpCSParserRuleCall_4());
+ }
+
+ }
+
+
+ }
+ break;
+ case 6 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3630:6: ( rulePrimitiveLiteralExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3630:6: ( rulePrimitiveLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3631:1: rulePrimitiveLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getPrimitiveLiteralExpCSParserRuleCall_5());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveLiteralExpCS_in_rule__PrimaryExpCS__Alternatives7920);
+ rulePrimitiveLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getPrimitiveLiteralExpCSParserRuleCall_5());
+ }
+
+ }
+
+
+ }
+ break;
+ case 7 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3636:6: ( ruleTupleLiteralExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3636:6: ( ruleTupleLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3637:1: ruleTupleLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getTupleLiteralExpCSParserRuleCall_6());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_rule__PrimaryExpCS__Alternatives7937);
+ ruleTupleLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getTupleLiteralExpCSParserRuleCall_6());
+ }
+
+ }
+
+
+ }
+ break;
+ case 8 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3642:6: ( ruleCollectionLiteralExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3642:6: ( ruleCollectionLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3643:1: ruleCollectionLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getCollectionLiteralExpCSParserRuleCall_7());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_rule__PrimaryExpCS__Alternatives7954);
+ ruleCollectionLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getCollectionLiteralExpCSParserRuleCall_7());
+ }
+
+ }
+
+
+ }
+ break;
+ case 9 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3648:6: ( ruleTypeLiteralExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3648:6: ( ruleTypeLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3649:1: ruleTypeLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getTypeLiteralExpCSParserRuleCall_8());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_rule__PrimaryExpCS__Alternatives7971);
+ ruleTypeLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getTypeLiteralExpCSParserRuleCall_8());
+ }
+
+ }
+
+
+ }
+ break;
+ case 10 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3654:6: ( ruleIfExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3654:6: ( ruleIfExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3655:1: ruleIfExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getIfExpCSParserRuleCall_9());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleIfExpCS_in_rule__PrimaryExpCS__Alternatives7988);
+ ruleIfExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getIfExpCSParserRuleCall_9());
+ }
+
+ }
+
+
+ }
+ break;
+ case 11 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3660:6: ( ruleNestedExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3660:6: ( ruleNestedExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3661:1: ruleNestedExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getNestedExpCSParserRuleCall_10());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNestedExpCS_in_rule__PrimaryExpCS__Alternatives8005);
+ ruleNestedExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getNestedExpCSParserRuleCall_10());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Alternatives"
+
+
+ // $ANTLR start "rule__PrimaryExpOrLetExpCS__Alternatives"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3671:1: rule__PrimaryExpOrLetExpCS__Alternatives : ( ( rulePrimaryExpCS ) | ( ruleLetExpCS ) );
+ public final void rule__PrimaryExpOrLetExpCS__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3675:1: ( ( rulePrimaryExpCS ) | ( ruleLetExpCS ) )
+ int alt35=2;
+ int LA35_0 = input.LA(1);
+
+ if ( ((LA35_0>=RULE_INT && LA35_0<=RULE_ESCAPED_ID)||(LA35_0>=18 && LA35_0<=37)||(LA35_0>=54 && LA35_0<=67)||LA35_0==69||(LA35_0>=81 && LA35_0<=82)||LA35_0==84||(LA35_0>=90 && LA35_0<=92)) ) {
+ alt35=1;
+ }
+ else if ( (LA35_0==88) ) {
+ alt35=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 35, 0, input);
+
+ throw nvae;
+ }
+ switch (alt35) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3676:1: ( rulePrimaryExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3676:1: ( rulePrimaryExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3677:1: rulePrimaryExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpOrLetExpCSAccess().getPrimaryExpCSParserRuleCall_0());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_rule__PrimaryExpOrLetExpCS__Alternatives8037);
+ rulePrimaryExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpOrLetExpCSAccess().getPrimaryExpCSParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3682:6: ( ruleLetExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3682:6: ( ruleLetExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3683:1: ruleLetExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpOrLetExpCSAccess().getLetExpCSParserRuleCall_1());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleLetExpCS_in_rule__PrimaryExpOrLetExpCS__Alternatives8054);
+ ruleLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpOrLetExpCSAccess().getLetExpCSParserRuleCall_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpOrLetExpCS__Alternatives"
+
+
+ // $ANTLR start "rule__TopLevelCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3695:1: rule__TopLevelCS__Group__0 : rule__TopLevelCS__Group__0__Impl rule__TopLevelCS__Group__1 ;
+ public final void rule__TopLevelCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3699:1: ( rule__TopLevelCS__Group__0__Impl rule__TopLevelCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3700:2: rule__TopLevelCS__Group__0__Impl rule__TopLevelCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__0__Impl_in_rule__TopLevelCS__Group__08084);
+ rule__TopLevelCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__1_in_rule__TopLevelCS__Group__08087);
+ rule__TopLevelCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TopLevelCS__Group__0"
+
+
+ // $ANTLR start "rule__TopLevelCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3707:1: rule__TopLevelCS__Group__0__Impl : ( ( rule__TopLevelCS__Group_0__0 )* ) ;
+ public final void rule__TopLevelCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3711:1: ( ( ( rule__TopLevelCS__Group_0__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3712:1: ( ( rule__TopLevelCS__Group_0__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3712:1: ( ( rule__TopLevelCS__Group_0__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3713:1: ( rule__TopLevelCS__Group_0__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTopLevelCSAccess().getGroup_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3714:1: ( rule__TopLevelCS__Group_0__0 )*
+ loop36:
+ do {
+ int alt36=2;
+ int LA36_0 = input.LA(1);
+
+ if ( (LA36_0==24) ) {
+ alt36=1;
+ }
+
+
+ switch (alt36) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3714:2: rule__TopLevelCS__Group_0__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group_0__0_in_rule__TopLevelCS__Group__0__Impl8114);
+ rule__TopLevelCS__Group_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop36;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTopLevelCSAccess().getGroup_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TopLevelCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__TopLevelCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3724:1: rule__TopLevelCS__Group__1 : rule__TopLevelCS__Group__1__Impl ;
+ public final void rule__TopLevelCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3728:1: ( rule__TopLevelCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3729:2: rule__TopLevelCS__Group__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__1__Impl_in_rule__TopLevelCS__Group__18145);
+ rule__TopLevelCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TopLevelCS__Group__1"
+
+
+ // $ANTLR start "rule__TopLevelCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3735:1: rule__TopLevelCS__Group__1__Impl : ( ( rule__TopLevelCS__TransformationAssignment_1 )* ) ;
+ public final void rule__TopLevelCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3739:1: ( ( ( rule__TopLevelCS__TransformationAssignment_1 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3740:1: ( ( rule__TopLevelCS__TransformationAssignment_1 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3740:1: ( ( rule__TopLevelCS__TransformationAssignment_1 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3741:1: ( rule__TopLevelCS__TransformationAssignment_1 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTopLevelCSAccess().getTransformationAssignment_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3742:1: ( rule__TopLevelCS__TransformationAssignment_1 )*
+ loop37:
+ do {
+ int alt37=2;
+ int LA37_0 = input.LA(1);
+
+ if ( (LA37_0==32) ) {
+ alt37=1;
+ }
+
+
+ switch (alt37) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3742:2: rule__TopLevelCS__TransformationAssignment_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__TransformationAssignment_1_in_rule__TopLevelCS__Group__1__Impl8172);
+ rule__TopLevelCS__TransformationAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop37;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTopLevelCSAccess().getTransformationAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TopLevelCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__TopLevelCS__Group_0__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3756:1: rule__TopLevelCS__Group_0__0 : rule__TopLevelCS__Group_0__0__Impl rule__TopLevelCS__Group_0__1 ;
+ public final void rule__TopLevelCS__Group_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3760:1: ( rule__TopLevelCS__Group_0__0__Impl rule__TopLevelCS__Group_0__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3761:2: rule__TopLevelCS__Group_0__0__Impl rule__TopLevelCS__Group_0__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group_0__0__Impl_in_rule__TopLevelCS__Group_0__08207);
+ rule__TopLevelCS__Group_0__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group_0__1_in_rule__TopLevelCS__Group_0__08210);
+ rule__TopLevelCS__Group_0__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TopLevelCS__Group_0__0"
+
+
+ // $ANTLR start "rule__TopLevelCS__Group_0__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3768:1: rule__TopLevelCS__Group_0__0__Impl : ( 'import' ) ;
+ public final void rule__TopLevelCS__Group_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3772:1: ( ( 'import' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3773:1: ( 'import' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3773:1: ( 'import' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3774:1: 'import'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTopLevelCSAccess().getImportKeyword_0_0());
+ }
+ match(input,24,FollowSets000.FOLLOW_24_in_rule__TopLevelCS__Group_0__0__Impl8238); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTopLevelCSAccess().getImportKeyword_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TopLevelCS__Group_0__0__Impl"
+
+
+ // $ANTLR start "rule__TopLevelCS__Group_0__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3787:1: rule__TopLevelCS__Group_0__1 : rule__TopLevelCS__Group_0__1__Impl rule__TopLevelCS__Group_0__2 ;
+ public final void rule__TopLevelCS__Group_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3791:1: ( rule__TopLevelCS__Group_0__1__Impl rule__TopLevelCS__Group_0__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3792:2: rule__TopLevelCS__Group_0__1__Impl rule__TopLevelCS__Group_0__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group_0__1__Impl_in_rule__TopLevelCS__Group_0__18269);
+ rule__TopLevelCS__Group_0__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group_0__2_in_rule__TopLevelCS__Group_0__18272);
+ rule__TopLevelCS__Group_0__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TopLevelCS__Group_0__1"
+
+
+ // $ANTLR start "rule__TopLevelCS__Group_0__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3799:1: rule__TopLevelCS__Group_0__1__Impl : ( ( rule__TopLevelCS__ImportClauseAssignment_0_1 ) ) ;
+ public final void rule__TopLevelCS__Group_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3803:1: ( ( ( rule__TopLevelCS__ImportClauseAssignment_0_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3804:1: ( ( rule__TopLevelCS__ImportClauseAssignment_0_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3804:1: ( ( rule__TopLevelCS__ImportClauseAssignment_0_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3805:1: ( rule__TopLevelCS__ImportClauseAssignment_0_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTopLevelCSAccess().getImportClauseAssignment_0_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3806:1: ( rule__TopLevelCS__ImportClauseAssignment_0_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3806:2: rule__TopLevelCS__ImportClauseAssignment_0_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__ImportClauseAssignment_0_1_in_rule__TopLevelCS__Group_0__1__Impl8299);
+ rule__TopLevelCS__ImportClauseAssignment_0_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTopLevelCSAccess().getImportClauseAssignment_0_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TopLevelCS__Group_0__1__Impl"
+
+
+ // $ANTLR start "rule__TopLevelCS__Group_0__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3816:1: rule__TopLevelCS__Group_0__2 : rule__TopLevelCS__Group_0__2__Impl ;
+ public final void rule__TopLevelCS__Group_0__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3820:1: ( rule__TopLevelCS__Group_0__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3821:2: rule__TopLevelCS__Group_0__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group_0__2__Impl_in_rule__TopLevelCS__Group_0__28329);
+ rule__TopLevelCS__Group_0__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TopLevelCS__Group_0__2"
+
+
+ // $ANTLR start "rule__TopLevelCS__Group_0__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3827:1: rule__TopLevelCS__Group_0__2__Impl : ( ';' ) ;
+ public final void rule__TopLevelCS__Group_0__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3831:1: ( ( ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3832:1: ( ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3832:1: ( ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3833:1: ';'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTopLevelCSAccess().getSemicolonKeyword_0_2());
+ }
+ match(input,17,FollowSets000.FOLLOW_17_in_rule__TopLevelCS__Group_0__2__Impl8357); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTopLevelCSAccess().getSemicolonKeyword_0_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TopLevelCS__Group_0__2__Impl"
+
+
+ // $ANTLR start "rule__UnitCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3852:1: rule__UnitCS__Group__0 : rule__UnitCS__Group__0__Impl rule__UnitCS__Group__1 ;
+ public final void rule__UnitCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3856:1: ( rule__UnitCS__Group__0__Impl rule__UnitCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3857:2: rule__UnitCS__Group__0__Impl rule__UnitCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__UnitCS__Group__0__Impl_in_rule__UnitCS__Group__08394);
+ rule__UnitCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__UnitCS__Group__1_in_rule__UnitCS__Group__08397);
+ rule__UnitCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnitCS__Group__0"
+
+
+ // $ANTLR start "rule__UnitCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3864:1: rule__UnitCS__Group__0__Impl : ( ( rule__UnitCS__IdentifierAssignment_0 ) ) ;
+ public final void rule__UnitCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3868:1: ( ( ( rule__UnitCS__IdentifierAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3869:1: ( ( rule__UnitCS__IdentifierAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3869:1: ( ( rule__UnitCS__IdentifierAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3870:1: ( rule__UnitCS__IdentifierAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnitCSAccess().getIdentifierAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3871:1: ( rule__UnitCS__IdentifierAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3871:2: rule__UnitCS__IdentifierAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__UnitCS__IdentifierAssignment_0_in_rule__UnitCS__Group__0__Impl8424);
+ rule__UnitCS__IdentifierAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnitCSAccess().getIdentifierAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnitCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__UnitCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3881:1: rule__UnitCS__Group__1 : rule__UnitCS__Group__1__Impl ;
+ public final void rule__UnitCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3885:1: ( rule__UnitCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3886:2: rule__UnitCS__Group__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__UnitCS__Group__1__Impl_in_rule__UnitCS__Group__18454);
+ rule__UnitCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnitCS__Group__1"
+
+
+ // $ANTLR start "rule__UnitCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3892:1: rule__UnitCS__Group__1__Impl : ( ( rule__UnitCS__Group_1__0 )* ) ;
+ public final void rule__UnitCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3896:1: ( ( ( rule__UnitCS__Group_1__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3897:1: ( ( rule__UnitCS__Group_1__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3897:1: ( ( rule__UnitCS__Group_1__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3898:1: ( rule__UnitCS__Group_1__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnitCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3899:1: ( rule__UnitCS__Group_1__0 )*
+ loop38:
+ do {
+ int alt38=2;
+ int LA38_0 = input.LA(1);
+
+ if ( (LA38_0==52) ) {
+ alt38=1;
+ }
+
+
+ switch (alt38) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3899:2: rule__UnitCS__Group_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__UnitCS__Group_1__0_in_rule__UnitCS__Group__1__Impl8481);
+ rule__UnitCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop38;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnitCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnitCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__UnitCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3913:1: rule__UnitCS__Group_1__0 : rule__UnitCS__Group_1__0__Impl rule__UnitCS__Group_1__1 ;
+ public final void rule__UnitCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3917:1: ( rule__UnitCS__Group_1__0__Impl rule__UnitCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3918:2: rule__UnitCS__Group_1__0__Impl rule__UnitCS__Group_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__UnitCS__Group_1__0__Impl_in_rule__UnitCS__Group_1__08516);
+ rule__UnitCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__UnitCS__Group_1__1_in_rule__UnitCS__Group_1__08519);
+ rule__UnitCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnitCS__Group_1__0"
+
+
+ // $ANTLR start "rule__UnitCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3925:1: rule__UnitCS__Group_1__0__Impl : ( '.' ) ;
+ public final void rule__UnitCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3929:1: ( ( '.' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3930:1: ( '.' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3930:1: ( '.' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3931:1: '.'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnitCSAccess().getFullStopKeyword_1_0());
+ }
+ match(input,52,FollowSets000.FOLLOW_52_in_rule__UnitCS__Group_1__0__Impl8547); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnitCSAccess().getFullStopKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnitCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__UnitCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3944:1: rule__UnitCS__Group_1__1 : rule__UnitCS__Group_1__1__Impl ;
+ public final void rule__UnitCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3948:1: ( rule__UnitCS__Group_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3949:2: rule__UnitCS__Group_1__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__UnitCS__Group_1__1__Impl_in_rule__UnitCS__Group_1__18578);
+ rule__UnitCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnitCS__Group_1__1"
+
+
+ // $ANTLR start "rule__UnitCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3955:1: rule__UnitCS__Group_1__1__Impl : ( ( rule__UnitCS__IdentifierAssignment_1_1 ) ) ;
+ public final void rule__UnitCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3959:1: ( ( ( rule__UnitCS__IdentifierAssignment_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3960:1: ( ( rule__UnitCS__IdentifierAssignment_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3960:1: ( ( rule__UnitCS__IdentifierAssignment_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3961:1: ( rule__UnitCS__IdentifierAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnitCSAccess().getIdentifierAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3962:1: ( rule__UnitCS__IdentifierAssignment_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3962:2: rule__UnitCS__IdentifierAssignment_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__UnitCS__IdentifierAssignment_1_1_in_rule__UnitCS__Group_1__1__Impl8605);
+ rule__UnitCS__IdentifierAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnitCSAccess().getIdentifierAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnitCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3976:1: rule__TransformationCS__Group__0 : rule__TransformationCS__Group__0__Impl rule__TransformationCS__Group__1 ;
+ public final void rule__TransformationCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3980:1: ( rule__TransformationCS__Group__0__Impl rule__TransformationCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3981:2: rule__TransformationCS__Group__0__Impl rule__TransformationCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__0__Impl_in_rule__TransformationCS__Group__08639);
+ rule__TransformationCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__1_in_rule__TransformationCS__Group__08642);
+ rule__TransformationCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__0"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3988:1: rule__TransformationCS__Group__0__Impl : ( 'transformation' ) ;
+ public final void rule__TransformationCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3992:1: ( ( 'transformation' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3993:1: ( 'transformation' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3993:1: ( 'transformation' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3994:1: 'transformation'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getTransformationKeyword_0());
+ }
+ match(input,32,FollowSets000.FOLLOW_32_in_rule__TransformationCS__Group__0__Impl8670); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getTransformationKeyword_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4007:1: rule__TransformationCS__Group__1 : rule__TransformationCS__Group__1__Impl rule__TransformationCS__Group__2 ;
+ public final void rule__TransformationCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4011:1: ( rule__TransformationCS__Group__1__Impl rule__TransformationCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4012:2: rule__TransformationCS__Group__1__Impl rule__TransformationCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__1__Impl_in_rule__TransformationCS__Group__18701);
+ rule__TransformationCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__2_in_rule__TransformationCS__Group__18704);
+ rule__TransformationCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__1"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4019:1: rule__TransformationCS__Group__1__Impl : ( ( rule__TransformationCS__NameAssignment_1 ) ) ;
+ public final void rule__TransformationCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4023:1: ( ( ( rule__TransformationCS__NameAssignment_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4024:1: ( ( rule__TransformationCS__NameAssignment_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4024:1: ( ( rule__TransformationCS__NameAssignment_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4025:1: ( rule__TransformationCS__NameAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getNameAssignment_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4026:1: ( rule__TransformationCS__NameAssignment_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4026:2: rule__TransformationCS__NameAssignment_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__NameAssignment_1_in_rule__TransformationCS__Group__1__Impl8731);
+ rule__TransformationCS__NameAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getNameAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4036:1: rule__TransformationCS__Group__2 : rule__TransformationCS__Group__2__Impl rule__TransformationCS__Group__3 ;
+ public final void rule__TransformationCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4040:1: ( rule__TransformationCS__Group__2__Impl rule__TransformationCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4041:2: rule__TransformationCS__Group__2__Impl rule__TransformationCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__2__Impl_in_rule__TransformationCS__Group__28761);
+ rule__TransformationCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__3_in_rule__TransformationCS__Group__28764);
+ rule__TransformationCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__2"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4048:1: rule__TransformationCS__Group__2__Impl : ( '(' ) ;
+ public final void rule__TransformationCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4052:1: ( ( '(' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4053:1: ( '(' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4053:1: ( '(' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4054:1: '('
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getLeftParenthesisKeyword_2());
+ }
+ match(input,69,FollowSets000.FOLLOW_69_in_rule__TransformationCS__Group__2__Impl8792); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getLeftParenthesisKeyword_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4067:1: rule__TransformationCS__Group__3 : rule__TransformationCS__Group__3__Impl rule__TransformationCS__Group__4 ;
+ public final void rule__TransformationCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4071:1: ( rule__TransformationCS__Group__3__Impl rule__TransformationCS__Group__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4072:2: rule__TransformationCS__Group__3__Impl rule__TransformationCS__Group__4
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__3__Impl_in_rule__TransformationCS__Group__38823);
+ rule__TransformationCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__4_in_rule__TransformationCS__Group__38826);
+ rule__TransformationCS__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__3"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4079:1: rule__TransformationCS__Group__3__Impl : ( ( rule__TransformationCS__ModelDeclAssignment_3 ) ) ;
+ public final void rule__TransformationCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4083:1: ( ( ( rule__TransformationCS__ModelDeclAssignment_3 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4084:1: ( ( rule__TransformationCS__ModelDeclAssignment_3 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4084:1: ( ( rule__TransformationCS__ModelDeclAssignment_3 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4085:1: ( rule__TransformationCS__ModelDeclAssignment_3 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getModelDeclAssignment_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4086:1: ( rule__TransformationCS__ModelDeclAssignment_3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4086:2: rule__TransformationCS__ModelDeclAssignment_3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__ModelDeclAssignment_3_in_rule__TransformationCS__Group__3__Impl8853);
+ rule__TransformationCS__ModelDeclAssignment_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getModelDeclAssignment_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4096:1: rule__TransformationCS__Group__4 : rule__TransformationCS__Group__4__Impl rule__TransformationCS__Group__5 ;
+ public final void rule__TransformationCS__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4100:1: ( rule__TransformationCS__Group__4__Impl rule__TransformationCS__Group__5 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4101:2: rule__TransformationCS__Group__4__Impl rule__TransformationCS__Group__5
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__4__Impl_in_rule__TransformationCS__Group__48883);
+ rule__TransformationCS__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__5_in_rule__TransformationCS__Group__48886);
+ rule__TransformationCS__Group__5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__4"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4108:1: rule__TransformationCS__Group__4__Impl : ( ( rule__TransformationCS__Group_4__0 )* ) ;
+ public final void rule__TransformationCS__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4112:1: ( ( ( rule__TransformationCS__Group_4__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4113:1: ( ( rule__TransformationCS__Group_4__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4113:1: ( ( rule__TransformationCS__Group_4__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4114:1: ( rule__TransformationCS__Group_4__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getGroup_4());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4115:1: ( rule__TransformationCS__Group_4__0 )*
+ loop39:
+ do {
+ int alt39=2;
+ int LA39_0 = input.LA(1);
+
+ if ( (LA39_0==73) ) {
+ alt39=1;
+ }
+
+
+ switch (alt39) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4115:2: rule__TransformationCS__Group_4__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group_4__0_in_rule__TransformationCS__Group__4__Impl8913);
+ rule__TransformationCS__Group_4__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop39;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getGroup_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__4__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__5"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4125:1: rule__TransformationCS__Group__5 : rule__TransformationCS__Group__5__Impl rule__TransformationCS__Group__6 ;
+ public final void rule__TransformationCS__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4129:1: ( rule__TransformationCS__Group__5__Impl rule__TransformationCS__Group__6 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4130:2: rule__TransformationCS__Group__5__Impl rule__TransformationCS__Group__6
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__5__Impl_in_rule__TransformationCS__Group__58944);
+ rule__TransformationCS__Group__5__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__6_in_rule__TransformationCS__Group__58947);
+ rule__TransformationCS__Group__6();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__5"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__5__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4137:1: rule__TransformationCS__Group__5__Impl : ( ')' ) ;
+ public final void rule__TransformationCS__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4141:1: ( ( ')' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4142:1: ( ')' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4142:1: ( ')' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4143:1: ')'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getRightParenthesisKeyword_5());
+ }
+ match(input,70,FollowSets000.FOLLOW_70_in_rule__TransformationCS__Group__5__Impl8975); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getRightParenthesisKeyword_5());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__5__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__6"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4156:1: rule__TransformationCS__Group__6 : rule__TransformationCS__Group__6__Impl rule__TransformationCS__Group__7 ;
+ public final void rule__TransformationCS__Group__6() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4160:1: ( rule__TransformationCS__Group__6__Impl rule__TransformationCS__Group__7 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4161:2: rule__TransformationCS__Group__6__Impl rule__TransformationCS__Group__7
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__6__Impl_in_rule__TransformationCS__Group__69006);
+ rule__TransformationCS__Group__6__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__7_in_rule__TransformationCS__Group__69009);
+ rule__TransformationCS__Group__7();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__6"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__6__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4168:1: rule__TransformationCS__Group__6__Impl : ( ( rule__TransformationCS__Group_6__0 )? ) ;
+ public final void rule__TransformationCS__Group__6__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4172:1: ( ( ( rule__TransformationCS__Group_6__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4173:1: ( ( rule__TransformationCS__Group_6__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4173:1: ( ( rule__TransformationCS__Group_6__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4174:1: ( rule__TransformationCS__Group_6__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getGroup_6());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4175:1: ( rule__TransformationCS__Group_6__0 )?
+ int alt40=2;
+ int LA40_0 = input.LA(1);
+
+ if ( (LA40_0==22) ) {
+ alt40=1;
+ }
+ switch (alt40) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4175:2: rule__TransformationCS__Group_6__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group_6__0_in_rule__TransformationCS__Group__6__Impl9036);
+ rule__TransformationCS__Group_6__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getGroup_6());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__6__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__7"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4185:1: rule__TransformationCS__Group__7 : rule__TransformationCS__Group__7__Impl rule__TransformationCS__Group__8 ;
+ public final void rule__TransformationCS__Group__7() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4189:1: ( rule__TransformationCS__Group__7__Impl rule__TransformationCS__Group__8 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4190:2: rule__TransformationCS__Group__7__Impl rule__TransformationCS__Group__8
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__7__Impl_in_rule__TransformationCS__Group__79067);
+ rule__TransformationCS__Group__7__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__8_in_rule__TransformationCS__Group__79070);
+ rule__TransformationCS__Group__8();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__7"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__7__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4197:1: rule__TransformationCS__Group__7__Impl : ( '{' ) ;
+ public final void rule__TransformationCS__Group__7__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4201:1: ( ( '{' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4202:1: ( '{' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4202:1: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4203:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getLeftCurlyBracketKeyword_7());
+ }
+ match(input,71,FollowSets000.FOLLOW_71_in_rule__TransformationCS__Group__7__Impl9098); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getLeftCurlyBracketKeyword_7());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__7__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__8"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4216:1: rule__TransformationCS__Group__8 : rule__TransformationCS__Group__8__Impl rule__TransformationCS__Group__9 ;
+ public final void rule__TransformationCS__Group__8() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4220:1: ( rule__TransformationCS__Group__8__Impl rule__TransformationCS__Group__9 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4221:2: rule__TransformationCS__Group__8__Impl rule__TransformationCS__Group__9
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__8__Impl_in_rule__TransformationCS__Group__89129);
+ rule__TransformationCS__Group__8__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__9_in_rule__TransformationCS__Group__89132);
+ rule__TransformationCS__Group__9();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__8"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__8__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4228:1: rule__TransformationCS__Group__8__Impl : ( ( rule__TransformationCS__KeyDeclAssignment_8 )* ) ;
+ public final void rule__TransformationCS__Group__8__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4232:1: ( ( ( rule__TransformationCS__KeyDeclAssignment_8 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4233:1: ( ( rule__TransformationCS__KeyDeclAssignment_8 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4233:1: ( ( rule__TransformationCS__KeyDeclAssignment_8 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4234:1: ( rule__TransformationCS__KeyDeclAssignment_8 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getKeyDeclAssignment_8());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4235:1: ( rule__TransformationCS__KeyDeclAssignment_8 )*
+ loop41:
+ do {
+ int alt41=2;
+ int LA41_0 = input.LA(1);
+
+ if ( (LA41_0==25) ) {
+ alt41=1;
+ }
+
+
+ switch (alt41) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4235:2: rule__TransformationCS__KeyDeclAssignment_8
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__KeyDeclAssignment_8_in_rule__TransformationCS__Group__8__Impl9159);
+ rule__TransformationCS__KeyDeclAssignment_8();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop41;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getKeyDeclAssignment_8());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__8__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__9"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4245:1: rule__TransformationCS__Group__9 : rule__TransformationCS__Group__9__Impl rule__TransformationCS__Group__10 ;
+ public final void rule__TransformationCS__Group__9() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4249:1: ( rule__TransformationCS__Group__9__Impl rule__TransformationCS__Group__10 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4250:2: rule__TransformationCS__Group__9__Impl rule__TransformationCS__Group__10
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__9__Impl_in_rule__TransformationCS__Group__99190);
+ rule__TransformationCS__Group__9__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__10_in_rule__TransformationCS__Group__99193);
+ rule__TransformationCS__Group__10();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__9"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__9__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4257:1: rule__TransformationCS__Group__9__Impl : ( ( rule__TransformationCS__Alternatives_9 )* ) ;
+ public final void rule__TransformationCS__Group__9__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4261:1: ( ( ( rule__TransformationCS__Alternatives_9 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4262:1: ( ( rule__TransformationCS__Alternatives_9 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4262:1: ( ( rule__TransformationCS__Alternatives_9 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4263:1: ( rule__TransformationCS__Alternatives_9 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getAlternatives_9());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4264:1: ( rule__TransformationCS__Alternatives_9 )*
+ loop42:
+ do {
+ int alt42=2;
+ int LA42_0 = input.LA(1);
+
+ if ( ((LA42_0>=28 && LA42_0<=29)||LA42_0==31) ) {
+ alt42=1;
+ }
+
+
+ switch (alt42) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4264:2: rule__TransformationCS__Alternatives_9
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Alternatives_9_in_rule__TransformationCS__Group__9__Impl9220);
+ rule__TransformationCS__Alternatives_9();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop42;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getAlternatives_9());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__9__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__10"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4274:1: rule__TransformationCS__Group__10 : rule__TransformationCS__Group__10__Impl ;
+ public final void rule__TransformationCS__Group__10() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4278:1: ( rule__TransformationCS__Group__10__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4279:2: rule__TransformationCS__Group__10__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group__10__Impl_in_rule__TransformationCS__Group__109251);
+ rule__TransformationCS__Group__10__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__10"
+
+
+ // $ANTLR start "rule__TransformationCS__Group__10__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4285:1: rule__TransformationCS__Group__10__Impl : ( '}' ) ;
+ public final void rule__TransformationCS__Group__10__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4289:1: ( ( '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4290:1: ( '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4290:1: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4291:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getRightCurlyBracketKeyword_10());
+ }
+ match(input,72,FollowSets000.FOLLOW_72_in_rule__TransformationCS__Group__10__Impl9279); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getRightCurlyBracketKeyword_10());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group__10__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group_4__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4326:1: rule__TransformationCS__Group_4__0 : rule__TransformationCS__Group_4__0__Impl rule__TransformationCS__Group_4__1 ;
+ public final void rule__TransformationCS__Group_4__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4330:1: ( rule__TransformationCS__Group_4__0__Impl rule__TransformationCS__Group_4__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4331:2: rule__TransformationCS__Group_4__0__Impl rule__TransformationCS__Group_4__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group_4__0__Impl_in_rule__TransformationCS__Group_4__09332);
+ rule__TransformationCS__Group_4__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group_4__1_in_rule__TransformationCS__Group_4__09335);
+ rule__TransformationCS__Group_4__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group_4__0"
+
+
+ // $ANTLR start "rule__TransformationCS__Group_4__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4338:1: rule__TransformationCS__Group_4__0__Impl : ( ',' ) ;
+ public final void rule__TransformationCS__Group_4__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4342:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4343:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4343:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4344:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getCommaKeyword_4_0());
+ }
+ match(input,73,FollowSets000.FOLLOW_73_in_rule__TransformationCS__Group_4__0__Impl9363); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getCommaKeyword_4_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group_4__0__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group_4__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4357:1: rule__TransformationCS__Group_4__1 : rule__TransformationCS__Group_4__1__Impl ;
+ public final void rule__TransformationCS__Group_4__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4361:1: ( rule__TransformationCS__Group_4__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4362:2: rule__TransformationCS__Group_4__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group_4__1__Impl_in_rule__TransformationCS__Group_4__19394);
+ rule__TransformationCS__Group_4__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group_4__1"
+
+
+ // $ANTLR start "rule__TransformationCS__Group_4__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4368:1: rule__TransformationCS__Group_4__1__Impl : ( ( rule__TransformationCS__ModelDeclAssignment_4_1 ) ) ;
+ public final void rule__TransformationCS__Group_4__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4372:1: ( ( ( rule__TransformationCS__ModelDeclAssignment_4_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4373:1: ( ( rule__TransformationCS__ModelDeclAssignment_4_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4373:1: ( ( rule__TransformationCS__ModelDeclAssignment_4_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4374:1: ( rule__TransformationCS__ModelDeclAssignment_4_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getModelDeclAssignment_4_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4375:1: ( rule__TransformationCS__ModelDeclAssignment_4_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4375:2: rule__TransformationCS__ModelDeclAssignment_4_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__ModelDeclAssignment_4_1_in_rule__TransformationCS__Group_4__1__Impl9421);
+ rule__TransformationCS__ModelDeclAssignment_4_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getModelDeclAssignment_4_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group_4__1__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group_6__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4389:1: rule__TransformationCS__Group_6__0 : rule__TransformationCS__Group_6__0__Impl rule__TransformationCS__Group_6__1 ;
+ public final void rule__TransformationCS__Group_6__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4393:1: ( rule__TransformationCS__Group_6__0__Impl rule__TransformationCS__Group_6__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4394:2: rule__TransformationCS__Group_6__0__Impl rule__TransformationCS__Group_6__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group_6__0__Impl_in_rule__TransformationCS__Group_6__09455);
+ rule__TransformationCS__Group_6__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group_6__1_in_rule__TransformationCS__Group_6__09458);
+ rule__TransformationCS__Group_6__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group_6__0"
+
+
+ // $ANTLR start "rule__TransformationCS__Group_6__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4401:1: rule__TransformationCS__Group_6__0__Impl : ( 'extends' ) ;
+ public final void rule__TransformationCS__Group_6__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4405:1: ( ( 'extends' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4406:1: ( 'extends' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4406:1: ( 'extends' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4407:1: 'extends'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getExtendsKeyword_6_0());
+ }
+ match(input,22,FollowSets000.FOLLOW_22_in_rule__TransformationCS__Group_6__0__Impl9486); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getExtendsKeyword_6_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group_6__0__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group_6__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4420:1: rule__TransformationCS__Group_6__1 : rule__TransformationCS__Group_6__1__Impl rule__TransformationCS__Group_6__2 ;
+ public final void rule__TransformationCS__Group_6__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4424:1: ( rule__TransformationCS__Group_6__1__Impl rule__TransformationCS__Group_6__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4425:2: rule__TransformationCS__Group_6__1__Impl rule__TransformationCS__Group_6__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group_6__1__Impl_in_rule__TransformationCS__Group_6__19517);
+ rule__TransformationCS__Group_6__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group_6__2_in_rule__TransformationCS__Group_6__19520);
+ rule__TransformationCS__Group_6__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group_6__1"
+
+
+ // $ANTLR start "rule__TransformationCS__Group_6__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4432:1: rule__TransformationCS__Group_6__1__Impl : ( ( rule__TransformationCS__ExtendsAssignment_6_1 ) ) ;
+ public final void rule__TransformationCS__Group_6__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4436:1: ( ( ( rule__TransformationCS__ExtendsAssignment_6_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4437:1: ( ( rule__TransformationCS__ExtendsAssignment_6_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4437:1: ( ( rule__TransformationCS__ExtendsAssignment_6_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4438:1: ( rule__TransformationCS__ExtendsAssignment_6_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getExtendsAssignment_6_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4439:1: ( rule__TransformationCS__ExtendsAssignment_6_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4439:2: rule__TransformationCS__ExtendsAssignment_6_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__ExtendsAssignment_6_1_in_rule__TransformationCS__Group_6__1__Impl9547);
+ rule__TransformationCS__ExtendsAssignment_6_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getExtendsAssignment_6_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group_6__1__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group_6__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4449:1: rule__TransformationCS__Group_6__2 : rule__TransformationCS__Group_6__2__Impl ;
+ public final void rule__TransformationCS__Group_6__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4453:1: ( rule__TransformationCS__Group_6__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4454:2: rule__TransformationCS__Group_6__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group_6__2__Impl_in_rule__TransformationCS__Group_6__29577);
+ rule__TransformationCS__Group_6__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group_6__2"
+
+
+ // $ANTLR start "rule__TransformationCS__Group_6__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4460:1: rule__TransformationCS__Group_6__2__Impl : ( ( rule__TransformationCS__Group_6_2__0 )* ) ;
+ public final void rule__TransformationCS__Group_6__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4464:1: ( ( ( rule__TransformationCS__Group_6_2__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4465:1: ( ( rule__TransformationCS__Group_6_2__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4465:1: ( ( rule__TransformationCS__Group_6_2__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4466:1: ( rule__TransformationCS__Group_6_2__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getGroup_6_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4467:1: ( rule__TransformationCS__Group_6_2__0 )*
+ loop43:
+ do {
+ int alt43=2;
+ int LA43_0 = input.LA(1);
+
+ if ( (LA43_0==73) ) {
+ alt43=1;
+ }
+
+
+ switch (alt43) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4467:2: rule__TransformationCS__Group_6_2__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group_6_2__0_in_rule__TransformationCS__Group_6__2__Impl9604);
+ rule__TransformationCS__Group_6_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop43;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getGroup_6_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group_6__2__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group_6_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4483:1: rule__TransformationCS__Group_6_2__0 : rule__TransformationCS__Group_6_2__0__Impl rule__TransformationCS__Group_6_2__1 ;
+ public final void rule__TransformationCS__Group_6_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4487:1: ( rule__TransformationCS__Group_6_2__0__Impl rule__TransformationCS__Group_6_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4488:2: rule__TransformationCS__Group_6_2__0__Impl rule__TransformationCS__Group_6_2__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group_6_2__0__Impl_in_rule__TransformationCS__Group_6_2__09641);
+ rule__TransformationCS__Group_6_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group_6_2__1_in_rule__TransformationCS__Group_6_2__09644);
+ rule__TransformationCS__Group_6_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group_6_2__0"
+
+
+ // $ANTLR start "rule__TransformationCS__Group_6_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4495:1: rule__TransformationCS__Group_6_2__0__Impl : ( ',' ) ;
+ public final void rule__TransformationCS__Group_6_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4499:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4500:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4500:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4501:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getCommaKeyword_6_2_0());
+ }
+ match(input,73,FollowSets000.FOLLOW_73_in_rule__TransformationCS__Group_6_2__0__Impl9672); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getCommaKeyword_6_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group_6_2__0__Impl"
+
+
+ // $ANTLR start "rule__TransformationCS__Group_6_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4514:1: rule__TransformationCS__Group_6_2__1 : rule__TransformationCS__Group_6_2__1__Impl ;
+ public final void rule__TransformationCS__Group_6_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4518:1: ( rule__TransformationCS__Group_6_2__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4519:2: rule__TransformationCS__Group_6_2__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__Group_6_2__1__Impl_in_rule__TransformationCS__Group_6_2__19703);
+ rule__TransformationCS__Group_6_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group_6_2__1"
+
+
+ // $ANTLR start "rule__TransformationCS__Group_6_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4525:1: rule__TransformationCS__Group_6_2__1__Impl : ( ( rule__TransformationCS__ExtendsAssignment_6_2_1 ) ) ;
+ public final void rule__TransformationCS__Group_6_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4529:1: ( ( ( rule__TransformationCS__ExtendsAssignment_6_2_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4530:1: ( ( rule__TransformationCS__ExtendsAssignment_6_2_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4530:1: ( ( rule__TransformationCS__ExtendsAssignment_6_2_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4531:1: ( rule__TransformationCS__ExtendsAssignment_6_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getExtendsAssignment_6_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4532:1: ( rule__TransformationCS__ExtendsAssignment_6_2_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4532:2: rule__TransformationCS__ExtendsAssignment_6_2_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TransformationCS__ExtendsAssignment_6_2_1_in_rule__TransformationCS__Group_6_2__1__Impl9730);
+ rule__TransformationCS__ExtendsAssignment_6_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getExtendsAssignment_6_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__Group_6_2__1__Impl"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4546:1: rule__ModelDeclCS__Group__0 : rule__ModelDeclCS__Group__0__Impl rule__ModelDeclCS__Group__1 ;
+ public final void rule__ModelDeclCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4550:1: ( rule__ModelDeclCS__Group__0__Impl rule__ModelDeclCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4551:2: rule__ModelDeclCS__Group__0__Impl rule__ModelDeclCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group__0__Impl_in_rule__ModelDeclCS__Group__09764);
+ rule__ModelDeclCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group__1_in_rule__ModelDeclCS__Group__09767);
+ rule__ModelDeclCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group__0"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4558:1: rule__ModelDeclCS__Group__0__Impl : ( ( rule__ModelDeclCS__NameAssignment_0 ) ) ;
+ public final void rule__ModelDeclCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4562:1: ( ( ( rule__ModelDeclCS__NameAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4563:1: ( ( rule__ModelDeclCS__NameAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4563:1: ( ( rule__ModelDeclCS__NameAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4564:1: ( rule__ModelDeclCS__NameAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getNameAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4565:1: ( rule__ModelDeclCS__NameAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4565:2: rule__ModelDeclCS__NameAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__NameAssignment_0_in_rule__ModelDeclCS__Group__0__Impl9794);
+ rule__ModelDeclCS__NameAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getNameAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4575:1: rule__ModelDeclCS__Group__1 : rule__ModelDeclCS__Group__1__Impl rule__ModelDeclCS__Group__2 ;
+ public final void rule__ModelDeclCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4579:1: ( rule__ModelDeclCS__Group__1__Impl rule__ModelDeclCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4580:2: rule__ModelDeclCS__Group__1__Impl rule__ModelDeclCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group__1__Impl_in_rule__ModelDeclCS__Group__19824);
+ rule__ModelDeclCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group__2_in_rule__ModelDeclCS__Group__19827);
+ rule__ModelDeclCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group__1"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4587:1: rule__ModelDeclCS__Group__1__Impl : ( ':' ) ;
+ public final void rule__ModelDeclCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4591:1: ( ( ':' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4592:1: ( ':' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4592:1: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4593:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getColonKeyword_1());
+ }
+ match(input,74,FollowSets000.FOLLOW_74_in_rule__ModelDeclCS__Group__1__Impl9855); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getColonKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4606:1: rule__ModelDeclCS__Group__2 : rule__ModelDeclCS__Group__2__Impl ;
+ public final void rule__ModelDeclCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4610:1: ( rule__ModelDeclCS__Group__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4611:2: rule__ModelDeclCS__Group__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group__2__Impl_in_rule__ModelDeclCS__Group__29886);
+ rule__ModelDeclCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group__2"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4617:1: rule__ModelDeclCS__Group__2__Impl : ( ( rule__ModelDeclCS__Alternatives_2 ) ) ;
+ public final void rule__ModelDeclCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4621:1: ( ( ( rule__ModelDeclCS__Alternatives_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4622:1: ( ( rule__ModelDeclCS__Alternatives_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4622:1: ( ( rule__ModelDeclCS__Alternatives_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4623:1: ( rule__ModelDeclCS__Alternatives_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getAlternatives_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4624:1: ( rule__ModelDeclCS__Alternatives_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4624:2: rule__ModelDeclCS__Alternatives_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Alternatives_2_in_rule__ModelDeclCS__Group__2__Impl9913);
+ rule__ModelDeclCS__Alternatives_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getAlternatives_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group_2_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4640:1: rule__ModelDeclCS__Group_2_1__0 : rule__ModelDeclCS__Group_2_1__0__Impl rule__ModelDeclCS__Group_2_1__1 ;
+ public final void rule__ModelDeclCS__Group_2_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4644:1: ( rule__ModelDeclCS__Group_2_1__0__Impl rule__ModelDeclCS__Group_2_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4645:2: rule__ModelDeclCS__Group_2_1__0__Impl rule__ModelDeclCS__Group_2_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group_2_1__0__Impl_in_rule__ModelDeclCS__Group_2_1__09949);
+ rule__ModelDeclCS__Group_2_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group_2_1__1_in_rule__ModelDeclCS__Group_2_1__09952);
+ rule__ModelDeclCS__Group_2_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group_2_1__0"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group_2_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4652:1: rule__ModelDeclCS__Group_2_1__0__Impl : ( '{' ) ;
+ public final void rule__ModelDeclCS__Group_2_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4656:1: ( ( '{' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4657:1: ( '{' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4657:1: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4658:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getLeftCurlyBracketKeyword_2_1_0());
+ }
+ match(input,71,FollowSets000.FOLLOW_71_in_rule__ModelDeclCS__Group_2_1__0__Impl9980); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getLeftCurlyBracketKeyword_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group_2_1__0__Impl"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group_2_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4671:1: rule__ModelDeclCS__Group_2_1__1 : rule__ModelDeclCS__Group_2_1__1__Impl rule__ModelDeclCS__Group_2_1__2 ;
+ public final void rule__ModelDeclCS__Group_2_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4675:1: ( rule__ModelDeclCS__Group_2_1__1__Impl rule__ModelDeclCS__Group_2_1__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4676:2: rule__ModelDeclCS__Group_2_1__1__Impl rule__ModelDeclCS__Group_2_1__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group_2_1__1__Impl_in_rule__ModelDeclCS__Group_2_1__110011);
+ rule__ModelDeclCS__Group_2_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group_2_1__2_in_rule__ModelDeclCS__Group_2_1__110014);
+ rule__ModelDeclCS__Group_2_1__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group_2_1__1"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group_2_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4683:1: rule__ModelDeclCS__Group_2_1__1__Impl : ( ( rule__ModelDeclCS__MetaModelIdAssignment_2_1_1 ) ) ;
+ public final void rule__ModelDeclCS__Group_2_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4687:1: ( ( ( rule__ModelDeclCS__MetaModelIdAssignment_2_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4688:1: ( ( rule__ModelDeclCS__MetaModelIdAssignment_2_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4688:1: ( ( rule__ModelDeclCS__MetaModelIdAssignment_2_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4689:1: ( rule__ModelDeclCS__MetaModelIdAssignment_2_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4690:1: ( rule__ModelDeclCS__MetaModelIdAssignment_2_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4690:2: rule__ModelDeclCS__MetaModelIdAssignment_2_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__MetaModelIdAssignment_2_1_1_in_rule__ModelDeclCS__Group_2_1__1__Impl10041);
+ rule__ModelDeclCS__MetaModelIdAssignment_2_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group_2_1__1__Impl"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group_2_1__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4700:1: rule__ModelDeclCS__Group_2_1__2 : rule__ModelDeclCS__Group_2_1__2__Impl rule__ModelDeclCS__Group_2_1__3 ;
+ public final void rule__ModelDeclCS__Group_2_1__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4704:1: ( rule__ModelDeclCS__Group_2_1__2__Impl rule__ModelDeclCS__Group_2_1__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4705:2: rule__ModelDeclCS__Group_2_1__2__Impl rule__ModelDeclCS__Group_2_1__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group_2_1__2__Impl_in_rule__ModelDeclCS__Group_2_1__210071);
+ rule__ModelDeclCS__Group_2_1__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group_2_1__3_in_rule__ModelDeclCS__Group_2_1__210074);
+ rule__ModelDeclCS__Group_2_1__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group_2_1__2"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group_2_1__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4712:1: rule__ModelDeclCS__Group_2_1__2__Impl : ( ( rule__ModelDeclCS__Group_2_1_2__0 )* ) ;
+ public final void rule__ModelDeclCS__Group_2_1__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4716:1: ( ( ( rule__ModelDeclCS__Group_2_1_2__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4717:1: ( ( rule__ModelDeclCS__Group_2_1_2__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4717:1: ( ( rule__ModelDeclCS__Group_2_1_2__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4718:1: ( rule__ModelDeclCS__Group_2_1_2__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getGroup_2_1_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4719:1: ( rule__ModelDeclCS__Group_2_1_2__0 )*
+ loop44:
+ do {
+ int alt44=2;
+ int LA44_0 = input.LA(1);
+
+ if ( (LA44_0==73) ) {
+ alt44=1;
+ }
+
+
+ switch (alt44) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4719:2: rule__ModelDeclCS__Group_2_1_2__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group_2_1_2__0_in_rule__ModelDeclCS__Group_2_1__2__Impl10101);
+ rule__ModelDeclCS__Group_2_1_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop44;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getGroup_2_1_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group_2_1__2__Impl"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group_2_1__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4729:1: rule__ModelDeclCS__Group_2_1__3 : rule__ModelDeclCS__Group_2_1__3__Impl ;
+ public final void rule__ModelDeclCS__Group_2_1__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4733:1: ( rule__ModelDeclCS__Group_2_1__3__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4734:2: rule__ModelDeclCS__Group_2_1__3__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group_2_1__3__Impl_in_rule__ModelDeclCS__Group_2_1__310132);
+ rule__ModelDeclCS__Group_2_1__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group_2_1__3"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group_2_1__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4740:1: rule__ModelDeclCS__Group_2_1__3__Impl : ( '}' ) ;
+ public final void rule__ModelDeclCS__Group_2_1__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4744:1: ( ( '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4745:1: ( '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4745:1: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4746:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getRightCurlyBracketKeyword_2_1_3());
+ }
+ match(input,72,FollowSets000.FOLLOW_72_in_rule__ModelDeclCS__Group_2_1__3__Impl10160); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getRightCurlyBracketKeyword_2_1_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group_2_1__3__Impl"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group_2_1_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4767:1: rule__ModelDeclCS__Group_2_1_2__0 : rule__ModelDeclCS__Group_2_1_2__0__Impl rule__ModelDeclCS__Group_2_1_2__1 ;
+ public final void rule__ModelDeclCS__Group_2_1_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4771:1: ( rule__ModelDeclCS__Group_2_1_2__0__Impl rule__ModelDeclCS__Group_2_1_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4772:2: rule__ModelDeclCS__Group_2_1_2__0__Impl rule__ModelDeclCS__Group_2_1_2__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group_2_1_2__0__Impl_in_rule__ModelDeclCS__Group_2_1_2__010199);
+ rule__ModelDeclCS__Group_2_1_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group_2_1_2__1_in_rule__ModelDeclCS__Group_2_1_2__010202);
+ rule__ModelDeclCS__Group_2_1_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group_2_1_2__0"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group_2_1_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4779:1: rule__ModelDeclCS__Group_2_1_2__0__Impl : ( ',' ) ;
+ public final void rule__ModelDeclCS__Group_2_1_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4783:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4784:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4784:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4785:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getCommaKeyword_2_1_2_0());
+ }
+ match(input,73,FollowSets000.FOLLOW_73_in_rule__ModelDeclCS__Group_2_1_2__0__Impl10230); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getCommaKeyword_2_1_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group_2_1_2__0__Impl"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group_2_1_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4798:1: rule__ModelDeclCS__Group_2_1_2__1 : rule__ModelDeclCS__Group_2_1_2__1__Impl ;
+ public final void rule__ModelDeclCS__Group_2_1_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4802:1: ( rule__ModelDeclCS__Group_2_1_2__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4803:2: rule__ModelDeclCS__Group_2_1_2__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__Group_2_1_2__1__Impl_in_rule__ModelDeclCS__Group_2_1_2__110261);
+ rule__ModelDeclCS__Group_2_1_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group_2_1_2__1"
+
+
+ // $ANTLR start "rule__ModelDeclCS__Group_2_1_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4809:1: rule__ModelDeclCS__Group_2_1_2__1__Impl : ( ( rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1 ) ) ;
+ public final void rule__ModelDeclCS__Group_2_1_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4813:1: ( ( ( rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4814:1: ( ( rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4814:1: ( ( rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4815:1: ( rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_1_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4816:1: ( rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4816:2: rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1_in_rule__ModelDeclCS__Group_2_1_2__1__Impl10288);
+ rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_1_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__Group_2_1_2__1__Impl"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4830:1: rule__KeyDeclCS__Group__0 : rule__KeyDeclCS__Group__0__Impl rule__KeyDeclCS__Group__1 ;
+ public final void rule__KeyDeclCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4834:1: ( rule__KeyDeclCS__Group__0__Impl rule__KeyDeclCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4835:2: rule__KeyDeclCS__Group__0__Impl rule__KeyDeclCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group__0__Impl_in_rule__KeyDeclCS__Group__010322);
+ rule__KeyDeclCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group__1_in_rule__KeyDeclCS__Group__010325);
+ rule__KeyDeclCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group__0"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4842:1: rule__KeyDeclCS__Group__0__Impl : ( 'key' ) ;
+ public final void rule__KeyDeclCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4846:1: ( ( 'key' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4847:1: ( 'key' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4847:1: ( 'key' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4848:1: 'key'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getKeyKeyword_0());
+ }
+ match(input,25,FollowSets000.FOLLOW_25_in_rule__KeyDeclCS__Group__0__Impl10353); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getKeyKeyword_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4861:1: rule__KeyDeclCS__Group__1 : rule__KeyDeclCS__Group__1__Impl rule__KeyDeclCS__Group__2 ;
+ public final void rule__KeyDeclCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4865:1: ( rule__KeyDeclCS__Group__1__Impl rule__KeyDeclCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4866:2: rule__KeyDeclCS__Group__1__Impl rule__KeyDeclCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group__1__Impl_in_rule__KeyDeclCS__Group__110384);
+ rule__KeyDeclCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group__2_in_rule__KeyDeclCS__Group__110387);
+ rule__KeyDeclCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group__1"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4873:1: rule__KeyDeclCS__Group__1__Impl : ( ( rule__KeyDeclCS__PathNameAssignment_1 ) ) ;
+ public final void rule__KeyDeclCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4877:1: ( ( ( rule__KeyDeclCS__PathNameAssignment_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4878:1: ( ( rule__KeyDeclCS__PathNameAssignment_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4878:1: ( ( rule__KeyDeclCS__PathNameAssignment_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4879:1: ( rule__KeyDeclCS__PathNameAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getPathNameAssignment_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4880:1: ( rule__KeyDeclCS__PathNameAssignment_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4880:2: rule__KeyDeclCS__PathNameAssignment_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__PathNameAssignment_1_in_rule__KeyDeclCS__Group__1__Impl10414);
+ rule__KeyDeclCS__PathNameAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getPathNameAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4890:1: rule__KeyDeclCS__Group__2 : rule__KeyDeclCS__Group__2__Impl rule__KeyDeclCS__Group__3 ;
+ public final void rule__KeyDeclCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4894:1: ( rule__KeyDeclCS__Group__2__Impl rule__KeyDeclCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4895:2: rule__KeyDeclCS__Group__2__Impl rule__KeyDeclCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group__2__Impl_in_rule__KeyDeclCS__Group__210444);
+ rule__KeyDeclCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group__3_in_rule__KeyDeclCS__Group__210447);
+ rule__KeyDeclCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group__2"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4902:1: rule__KeyDeclCS__Group__2__Impl : ( '{' ) ;
+ public final void rule__KeyDeclCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4906:1: ( ( '{' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4907:1: ( '{' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4907:1: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4908:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getLeftCurlyBracketKeyword_2());
+ }
+ match(input,71,FollowSets000.FOLLOW_71_in_rule__KeyDeclCS__Group__2__Impl10475); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getLeftCurlyBracketKeyword_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4921:1: rule__KeyDeclCS__Group__3 : rule__KeyDeclCS__Group__3__Impl rule__KeyDeclCS__Group__4 ;
+ public final void rule__KeyDeclCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4925:1: ( rule__KeyDeclCS__Group__3__Impl rule__KeyDeclCS__Group__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4926:2: rule__KeyDeclCS__Group__3__Impl rule__KeyDeclCS__Group__4
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group__3__Impl_in_rule__KeyDeclCS__Group__310506);
+ rule__KeyDeclCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group__4_in_rule__KeyDeclCS__Group__310509);
+ rule__KeyDeclCS__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group__3"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4933:1: rule__KeyDeclCS__Group__3__Impl : ( ( rule__KeyDeclCS__PropertyIdAssignment_3 ) ) ;
+ public final void rule__KeyDeclCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4937:1: ( ( ( rule__KeyDeclCS__PropertyIdAssignment_3 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4938:1: ( ( rule__KeyDeclCS__PropertyIdAssignment_3 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4938:1: ( ( rule__KeyDeclCS__PropertyIdAssignment_3 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4939:1: ( rule__KeyDeclCS__PropertyIdAssignment_3 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getPropertyIdAssignment_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4940:1: ( rule__KeyDeclCS__PropertyIdAssignment_3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4940:2: rule__KeyDeclCS__PropertyIdAssignment_3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__PropertyIdAssignment_3_in_rule__KeyDeclCS__Group__3__Impl10536);
+ rule__KeyDeclCS__PropertyIdAssignment_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getPropertyIdAssignment_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4950:1: rule__KeyDeclCS__Group__4 : rule__KeyDeclCS__Group__4__Impl rule__KeyDeclCS__Group__5 ;
+ public final void rule__KeyDeclCS__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4954:1: ( rule__KeyDeclCS__Group__4__Impl rule__KeyDeclCS__Group__5 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4955:2: rule__KeyDeclCS__Group__4__Impl rule__KeyDeclCS__Group__5
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group__4__Impl_in_rule__KeyDeclCS__Group__410566);
+ rule__KeyDeclCS__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group__5_in_rule__KeyDeclCS__Group__410569);
+ rule__KeyDeclCS__Group__5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group__4"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4962:1: rule__KeyDeclCS__Group__4__Impl : ( ( rule__KeyDeclCS__Group_4__0 )* ) ;
+ public final void rule__KeyDeclCS__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4966:1: ( ( ( rule__KeyDeclCS__Group_4__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4967:1: ( ( rule__KeyDeclCS__Group_4__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4967:1: ( ( rule__KeyDeclCS__Group_4__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4968:1: ( rule__KeyDeclCS__Group_4__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getGroup_4());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4969:1: ( rule__KeyDeclCS__Group_4__0 )*
+ loop45:
+ do {
+ int alt45=2;
+ int LA45_0 = input.LA(1);
+
+ if ( (LA45_0==73) ) {
+ alt45=1;
+ }
+
+
+ switch (alt45) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4969:2: rule__KeyDeclCS__Group_4__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group_4__0_in_rule__KeyDeclCS__Group__4__Impl10596);
+ rule__KeyDeclCS__Group_4__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop45;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getGroup_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group__4__Impl"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group__5"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4979:1: rule__KeyDeclCS__Group__5 : rule__KeyDeclCS__Group__5__Impl rule__KeyDeclCS__Group__6 ;
+ public final void rule__KeyDeclCS__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4983:1: ( rule__KeyDeclCS__Group__5__Impl rule__KeyDeclCS__Group__6 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4984:2: rule__KeyDeclCS__Group__5__Impl rule__KeyDeclCS__Group__6
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group__5__Impl_in_rule__KeyDeclCS__Group__510627);
+ rule__KeyDeclCS__Group__5__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group__6_in_rule__KeyDeclCS__Group__510630);
+ rule__KeyDeclCS__Group__6();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group__5"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group__5__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4991:1: rule__KeyDeclCS__Group__5__Impl : ( '}' ) ;
+ public final void rule__KeyDeclCS__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4995:1: ( ( '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4996:1: ( '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4996:1: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:4997:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getRightCurlyBracketKeyword_5());
+ }
+ match(input,72,FollowSets000.FOLLOW_72_in_rule__KeyDeclCS__Group__5__Impl10658); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getRightCurlyBracketKeyword_5());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group__5__Impl"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group__6"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5010:1: rule__KeyDeclCS__Group__6 : rule__KeyDeclCS__Group__6__Impl ;
+ public final void rule__KeyDeclCS__Group__6() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5014:1: ( rule__KeyDeclCS__Group__6__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5015:2: rule__KeyDeclCS__Group__6__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group__6__Impl_in_rule__KeyDeclCS__Group__610689);
+ rule__KeyDeclCS__Group__6__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group__6"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group__6__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5021:1: rule__KeyDeclCS__Group__6__Impl : ( ';' ) ;
+ public final void rule__KeyDeclCS__Group__6__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5025:1: ( ( ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5026:1: ( ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5026:1: ( ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5027:1: ';'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getSemicolonKeyword_6());
+ }
+ match(input,17,FollowSets000.FOLLOW_17_in_rule__KeyDeclCS__Group__6__Impl10717); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getSemicolonKeyword_6());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group__6__Impl"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group_4__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5054:1: rule__KeyDeclCS__Group_4__0 : rule__KeyDeclCS__Group_4__0__Impl rule__KeyDeclCS__Group_4__1 ;
+ public final void rule__KeyDeclCS__Group_4__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5058:1: ( rule__KeyDeclCS__Group_4__0__Impl rule__KeyDeclCS__Group_4__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5059:2: rule__KeyDeclCS__Group_4__0__Impl rule__KeyDeclCS__Group_4__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group_4__0__Impl_in_rule__KeyDeclCS__Group_4__010762);
+ rule__KeyDeclCS__Group_4__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group_4__1_in_rule__KeyDeclCS__Group_4__010765);
+ rule__KeyDeclCS__Group_4__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group_4__0"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group_4__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5066:1: rule__KeyDeclCS__Group_4__0__Impl : ( ',' ) ;
+ public final void rule__KeyDeclCS__Group_4__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5070:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5071:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5071:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5072:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getCommaKeyword_4_0());
+ }
+ match(input,73,FollowSets000.FOLLOW_73_in_rule__KeyDeclCS__Group_4__0__Impl10793); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getCommaKeyword_4_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group_4__0__Impl"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group_4__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5085:1: rule__KeyDeclCS__Group_4__1 : rule__KeyDeclCS__Group_4__1__Impl ;
+ public final void rule__KeyDeclCS__Group_4__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5089:1: ( rule__KeyDeclCS__Group_4__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5090:2: rule__KeyDeclCS__Group_4__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__Group_4__1__Impl_in_rule__KeyDeclCS__Group_4__110824);
+ rule__KeyDeclCS__Group_4__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group_4__1"
+
+
+ // $ANTLR start "rule__KeyDeclCS__Group_4__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5096:1: rule__KeyDeclCS__Group_4__1__Impl : ( ( rule__KeyDeclCS__PropertyIdAssignment_4_1 ) ) ;
+ public final void rule__KeyDeclCS__Group_4__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5100:1: ( ( ( rule__KeyDeclCS__PropertyIdAssignment_4_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5101:1: ( ( rule__KeyDeclCS__PropertyIdAssignment_4_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5101:1: ( ( rule__KeyDeclCS__PropertyIdAssignment_4_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5102:1: ( rule__KeyDeclCS__PropertyIdAssignment_4_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getPropertyIdAssignment_4_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5103:1: ( rule__KeyDeclCS__PropertyIdAssignment_4_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5103:2: rule__KeyDeclCS__PropertyIdAssignment_4_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__KeyDeclCS__PropertyIdAssignment_4_1_in_rule__KeyDeclCS__Group_4__1__Impl10851);
+ rule__KeyDeclCS__PropertyIdAssignment_4_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getPropertyIdAssignment_4_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__Group_4__1__Impl"
+
+
+ // $ANTLR start "rule__RelationCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5117:1: rule__RelationCS__Group__0 : rule__RelationCS__Group__0__Impl rule__RelationCS__Group__1 ;
+ public final void rule__RelationCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5121:1: ( rule__RelationCS__Group__0__Impl rule__RelationCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5122:2: rule__RelationCS__Group__0__Impl rule__RelationCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__0__Impl_in_rule__RelationCS__Group__010885);
+ rule__RelationCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__1_in_rule__RelationCS__Group__010888);
+ rule__RelationCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__0"
+
+
+ // $ANTLR start "rule__RelationCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5129:1: rule__RelationCS__Group__0__Impl : ( ( rule__RelationCS__TopAssignment_0 )? ) ;
+ public final void rule__RelationCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5133:1: ( ( ( rule__RelationCS__TopAssignment_0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5134:1: ( ( rule__RelationCS__TopAssignment_0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5134:1: ( ( rule__RelationCS__TopAssignment_0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5135:1: ( rule__RelationCS__TopAssignment_0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getTopAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5136:1: ( rule__RelationCS__TopAssignment_0 )?
+ int alt46=2;
+ int LA46_0 = input.LA(1);
+
+ if ( (LA46_0==31) ) {
+ alt46=1;
+ }
+ switch (alt46) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5136:2: rule__RelationCS__TopAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__TopAssignment_0_in_rule__RelationCS__Group__0__Impl10915);
+ rule__RelationCS__TopAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getTopAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__RelationCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5146:1: rule__RelationCS__Group__1 : rule__RelationCS__Group__1__Impl rule__RelationCS__Group__2 ;
+ public final void rule__RelationCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5150:1: ( rule__RelationCS__Group__1__Impl rule__RelationCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5151:2: rule__RelationCS__Group__1__Impl rule__RelationCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__1__Impl_in_rule__RelationCS__Group__110946);
+ rule__RelationCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__2_in_rule__RelationCS__Group__110949);
+ rule__RelationCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__1"
+
+
+ // $ANTLR start "rule__RelationCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5158:1: rule__RelationCS__Group__1__Impl : ( 'relation' ) ;
+ public final void rule__RelationCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5162:1: ( ( 'relation' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5163:1: ( 'relation' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5163:1: ( 'relation' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5164:1: 'relation'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getRelationKeyword_1());
+ }
+ match(input,29,FollowSets000.FOLLOW_29_in_rule__RelationCS__Group__1__Impl10977); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getRelationKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__RelationCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5177:1: rule__RelationCS__Group__2 : rule__RelationCS__Group__2__Impl rule__RelationCS__Group__3 ;
+ public final void rule__RelationCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5181:1: ( rule__RelationCS__Group__2__Impl rule__RelationCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5182:2: rule__RelationCS__Group__2__Impl rule__RelationCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__2__Impl_in_rule__RelationCS__Group__211008);
+ rule__RelationCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__3_in_rule__RelationCS__Group__211011);
+ rule__RelationCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__2"
+
+
+ // $ANTLR start "rule__RelationCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5189:1: rule__RelationCS__Group__2__Impl : ( ( rule__RelationCS__NameAssignment_2 ) ) ;
+ public final void rule__RelationCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5193:1: ( ( ( rule__RelationCS__NameAssignment_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5194:1: ( ( rule__RelationCS__NameAssignment_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5194:1: ( ( rule__RelationCS__NameAssignment_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5195:1: ( rule__RelationCS__NameAssignment_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getNameAssignment_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5196:1: ( rule__RelationCS__NameAssignment_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5196:2: rule__RelationCS__NameAssignment_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__NameAssignment_2_in_rule__RelationCS__Group__2__Impl11038);
+ rule__RelationCS__NameAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getNameAssignment_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__RelationCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5206:1: rule__RelationCS__Group__3 : rule__RelationCS__Group__3__Impl rule__RelationCS__Group__4 ;
+ public final void rule__RelationCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5210:1: ( rule__RelationCS__Group__3__Impl rule__RelationCS__Group__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5211:2: rule__RelationCS__Group__3__Impl rule__RelationCS__Group__4
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__3__Impl_in_rule__RelationCS__Group__311068);
+ rule__RelationCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__4_in_rule__RelationCS__Group__311071);
+ rule__RelationCS__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__3"
+
+
+ // $ANTLR start "rule__RelationCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5218:1: rule__RelationCS__Group__3__Impl : ( ( rule__RelationCS__Group_3__0 )? ) ;
+ public final void rule__RelationCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5222:1: ( ( ( rule__RelationCS__Group_3__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5223:1: ( ( rule__RelationCS__Group_3__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5223:1: ( ( rule__RelationCS__Group_3__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5224:1: ( rule__RelationCS__Group_3__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getGroup_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5225:1: ( rule__RelationCS__Group_3__0 )?
+ int alt47=2;
+ int LA47_0 = input.LA(1);
+
+ if ( (LA47_0==26) ) {
+ alt47=1;
+ }
+ switch (alt47) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5225:2: rule__RelationCS__Group_3__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group_3__0_in_rule__RelationCS__Group__3__Impl11098);
+ rule__RelationCS__Group_3__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getGroup_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__RelationCS__Group__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5235:1: rule__RelationCS__Group__4 : rule__RelationCS__Group__4__Impl rule__RelationCS__Group__5 ;
+ public final void rule__RelationCS__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5239:1: ( rule__RelationCS__Group__4__Impl rule__RelationCS__Group__5 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5240:2: rule__RelationCS__Group__4__Impl rule__RelationCS__Group__5
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__4__Impl_in_rule__RelationCS__Group__411129);
+ rule__RelationCS__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__5_in_rule__RelationCS__Group__411132);
+ rule__RelationCS__Group__5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__4"
+
+
+ // $ANTLR start "rule__RelationCS__Group__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5247:1: rule__RelationCS__Group__4__Impl : ( '{' ) ;
+ public final void rule__RelationCS__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5251:1: ( ( '{' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5252:1: ( '{' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5252:1: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5253:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getLeftCurlyBracketKeyword_4());
+ }
+ match(input,71,FollowSets000.FOLLOW_71_in_rule__RelationCS__Group__4__Impl11160); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getLeftCurlyBracketKeyword_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__4__Impl"
+
+
+ // $ANTLR start "rule__RelationCS__Group__5"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5266:1: rule__RelationCS__Group__5 : rule__RelationCS__Group__5__Impl rule__RelationCS__Group__6 ;
+ public final void rule__RelationCS__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5270:1: ( rule__RelationCS__Group__5__Impl rule__RelationCS__Group__6 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5271:2: rule__RelationCS__Group__5__Impl rule__RelationCS__Group__6
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__5__Impl_in_rule__RelationCS__Group__511191);
+ rule__RelationCS__Group__5__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__6_in_rule__RelationCS__Group__511194);
+ rule__RelationCS__Group__6();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__5"
+
+
+ // $ANTLR start "rule__RelationCS__Group__5__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5278:1: rule__RelationCS__Group__5__Impl : ( ( rule__RelationCS__VarDeclarationAssignment_5 )* ) ;
+ public final void rule__RelationCS__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5282:1: ( ( ( rule__RelationCS__VarDeclarationAssignment_5 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5283:1: ( ( rule__RelationCS__VarDeclarationAssignment_5 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5283:1: ( ( rule__RelationCS__VarDeclarationAssignment_5 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5284:1: ( rule__RelationCS__VarDeclarationAssignment_5 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getVarDeclarationAssignment_5());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5285:1: ( rule__RelationCS__VarDeclarationAssignment_5 )*
+ loop48:
+ do {
+ int alt48=2;
+ switch ( input.LA(1) ) {
+ case 18:
+ {
+ int LA48_1 = input.LA(2);
+
+ if ( ((LA48_1>=73 && LA48_1<=74)) ) {
+ alt48=1;
+ }
+
+
+ }
+ break;
+ case 21:
+ {
+ int LA48_2 = input.LA(2);
+
+ if ( ((LA48_2>=73 && LA48_2<=74)) ) {
+ alt48=1;
+ }
+
+
+ }
+ break;
+ case 20:
+ {
+ int LA48_3 = input.LA(2);
+
+ if ( ((LA48_3>=73 && LA48_3<=74)) ) {
+ alt48=1;
+ }
+
+
+ }
+ break;
+ case 27:
+ {
+ int LA48_4 = input.LA(2);
+
+ if ( ((LA48_4>=73 && LA48_4<=74)) ) {
+ alt48=1;
+ }
+
+
+ }
+ break;
+ case RULE_SIMPLE_ID:
+ case RULE_ESCAPED_ID:
+ case 19:
+ case 22:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ case 28:
+ case 29:
+ case 30:
+ case 31:
+ case 32:
+ case 33:
+ case 34:
+ case 36:
+ case 37:
+ {
+ alt48=1;
+ }
+ break;
+
+ }
+
+ switch (alt48) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5285:2: rule__RelationCS__VarDeclarationAssignment_5
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__VarDeclarationAssignment_5_in_rule__RelationCS__Group__5__Impl11221);
+ rule__RelationCS__VarDeclarationAssignment_5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop48;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getVarDeclarationAssignment_5());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__5__Impl"
+
+
+ // $ANTLR start "rule__RelationCS__Group__6"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5295:1: rule__RelationCS__Group__6 : rule__RelationCS__Group__6__Impl rule__RelationCS__Group__7 ;
+ public final void rule__RelationCS__Group__6() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5299:1: ( rule__RelationCS__Group__6__Impl rule__RelationCS__Group__7 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5300:2: rule__RelationCS__Group__6__Impl rule__RelationCS__Group__7
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__6__Impl_in_rule__RelationCS__Group__611252);
+ rule__RelationCS__Group__6__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__7_in_rule__RelationCS__Group__611255);
+ rule__RelationCS__Group__7();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__6"
+
+
+ // $ANTLR start "rule__RelationCS__Group__6__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5307:1: rule__RelationCS__Group__6__Impl : ( ( ( rule__RelationCS__Alternatives_6 ) ) ( ( rule__RelationCS__Alternatives_6 )* ) ) ;
+ public final void rule__RelationCS__Group__6__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5311:1: ( ( ( ( rule__RelationCS__Alternatives_6 ) ) ( ( rule__RelationCS__Alternatives_6 )* ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5312:1: ( ( ( rule__RelationCS__Alternatives_6 ) ) ( ( rule__RelationCS__Alternatives_6 )* ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5312:1: ( ( ( rule__RelationCS__Alternatives_6 ) ) ( ( rule__RelationCS__Alternatives_6 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5313:1: ( ( rule__RelationCS__Alternatives_6 ) ) ( ( rule__RelationCS__Alternatives_6 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5313:1: ( ( rule__RelationCS__Alternatives_6 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5314:1: ( rule__RelationCS__Alternatives_6 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getAlternatives_6());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5315:1: ( rule__RelationCS__Alternatives_6 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5315:2: rule__RelationCS__Alternatives_6
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Alternatives_6_in_rule__RelationCS__Group__6__Impl11284);
+ rule__RelationCS__Alternatives_6();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getAlternatives_6());
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5318:1: ( ( rule__RelationCS__Alternatives_6 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5319:1: ( rule__RelationCS__Alternatives_6 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getAlternatives_6());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5320:1: ( rule__RelationCS__Alternatives_6 )*
+ loop49:
+ do {
+ int alt49=2;
+ int LA49_0 = input.LA(1);
+
+ if ( (LA49_0==18||(LA49_0>=20 && LA49_0<=21)||LA49_0==27) ) {
+ alt49=1;
+ }
+
+
+ switch (alt49) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5320:2: rule__RelationCS__Alternatives_6
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Alternatives_6_in_rule__RelationCS__Group__6__Impl11296);
+ rule__RelationCS__Alternatives_6();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop49;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getAlternatives_6());
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__6__Impl"
+
+
+ // $ANTLR start "rule__RelationCS__Group__7"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5331:1: rule__RelationCS__Group__7 : rule__RelationCS__Group__7__Impl rule__RelationCS__Group__8 ;
+ public final void rule__RelationCS__Group__7() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5335:1: ( rule__RelationCS__Group__7__Impl rule__RelationCS__Group__8 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5336:2: rule__RelationCS__Group__7__Impl rule__RelationCS__Group__8
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__7__Impl_in_rule__RelationCS__Group__711329);
+ rule__RelationCS__Group__7__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__8_in_rule__RelationCS__Group__711332);
+ rule__RelationCS__Group__8();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__7"
+
+
+ // $ANTLR start "rule__RelationCS__Group__7__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5343:1: rule__RelationCS__Group__7__Impl : ( ( rule__RelationCS__WhenAssignment_7 )? ) ;
+ public final void rule__RelationCS__Group__7__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5347:1: ( ( ( rule__RelationCS__WhenAssignment_7 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5348:1: ( ( rule__RelationCS__WhenAssignment_7 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5348:1: ( ( rule__RelationCS__WhenAssignment_7 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5349:1: ( rule__RelationCS__WhenAssignment_7 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getWhenAssignment_7());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5350:1: ( rule__RelationCS__WhenAssignment_7 )?
+ int alt50=2;
+ int LA50_0 = input.LA(1);
+
+ if ( (LA50_0==33) ) {
+ alt50=1;
+ }
+ switch (alt50) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5350:2: rule__RelationCS__WhenAssignment_7
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__WhenAssignment_7_in_rule__RelationCS__Group__7__Impl11359);
+ rule__RelationCS__WhenAssignment_7();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getWhenAssignment_7());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__7__Impl"
+
+
+ // $ANTLR start "rule__RelationCS__Group__8"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5360:1: rule__RelationCS__Group__8 : rule__RelationCS__Group__8__Impl rule__RelationCS__Group__9 ;
+ public final void rule__RelationCS__Group__8() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5364:1: ( rule__RelationCS__Group__8__Impl rule__RelationCS__Group__9 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5365:2: rule__RelationCS__Group__8__Impl rule__RelationCS__Group__9
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__8__Impl_in_rule__RelationCS__Group__811390);
+ rule__RelationCS__Group__8__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__9_in_rule__RelationCS__Group__811393);
+ rule__RelationCS__Group__9();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__8"
+
+
+ // $ANTLR start "rule__RelationCS__Group__8__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5372:1: rule__RelationCS__Group__8__Impl : ( ( rule__RelationCS__WhereAssignment_8 )? ) ;
+ public final void rule__RelationCS__Group__8__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5376:1: ( ( ( rule__RelationCS__WhereAssignment_8 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5377:1: ( ( rule__RelationCS__WhereAssignment_8 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5377:1: ( ( rule__RelationCS__WhereAssignment_8 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5378:1: ( rule__RelationCS__WhereAssignment_8 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getWhereAssignment_8());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5379:1: ( rule__RelationCS__WhereAssignment_8 )?
+ int alt51=2;
+ int LA51_0 = input.LA(1);
+
+ if ( (LA51_0==34) ) {
+ alt51=1;
+ }
+ switch (alt51) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5379:2: rule__RelationCS__WhereAssignment_8
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__WhereAssignment_8_in_rule__RelationCS__Group__8__Impl11420);
+ rule__RelationCS__WhereAssignment_8();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getWhereAssignment_8());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__8__Impl"
+
+
+ // $ANTLR start "rule__RelationCS__Group__9"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5389:1: rule__RelationCS__Group__9 : rule__RelationCS__Group__9__Impl ;
+ public final void rule__RelationCS__Group__9() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5393:1: ( rule__RelationCS__Group__9__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5394:2: rule__RelationCS__Group__9__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group__9__Impl_in_rule__RelationCS__Group__911451);
+ rule__RelationCS__Group__9__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__9"
+
+
+ // $ANTLR start "rule__RelationCS__Group__9__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5400:1: rule__RelationCS__Group__9__Impl : ( '}' ) ;
+ public final void rule__RelationCS__Group__9__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5404:1: ( ( '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5405:1: ( '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5405:1: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5406:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getRightCurlyBracketKeyword_9());
+ }
+ match(input,72,FollowSets000.FOLLOW_72_in_rule__RelationCS__Group__9__Impl11479); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getRightCurlyBracketKeyword_9());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group__9__Impl"
+
+
+ // $ANTLR start "rule__RelationCS__Group_3__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5439:1: rule__RelationCS__Group_3__0 : rule__RelationCS__Group_3__0__Impl rule__RelationCS__Group_3__1 ;
+ public final void rule__RelationCS__Group_3__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5443:1: ( rule__RelationCS__Group_3__0__Impl rule__RelationCS__Group_3__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5444:2: rule__RelationCS__Group_3__0__Impl rule__RelationCS__Group_3__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group_3__0__Impl_in_rule__RelationCS__Group_3__011530);
+ rule__RelationCS__Group_3__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group_3__1_in_rule__RelationCS__Group_3__011533);
+ rule__RelationCS__Group_3__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group_3__0"
+
+
+ // $ANTLR start "rule__RelationCS__Group_3__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5451:1: rule__RelationCS__Group_3__0__Impl : ( 'overrides' ) ;
+ public final void rule__RelationCS__Group_3__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5455:1: ( ( 'overrides' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5456:1: ( 'overrides' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5456:1: ( 'overrides' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5457:1: 'overrides'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getOverridesKeyword_3_0());
+ }
+ match(input,26,FollowSets000.FOLLOW_26_in_rule__RelationCS__Group_3__0__Impl11561); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getOverridesKeyword_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group_3__0__Impl"
+
+
+ // $ANTLR start "rule__RelationCS__Group_3__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5470:1: rule__RelationCS__Group_3__1 : rule__RelationCS__Group_3__1__Impl ;
+ public final void rule__RelationCS__Group_3__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5474:1: ( rule__RelationCS__Group_3__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5475:2: rule__RelationCS__Group_3__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__Group_3__1__Impl_in_rule__RelationCS__Group_3__111592);
+ rule__RelationCS__Group_3__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group_3__1"
+
+
+ // $ANTLR start "rule__RelationCS__Group_3__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5481:1: rule__RelationCS__Group_3__1__Impl : ( ( rule__RelationCS__OverridesAssignment_3_1 ) ) ;
+ public final void rule__RelationCS__Group_3__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5485:1: ( ( ( rule__RelationCS__OverridesAssignment_3_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5486:1: ( ( rule__RelationCS__OverridesAssignment_3_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5486:1: ( ( rule__RelationCS__OverridesAssignment_3_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5487:1: ( rule__RelationCS__OverridesAssignment_3_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getOverridesAssignment_3_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5488:1: ( rule__RelationCS__OverridesAssignment_3_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5488:2: rule__RelationCS__OverridesAssignment_3_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__RelationCS__OverridesAssignment_3_1_in_rule__RelationCS__Group_3__1__Impl11619);
+ rule__RelationCS__OverridesAssignment_3_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getOverridesAssignment_3_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__Group_3__1__Impl"
+
+
+ // $ANTLR start "rule__WhenCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5502:1: rule__WhenCS__Group__0 : rule__WhenCS__Group__0__Impl rule__WhenCS__Group__1 ;
+ public final void rule__WhenCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5506:1: ( rule__WhenCS__Group__0__Impl rule__WhenCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5507:2: rule__WhenCS__Group__0__Impl rule__WhenCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__Group__0__Impl_in_rule__WhenCS__Group__011653);
+ rule__WhenCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__Group__1_in_rule__WhenCS__Group__011656);
+ rule__WhenCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__Group__0"
+
+
+ // $ANTLR start "rule__WhenCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5514:1: rule__WhenCS__Group__0__Impl : ( () ) ;
+ public final void rule__WhenCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5518:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5519:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5519:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5520:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhenCSAccess().getWhenCSAction_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5521:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5523:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhenCSAccess().getWhenCSAction_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__WhenCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5533:1: rule__WhenCS__Group__1 : rule__WhenCS__Group__1__Impl rule__WhenCS__Group__2 ;
+ public final void rule__WhenCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5537:1: ( rule__WhenCS__Group__1__Impl rule__WhenCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5538:2: rule__WhenCS__Group__1__Impl rule__WhenCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__Group__1__Impl_in_rule__WhenCS__Group__111714);
+ rule__WhenCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__Group__2_in_rule__WhenCS__Group__111717);
+ rule__WhenCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__Group__1"
+
+
+ // $ANTLR start "rule__WhenCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5545:1: rule__WhenCS__Group__1__Impl : ( 'when' ) ;
+ public final void rule__WhenCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5549:1: ( ( 'when' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5550:1: ( 'when' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5550:1: ( 'when' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5551:1: 'when'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhenCSAccess().getWhenKeyword_1());
+ }
+ match(input,33,FollowSets000.FOLLOW_33_in_rule__WhenCS__Group__1__Impl11745); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhenCSAccess().getWhenKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__WhenCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5564:1: rule__WhenCS__Group__2 : rule__WhenCS__Group__2__Impl rule__WhenCS__Group__3 ;
+ public final void rule__WhenCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5568:1: ( rule__WhenCS__Group__2__Impl rule__WhenCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5569:2: rule__WhenCS__Group__2__Impl rule__WhenCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__Group__2__Impl_in_rule__WhenCS__Group__211776);
+ rule__WhenCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__Group__3_in_rule__WhenCS__Group__211779);
+ rule__WhenCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__Group__2"
+
+
+ // $ANTLR start "rule__WhenCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5576:1: rule__WhenCS__Group__2__Impl : ( '{' ) ;
+ public final void rule__WhenCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5580:1: ( ( '{' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5581:1: ( '{' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5581:1: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5582:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhenCSAccess().getLeftCurlyBracketKeyword_2());
+ }
+ match(input,71,FollowSets000.FOLLOW_71_in_rule__WhenCS__Group__2__Impl11807); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhenCSAccess().getLeftCurlyBracketKeyword_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__WhenCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5595:1: rule__WhenCS__Group__3 : rule__WhenCS__Group__3__Impl rule__WhenCS__Group__4 ;
+ public final void rule__WhenCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5599:1: ( rule__WhenCS__Group__3__Impl rule__WhenCS__Group__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5600:2: rule__WhenCS__Group__3__Impl rule__WhenCS__Group__4
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__Group__3__Impl_in_rule__WhenCS__Group__311838);
+ rule__WhenCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__Group__4_in_rule__WhenCS__Group__311841);
+ rule__WhenCS__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__Group__3"
+
+
+ // $ANTLR start "rule__WhenCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5607:1: rule__WhenCS__Group__3__Impl : ( ( rule__WhenCS__Group_3__0 )* ) ;
+ public final void rule__WhenCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5611:1: ( ( ( rule__WhenCS__Group_3__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5612:1: ( ( rule__WhenCS__Group_3__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5612:1: ( ( rule__WhenCS__Group_3__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5613:1: ( rule__WhenCS__Group_3__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhenCSAccess().getGroup_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5614:1: ( rule__WhenCS__Group_3__0 )*
+ loop52:
+ do {
+ int alt52=2;
+ int LA52_0 = input.LA(1);
+
+ if ( ((LA52_0>=RULE_INT && LA52_0<=RULE_ESCAPED_ID)||(LA52_0>=18 && LA52_0<=37)||(LA52_0>=39 && LA52_0<=40)||(LA52_0>=54 && LA52_0<=67)||LA52_0==69||(LA52_0>=81 && LA52_0<=82)||LA52_0==84||LA52_0==88||(LA52_0>=90 && LA52_0<=92)) ) {
+ alt52=1;
+ }
+
+
+ switch (alt52) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5614:2: rule__WhenCS__Group_3__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__Group_3__0_in_rule__WhenCS__Group__3__Impl11868);
+ rule__WhenCS__Group_3__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop52;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhenCSAccess().getGroup_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__WhenCS__Group__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5624:1: rule__WhenCS__Group__4 : rule__WhenCS__Group__4__Impl ;
+ public final void rule__WhenCS__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5628:1: ( rule__WhenCS__Group__4__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5629:2: rule__WhenCS__Group__4__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__Group__4__Impl_in_rule__WhenCS__Group__411899);
+ rule__WhenCS__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__Group__4"
+
+
+ // $ANTLR start "rule__WhenCS__Group__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5635:1: rule__WhenCS__Group__4__Impl : ( '}' ) ;
+ public final void rule__WhenCS__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5639:1: ( ( '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5640:1: ( '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5640:1: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5641:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhenCSAccess().getRightCurlyBracketKeyword_4());
+ }
+ match(input,72,FollowSets000.FOLLOW_72_in_rule__WhenCS__Group__4__Impl11927); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhenCSAccess().getRightCurlyBracketKeyword_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__Group__4__Impl"
+
+
+ // $ANTLR start "rule__WhenCS__Group_3__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5664:1: rule__WhenCS__Group_3__0 : rule__WhenCS__Group_3__0__Impl rule__WhenCS__Group_3__1 ;
+ public final void rule__WhenCS__Group_3__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5668:1: ( rule__WhenCS__Group_3__0__Impl rule__WhenCS__Group_3__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5669:2: rule__WhenCS__Group_3__0__Impl rule__WhenCS__Group_3__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__Group_3__0__Impl_in_rule__WhenCS__Group_3__011968);
+ rule__WhenCS__Group_3__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__Group_3__1_in_rule__WhenCS__Group_3__011971);
+ rule__WhenCS__Group_3__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__Group_3__0"
+
+
+ // $ANTLR start "rule__WhenCS__Group_3__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5676:1: rule__WhenCS__Group_3__0__Impl : ( ( rule__WhenCS__ExprAssignment_3_0 ) ) ;
+ public final void rule__WhenCS__Group_3__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5680:1: ( ( ( rule__WhenCS__ExprAssignment_3_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5681:1: ( ( rule__WhenCS__ExprAssignment_3_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5681:1: ( ( rule__WhenCS__ExprAssignment_3_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5682:1: ( rule__WhenCS__ExprAssignment_3_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhenCSAccess().getExprAssignment_3_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5683:1: ( rule__WhenCS__ExprAssignment_3_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5683:2: rule__WhenCS__ExprAssignment_3_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__ExprAssignment_3_0_in_rule__WhenCS__Group_3__0__Impl11998);
+ rule__WhenCS__ExprAssignment_3_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhenCSAccess().getExprAssignment_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__Group_3__0__Impl"
+
+
+ // $ANTLR start "rule__WhenCS__Group_3__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5693:1: rule__WhenCS__Group_3__1 : rule__WhenCS__Group_3__1__Impl ;
+ public final void rule__WhenCS__Group_3__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5697:1: ( rule__WhenCS__Group_3__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5698:2: rule__WhenCS__Group_3__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhenCS__Group_3__1__Impl_in_rule__WhenCS__Group_3__112028);
+ rule__WhenCS__Group_3__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__Group_3__1"
+
+
+ // $ANTLR start "rule__WhenCS__Group_3__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5704:1: rule__WhenCS__Group_3__1__Impl : ( ';' ) ;
+ public final void rule__WhenCS__Group_3__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5708:1: ( ( ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5709:1: ( ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5709:1: ( ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5710:1: ';'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhenCSAccess().getSemicolonKeyword_3_1());
+ }
+ match(input,17,FollowSets000.FOLLOW_17_in_rule__WhenCS__Group_3__1__Impl12056); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhenCSAccess().getSemicolonKeyword_3_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__Group_3__1__Impl"
+
+
+ // $ANTLR start "rule__WhereCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5727:1: rule__WhereCS__Group__0 : rule__WhereCS__Group__0__Impl rule__WhereCS__Group__1 ;
+ public final void rule__WhereCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5731:1: ( rule__WhereCS__Group__0__Impl rule__WhereCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5732:2: rule__WhereCS__Group__0__Impl rule__WhereCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__Group__0__Impl_in_rule__WhereCS__Group__012091);
+ rule__WhereCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__Group__1_in_rule__WhereCS__Group__012094);
+ rule__WhereCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__Group__0"
+
+
+ // $ANTLR start "rule__WhereCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5739:1: rule__WhereCS__Group__0__Impl : ( () ) ;
+ public final void rule__WhereCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5743:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5744:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5744:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5745:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhereCSAccess().getWhereCSAction_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5746:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5748:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhereCSAccess().getWhereCSAction_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__WhereCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5758:1: rule__WhereCS__Group__1 : rule__WhereCS__Group__1__Impl rule__WhereCS__Group__2 ;
+ public final void rule__WhereCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5762:1: ( rule__WhereCS__Group__1__Impl rule__WhereCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5763:2: rule__WhereCS__Group__1__Impl rule__WhereCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__Group__1__Impl_in_rule__WhereCS__Group__112152);
+ rule__WhereCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__Group__2_in_rule__WhereCS__Group__112155);
+ rule__WhereCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__Group__1"
+
+
+ // $ANTLR start "rule__WhereCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5770:1: rule__WhereCS__Group__1__Impl : ( 'where' ) ;
+ public final void rule__WhereCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5774:1: ( ( 'where' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5775:1: ( 'where' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5775:1: ( 'where' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5776:1: 'where'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhereCSAccess().getWhereKeyword_1());
+ }
+ match(input,34,FollowSets000.FOLLOW_34_in_rule__WhereCS__Group__1__Impl12183); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhereCSAccess().getWhereKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__WhereCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5789:1: rule__WhereCS__Group__2 : rule__WhereCS__Group__2__Impl rule__WhereCS__Group__3 ;
+ public final void rule__WhereCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5793:1: ( rule__WhereCS__Group__2__Impl rule__WhereCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5794:2: rule__WhereCS__Group__2__Impl rule__WhereCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__Group__2__Impl_in_rule__WhereCS__Group__212214);
+ rule__WhereCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__Group__3_in_rule__WhereCS__Group__212217);
+ rule__WhereCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__Group__2"
+
+
+ // $ANTLR start "rule__WhereCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5801:1: rule__WhereCS__Group__2__Impl : ( '{' ) ;
+ public final void rule__WhereCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5805:1: ( ( '{' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5806:1: ( '{' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5806:1: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5807:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhereCSAccess().getLeftCurlyBracketKeyword_2());
+ }
+ match(input,71,FollowSets000.FOLLOW_71_in_rule__WhereCS__Group__2__Impl12245); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhereCSAccess().getLeftCurlyBracketKeyword_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__WhereCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5820:1: rule__WhereCS__Group__3 : rule__WhereCS__Group__3__Impl rule__WhereCS__Group__4 ;
+ public final void rule__WhereCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5824:1: ( rule__WhereCS__Group__3__Impl rule__WhereCS__Group__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5825:2: rule__WhereCS__Group__3__Impl rule__WhereCS__Group__4
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__Group__3__Impl_in_rule__WhereCS__Group__312276);
+ rule__WhereCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__Group__4_in_rule__WhereCS__Group__312279);
+ rule__WhereCS__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__Group__3"
+
+
+ // $ANTLR start "rule__WhereCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5832:1: rule__WhereCS__Group__3__Impl : ( ( rule__WhereCS__Group_3__0 )* ) ;
+ public final void rule__WhereCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5836:1: ( ( ( rule__WhereCS__Group_3__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5837:1: ( ( rule__WhereCS__Group_3__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5837:1: ( ( rule__WhereCS__Group_3__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5838:1: ( rule__WhereCS__Group_3__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhereCSAccess().getGroup_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5839:1: ( rule__WhereCS__Group_3__0 )*
+ loop53:
+ do {
+ int alt53=2;
+ int LA53_0 = input.LA(1);
+
+ if ( ((LA53_0>=RULE_INT && LA53_0<=RULE_ESCAPED_ID)||(LA53_0>=18 && LA53_0<=37)||(LA53_0>=39 && LA53_0<=40)||(LA53_0>=54 && LA53_0<=67)||LA53_0==69||(LA53_0>=81 && LA53_0<=82)||LA53_0==84||LA53_0==88||(LA53_0>=90 && LA53_0<=92)) ) {
+ alt53=1;
+ }
+
+
+ switch (alt53) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5839:2: rule__WhereCS__Group_3__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__Group_3__0_in_rule__WhereCS__Group__3__Impl12306);
+ rule__WhereCS__Group_3__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop53;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhereCSAccess().getGroup_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__WhereCS__Group__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5849:1: rule__WhereCS__Group__4 : rule__WhereCS__Group__4__Impl ;
+ public final void rule__WhereCS__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5853:1: ( rule__WhereCS__Group__4__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5854:2: rule__WhereCS__Group__4__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__Group__4__Impl_in_rule__WhereCS__Group__412337);
+ rule__WhereCS__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__Group__4"
+
+
+ // $ANTLR start "rule__WhereCS__Group__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5860:1: rule__WhereCS__Group__4__Impl : ( '}' ) ;
+ public final void rule__WhereCS__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5864:1: ( ( '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5865:1: ( '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5865:1: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5866:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhereCSAccess().getRightCurlyBracketKeyword_4());
+ }
+ match(input,72,FollowSets000.FOLLOW_72_in_rule__WhereCS__Group__4__Impl12365); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhereCSAccess().getRightCurlyBracketKeyword_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__Group__4__Impl"
+
+
+ // $ANTLR start "rule__WhereCS__Group_3__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5889:1: rule__WhereCS__Group_3__0 : rule__WhereCS__Group_3__0__Impl rule__WhereCS__Group_3__1 ;
+ public final void rule__WhereCS__Group_3__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5893:1: ( rule__WhereCS__Group_3__0__Impl rule__WhereCS__Group_3__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5894:2: rule__WhereCS__Group_3__0__Impl rule__WhereCS__Group_3__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__Group_3__0__Impl_in_rule__WhereCS__Group_3__012406);
+ rule__WhereCS__Group_3__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__Group_3__1_in_rule__WhereCS__Group_3__012409);
+ rule__WhereCS__Group_3__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__Group_3__0"
+
+
+ // $ANTLR start "rule__WhereCS__Group_3__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5901:1: rule__WhereCS__Group_3__0__Impl : ( ( rule__WhereCS__ExprAssignment_3_0 ) ) ;
+ public final void rule__WhereCS__Group_3__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5905:1: ( ( ( rule__WhereCS__ExprAssignment_3_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5906:1: ( ( rule__WhereCS__ExprAssignment_3_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5906:1: ( ( rule__WhereCS__ExprAssignment_3_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5907:1: ( rule__WhereCS__ExprAssignment_3_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhereCSAccess().getExprAssignment_3_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5908:1: ( rule__WhereCS__ExprAssignment_3_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5908:2: rule__WhereCS__ExprAssignment_3_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__ExprAssignment_3_0_in_rule__WhereCS__Group_3__0__Impl12436);
+ rule__WhereCS__ExprAssignment_3_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhereCSAccess().getExprAssignment_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__Group_3__0__Impl"
+
+
+ // $ANTLR start "rule__WhereCS__Group_3__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5918:1: rule__WhereCS__Group_3__1 : rule__WhereCS__Group_3__1__Impl ;
+ public final void rule__WhereCS__Group_3__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5922:1: ( rule__WhereCS__Group_3__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5923:2: rule__WhereCS__Group_3__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__WhereCS__Group_3__1__Impl_in_rule__WhereCS__Group_3__112466);
+ rule__WhereCS__Group_3__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__Group_3__1"
+
+
+ // $ANTLR start "rule__WhereCS__Group_3__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5929:1: rule__WhereCS__Group_3__1__Impl : ( ';' ) ;
+ public final void rule__WhereCS__Group_3__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5933:1: ( ( ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5934:1: ( ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5934:1: ( ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5935:1: ';'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhereCSAccess().getSemicolonKeyword_3_1());
+ }
+ match(input,17,FollowSets000.FOLLOW_17_in_rule__WhereCS__Group_3__1__Impl12494); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhereCSAccess().getSemicolonKeyword_3_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__Group_3__1__Impl"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5952:1: rule__VarDeclarationCS__Group__0 : rule__VarDeclarationCS__Group__0__Impl rule__VarDeclarationCS__Group__1 ;
+ public final void rule__VarDeclarationCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5956:1: ( rule__VarDeclarationCS__Group__0__Impl rule__VarDeclarationCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5957:2: rule__VarDeclarationCS__Group__0__Impl rule__VarDeclarationCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__Group__0__Impl_in_rule__VarDeclarationCS__Group__012529);
+ rule__VarDeclarationCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__Group__1_in_rule__VarDeclarationCS__Group__012532);
+ rule__VarDeclarationCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__Group__0"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5964:1: rule__VarDeclarationCS__Group__0__Impl : ( ( rule__VarDeclarationCS__VarDeclarationIdAssignment_0 ) ) ;
+ public final void rule__VarDeclarationCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5968:1: ( ( ( rule__VarDeclarationCS__VarDeclarationIdAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5969:1: ( ( rule__VarDeclarationCS__VarDeclarationIdAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5969:1: ( ( rule__VarDeclarationCS__VarDeclarationIdAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5970:1: ( rule__VarDeclarationCS__VarDeclarationIdAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5971:1: ( rule__VarDeclarationCS__VarDeclarationIdAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5971:2: rule__VarDeclarationCS__VarDeclarationIdAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__VarDeclarationIdAssignment_0_in_rule__VarDeclarationCS__Group__0__Impl12559);
+ rule__VarDeclarationCS__VarDeclarationIdAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5981:1: rule__VarDeclarationCS__Group__1 : rule__VarDeclarationCS__Group__1__Impl rule__VarDeclarationCS__Group__2 ;
+ public final void rule__VarDeclarationCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5985:1: ( rule__VarDeclarationCS__Group__1__Impl rule__VarDeclarationCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5986:2: rule__VarDeclarationCS__Group__1__Impl rule__VarDeclarationCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__Group__1__Impl_in_rule__VarDeclarationCS__Group__112589);
+ rule__VarDeclarationCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__Group__2_in_rule__VarDeclarationCS__Group__112592);
+ rule__VarDeclarationCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__Group__1"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5993:1: rule__VarDeclarationCS__Group__1__Impl : ( ( rule__VarDeclarationCS__Group_1__0 )* ) ;
+ public final void rule__VarDeclarationCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5997:1: ( ( ( rule__VarDeclarationCS__Group_1__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5998:1: ( ( rule__VarDeclarationCS__Group_1__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5998:1: ( ( rule__VarDeclarationCS__Group_1__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:5999:1: ( rule__VarDeclarationCS__Group_1__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getVarDeclarationCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6000:1: ( rule__VarDeclarationCS__Group_1__0 )*
+ loop54:
+ do {
+ int alt54=2;
+ int LA54_0 = input.LA(1);
+
+ if ( (LA54_0==73) ) {
+ alt54=1;
+ }
+
+
+ switch (alt54) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6000:2: rule__VarDeclarationCS__Group_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__Group_1__0_in_rule__VarDeclarationCS__Group__1__Impl12619);
+ rule__VarDeclarationCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop54;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getVarDeclarationCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6010:1: rule__VarDeclarationCS__Group__2 : rule__VarDeclarationCS__Group__2__Impl rule__VarDeclarationCS__Group__3 ;
+ public final void rule__VarDeclarationCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6014:1: ( rule__VarDeclarationCS__Group__2__Impl rule__VarDeclarationCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6015:2: rule__VarDeclarationCS__Group__2__Impl rule__VarDeclarationCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__Group__2__Impl_in_rule__VarDeclarationCS__Group__212650);
+ rule__VarDeclarationCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__Group__3_in_rule__VarDeclarationCS__Group__212653);
+ rule__VarDeclarationCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__Group__2"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6022:1: rule__VarDeclarationCS__Group__2__Impl : ( ':' ) ;
+ public final void rule__VarDeclarationCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6026:1: ( ( ':' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6027:1: ( ':' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6027:1: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6028:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getVarDeclarationCSAccess().getColonKeyword_2());
+ }
+ match(input,74,FollowSets000.FOLLOW_74_in_rule__VarDeclarationCS__Group__2__Impl12681); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getVarDeclarationCSAccess().getColonKeyword_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6041:1: rule__VarDeclarationCS__Group__3 : rule__VarDeclarationCS__Group__3__Impl rule__VarDeclarationCS__Group__4 ;
+ public final void rule__VarDeclarationCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6045:1: ( rule__VarDeclarationCS__Group__3__Impl rule__VarDeclarationCS__Group__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6046:2: rule__VarDeclarationCS__Group__3__Impl rule__VarDeclarationCS__Group__4
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__Group__3__Impl_in_rule__VarDeclarationCS__Group__312712);
+ rule__VarDeclarationCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__Group__4_in_rule__VarDeclarationCS__Group__312715);
+ rule__VarDeclarationCS__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__Group__3"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6053:1: rule__VarDeclarationCS__Group__3__Impl : ( ( rule__VarDeclarationCS__TypeAssignment_3 ) ) ;
+ public final void rule__VarDeclarationCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6057:1: ( ( ( rule__VarDeclarationCS__TypeAssignment_3 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6058:1: ( ( rule__VarDeclarationCS__TypeAssignment_3 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6058:1: ( ( rule__VarDeclarationCS__TypeAssignment_3 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6059:1: ( rule__VarDeclarationCS__TypeAssignment_3 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getVarDeclarationCSAccess().getTypeAssignment_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6060:1: ( rule__VarDeclarationCS__TypeAssignment_3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6060:2: rule__VarDeclarationCS__TypeAssignment_3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__TypeAssignment_3_in_rule__VarDeclarationCS__Group__3__Impl12742);
+ rule__VarDeclarationCS__TypeAssignment_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getVarDeclarationCSAccess().getTypeAssignment_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__Group__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6070:1: rule__VarDeclarationCS__Group__4 : rule__VarDeclarationCS__Group__4__Impl ;
+ public final void rule__VarDeclarationCS__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6074:1: ( rule__VarDeclarationCS__Group__4__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6075:2: rule__VarDeclarationCS__Group__4__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__Group__4__Impl_in_rule__VarDeclarationCS__Group__412772);
+ rule__VarDeclarationCS__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__Group__4"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__Group__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6081:1: rule__VarDeclarationCS__Group__4__Impl : ( ';' ) ;
+ public final void rule__VarDeclarationCS__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6085:1: ( ( ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6086:1: ( ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6086:1: ( ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6087:1: ';'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getVarDeclarationCSAccess().getSemicolonKeyword_4());
+ }
+ match(input,17,FollowSets000.FOLLOW_17_in_rule__VarDeclarationCS__Group__4__Impl12800); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getVarDeclarationCSAccess().getSemicolonKeyword_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__Group__4__Impl"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6110:1: rule__VarDeclarationCS__Group_1__0 : rule__VarDeclarationCS__Group_1__0__Impl rule__VarDeclarationCS__Group_1__1 ;
+ public final void rule__VarDeclarationCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6114:1: ( rule__VarDeclarationCS__Group_1__0__Impl rule__VarDeclarationCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6115:2: rule__VarDeclarationCS__Group_1__0__Impl rule__VarDeclarationCS__Group_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__Group_1__0__Impl_in_rule__VarDeclarationCS__Group_1__012841);
+ rule__VarDeclarationCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__Group_1__1_in_rule__VarDeclarationCS__Group_1__012844);
+ rule__VarDeclarationCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__Group_1__0"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6122:1: rule__VarDeclarationCS__Group_1__0__Impl : ( ',' ) ;
+ public final void rule__VarDeclarationCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6126:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6127:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6127:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6128:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getVarDeclarationCSAccess().getCommaKeyword_1_0());
+ }
+ match(input,73,FollowSets000.FOLLOW_73_in_rule__VarDeclarationCS__Group_1__0__Impl12872); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getVarDeclarationCSAccess().getCommaKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6141:1: rule__VarDeclarationCS__Group_1__1 : rule__VarDeclarationCS__Group_1__1__Impl ;
+ public final void rule__VarDeclarationCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6145:1: ( rule__VarDeclarationCS__Group_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6146:2: rule__VarDeclarationCS__Group_1__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__Group_1__1__Impl_in_rule__VarDeclarationCS__Group_1__112903);
+ rule__VarDeclarationCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__Group_1__1"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6152:1: rule__VarDeclarationCS__Group_1__1__Impl : ( ( rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1 ) ) ;
+ public final void rule__VarDeclarationCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6156:1: ( ( ( rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6157:1: ( ( rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6157:1: ( ( rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6158:1: ( rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6159:1: ( rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6159:2: rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1_in_rule__VarDeclarationCS__Group_1__1__Impl12930);
+ rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__DomainCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6173:1: rule__DomainCS__Group__0 : rule__DomainCS__Group__0__Impl rule__DomainCS__Group__1 ;
+ public final void rule__DomainCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6177:1: ( rule__DomainCS__Group__0__Impl rule__DomainCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6178:2: rule__DomainCS__Group__0__Impl rule__DomainCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group__0__Impl_in_rule__DomainCS__Group__012964);
+ rule__DomainCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group__1_in_rule__DomainCS__Group__012967);
+ rule__DomainCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group__0"
+
+
+ // $ANTLR start "rule__DomainCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6185:1: rule__DomainCS__Group__0__Impl : ( ( rule__DomainCS__Alternatives_0 )? ) ;
+ public final void rule__DomainCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6189:1: ( ( ( rule__DomainCS__Alternatives_0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6190:1: ( ( rule__DomainCS__Alternatives_0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6190:1: ( ( rule__DomainCS__Alternatives_0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6191:1: ( rule__DomainCS__Alternatives_0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getAlternatives_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6192:1: ( rule__DomainCS__Alternatives_0 )?
+ int alt55=2;
+ int LA55_0 = input.LA(1);
+
+ if ( (LA55_0==18||LA55_0==21) ) {
+ alt55=1;
+ }
+ switch (alt55) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6192:2: rule__DomainCS__Alternatives_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Alternatives_0_in_rule__DomainCS__Group__0__Impl12994);
+ rule__DomainCS__Alternatives_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getAlternatives_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__DomainCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6202:1: rule__DomainCS__Group__1 : rule__DomainCS__Group__1__Impl rule__DomainCS__Group__2 ;
+ public final void rule__DomainCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6206:1: ( rule__DomainCS__Group__1__Impl rule__DomainCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6207:2: rule__DomainCS__Group__1__Impl rule__DomainCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group__1__Impl_in_rule__DomainCS__Group__113025);
+ rule__DomainCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group__2_in_rule__DomainCS__Group__113028);
+ rule__DomainCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group__1"
+
+
+ // $ANTLR start "rule__DomainCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6214:1: rule__DomainCS__Group__1__Impl : ( 'domain' ) ;
+ public final void rule__DomainCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6218:1: ( ( 'domain' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6219:1: ( 'domain' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6219:1: ( 'domain' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6220:1: 'domain'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getDomainKeyword_1());
+ }
+ match(input,20,FollowSets000.FOLLOW_20_in_rule__DomainCS__Group__1__Impl13056); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getDomainKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__DomainCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6233:1: rule__DomainCS__Group__2 : rule__DomainCS__Group__2__Impl rule__DomainCS__Group__3 ;
+ public final void rule__DomainCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6237:1: ( rule__DomainCS__Group__2__Impl rule__DomainCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6238:2: rule__DomainCS__Group__2__Impl rule__DomainCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group__2__Impl_in_rule__DomainCS__Group__213087);
+ rule__DomainCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group__3_in_rule__DomainCS__Group__213090);
+ rule__DomainCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group__2"
+
+
+ // $ANTLR start "rule__DomainCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6245:1: rule__DomainCS__Group__2__Impl : ( ( rule__DomainCS__ModelIdAssignment_2 ) ) ;
+ public final void rule__DomainCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6249:1: ( ( ( rule__DomainCS__ModelIdAssignment_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6250:1: ( ( rule__DomainCS__ModelIdAssignment_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6250:1: ( ( rule__DomainCS__ModelIdAssignment_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6251:1: ( rule__DomainCS__ModelIdAssignment_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getModelIdAssignment_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6252:1: ( rule__DomainCS__ModelIdAssignment_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6252:2: rule__DomainCS__ModelIdAssignment_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__ModelIdAssignment_2_in_rule__DomainCS__Group__2__Impl13117);
+ rule__DomainCS__ModelIdAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getModelIdAssignment_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__DomainCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6262:1: rule__DomainCS__Group__3 : rule__DomainCS__Group__3__Impl rule__DomainCS__Group__4 ;
+ public final void rule__DomainCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6266:1: ( rule__DomainCS__Group__3__Impl rule__DomainCS__Group__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6267:2: rule__DomainCS__Group__3__Impl rule__DomainCS__Group__4
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group__3__Impl_in_rule__DomainCS__Group__313147);
+ rule__DomainCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group__4_in_rule__DomainCS__Group__313150);
+ rule__DomainCS__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group__3"
+
+
+ // $ANTLR start "rule__DomainCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6274:1: rule__DomainCS__Group__3__Impl : ( ( rule__DomainCS__TemplateAssignment_3 ) ) ;
+ public final void rule__DomainCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6278:1: ( ( ( rule__DomainCS__TemplateAssignment_3 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6279:1: ( ( rule__DomainCS__TemplateAssignment_3 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6279:1: ( ( rule__DomainCS__TemplateAssignment_3 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6280:1: ( rule__DomainCS__TemplateAssignment_3 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getTemplateAssignment_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6281:1: ( rule__DomainCS__TemplateAssignment_3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6281:2: rule__DomainCS__TemplateAssignment_3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__TemplateAssignment_3_in_rule__DomainCS__Group__3__Impl13177);
+ rule__DomainCS__TemplateAssignment_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getTemplateAssignment_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__DomainCS__Group__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6291:1: rule__DomainCS__Group__4 : rule__DomainCS__Group__4__Impl rule__DomainCS__Group__5 ;
+ public final void rule__DomainCS__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6295:1: ( rule__DomainCS__Group__4__Impl rule__DomainCS__Group__5 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6296:2: rule__DomainCS__Group__4__Impl rule__DomainCS__Group__5
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group__4__Impl_in_rule__DomainCS__Group__413207);
+ rule__DomainCS__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group__5_in_rule__DomainCS__Group__413210);
+ rule__DomainCS__Group__5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group__4"
+
+
+ // $ANTLR start "rule__DomainCS__Group__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6303:1: rule__DomainCS__Group__4__Impl : ( ( rule__DomainCS__Group_4__0 )? ) ;
+ public final void rule__DomainCS__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6307:1: ( ( ( rule__DomainCS__Group_4__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6308:1: ( ( rule__DomainCS__Group_4__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6308:1: ( ( rule__DomainCS__Group_4__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6309:1: ( rule__DomainCS__Group_4__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getGroup_4());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6310:1: ( rule__DomainCS__Group_4__0 )?
+ int alt56=2;
+ int LA56_0 = input.LA(1);
+
+ if ( (LA56_0==23) ) {
+ alt56=1;
+ }
+ switch (alt56) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6310:2: rule__DomainCS__Group_4__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group_4__0_in_rule__DomainCS__Group__4__Impl13237);
+ rule__DomainCS__Group_4__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getGroup_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group__4__Impl"
+
+
+ // $ANTLR start "rule__DomainCS__Group__5"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6320:1: rule__DomainCS__Group__5 : rule__DomainCS__Group__5__Impl rule__DomainCS__Group__6 ;
+ public final void rule__DomainCS__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6324:1: ( rule__DomainCS__Group__5__Impl rule__DomainCS__Group__6 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6325:2: rule__DomainCS__Group__5__Impl rule__DomainCS__Group__6
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group__5__Impl_in_rule__DomainCS__Group__513268);
+ rule__DomainCS__Group__5__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group__6_in_rule__DomainCS__Group__513271);
+ rule__DomainCS__Group__6();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group__5"
+
+
+ // $ANTLR start "rule__DomainCS__Group__5__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6332:1: rule__DomainCS__Group__5__Impl : ( ( rule__DomainCS__Group_5__0 )? ) ;
+ public final void rule__DomainCS__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6336:1: ( ( ( rule__DomainCS__Group_5__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6337:1: ( ( rule__DomainCS__Group_5__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6337:1: ( ( rule__DomainCS__Group_5__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6338:1: ( rule__DomainCS__Group_5__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getGroup_5());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6339:1: ( rule__DomainCS__Group_5__0 )?
+ int alt57=2;
+ int LA57_0 = input.LA(1);
+
+ if ( (LA57_0==19) ) {
+ alt57=1;
+ }
+ switch (alt57) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6339:2: rule__DomainCS__Group_5__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group_5__0_in_rule__DomainCS__Group__5__Impl13298);
+ rule__DomainCS__Group_5__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getGroup_5());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group__5__Impl"
+
+
+ // $ANTLR start "rule__DomainCS__Group__6"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6349:1: rule__DomainCS__Group__6 : rule__DomainCS__Group__6__Impl ;
+ public final void rule__DomainCS__Group__6() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6353:1: ( rule__DomainCS__Group__6__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6354:2: rule__DomainCS__Group__6__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group__6__Impl_in_rule__DomainCS__Group__613329);
+ rule__DomainCS__Group__6__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group__6"
+
+
+ // $ANTLR start "rule__DomainCS__Group__6__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6360:1: rule__DomainCS__Group__6__Impl : ( ';' ) ;
+ public final void rule__DomainCS__Group__6__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6364:1: ( ( ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6365:1: ( ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6365:1: ( ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6366:1: ';'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getSemicolonKeyword_6());
+ }
+ match(input,17,FollowSets000.FOLLOW_17_in_rule__DomainCS__Group__6__Impl13357); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getSemicolonKeyword_6());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group__6__Impl"
+
+
+ // $ANTLR start "rule__DomainCS__Group_4__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6393:1: rule__DomainCS__Group_4__0 : rule__DomainCS__Group_4__0__Impl rule__DomainCS__Group_4__1 ;
+ public final void rule__DomainCS__Group_4__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6397:1: ( rule__DomainCS__Group_4__0__Impl rule__DomainCS__Group_4__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6398:2: rule__DomainCS__Group_4__0__Impl rule__DomainCS__Group_4__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group_4__0__Impl_in_rule__DomainCS__Group_4__013402);
+ rule__DomainCS__Group_4__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group_4__1_in_rule__DomainCS__Group_4__013405);
+ rule__DomainCS__Group_4__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group_4__0"
+
+
+ // $ANTLR start "rule__DomainCS__Group_4__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6405:1: rule__DomainCS__Group_4__0__Impl : ( 'implementedby' ) ;
+ public final void rule__DomainCS__Group_4__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6409:1: ( ( 'implementedby' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6410:1: ( 'implementedby' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6410:1: ( 'implementedby' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6411:1: 'implementedby'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getImplementedbyKeyword_4_0());
+ }
+ match(input,23,FollowSets000.FOLLOW_23_in_rule__DomainCS__Group_4__0__Impl13433); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getImplementedbyKeyword_4_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group_4__0__Impl"
+
+
+ // $ANTLR start "rule__DomainCS__Group_4__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6424:1: rule__DomainCS__Group_4__1 : rule__DomainCS__Group_4__1__Impl ;
+ public final void rule__DomainCS__Group_4__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6428:1: ( rule__DomainCS__Group_4__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6429:2: rule__DomainCS__Group_4__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group_4__1__Impl_in_rule__DomainCS__Group_4__113464);
+ rule__DomainCS__Group_4__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group_4__1"
+
+
+ // $ANTLR start "rule__DomainCS__Group_4__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6435:1: rule__DomainCS__Group_4__1__Impl : ( ( rule__DomainCS__ImplementedByAssignment_4_1 ) ) ;
+ public final void rule__DomainCS__Group_4__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6439:1: ( ( ( rule__DomainCS__ImplementedByAssignment_4_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6440:1: ( ( rule__DomainCS__ImplementedByAssignment_4_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6440:1: ( ( rule__DomainCS__ImplementedByAssignment_4_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6441:1: ( rule__DomainCS__ImplementedByAssignment_4_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getImplementedByAssignment_4_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6442:1: ( rule__DomainCS__ImplementedByAssignment_4_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6442:2: rule__DomainCS__ImplementedByAssignment_4_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__ImplementedByAssignment_4_1_in_rule__DomainCS__Group_4__1__Impl13491);
+ rule__DomainCS__ImplementedByAssignment_4_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getImplementedByAssignment_4_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group_4__1__Impl"
+
+
+ // $ANTLR start "rule__DomainCS__Group_5__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6456:1: rule__DomainCS__Group_5__0 : rule__DomainCS__Group_5__0__Impl rule__DomainCS__Group_5__1 ;
+ public final void rule__DomainCS__Group_5__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6460:1: ( rule__DomainCS__Group_5__0__Impl rule__DomainCS__Group_5__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6461:2: rule__DomainCS__Group_5__0__Impl rule__DomainCS__Group_5__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group_5__0__Impl_in_rule__DomainCS__Group_5__013525);
+ rule__DomainCS__Group_5__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group_5__1_in_rule__DomainCS__Group_5__013528);
+ rule__DomainCS__Group_5__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group_5__0"
+
+
+ // $ANTLR start "rule__DomainCS__Group_5__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6468:1: rule__DomainCS__Group_5__0__Impl : ( 'default_values' ) ;
+ public final void rule__DomainCS__Group_5__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6472:1: ( ( 'default_values' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6473:1: ( 'default_values' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6473:1: ( 'default_values' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6474:1: 'default_values'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getDefault_valuesKeyword_5_0());
+ }
+ match(input,19,FollowSets000.FOLLOW_19_in_rule__DomainCS__Group_5__0__Impl13556); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getDefault_valuesKeyword_5_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group_5__0__Impl"
+
+
+ // $ANTLR start "rule__DomainCS__Group_5__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6487:1: rule__DomainCS__Group_5__1 : rule__DomainCS__Group_5__1__Impl rule__DomainCS__Group_5__2 ;
+ public final void rule__DomainCS__Group_5__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6491:1: ( rule__DomainCS__Group_5__1__Impl rule__DomainCS__Group_5__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6492:2: rule__DomainCS__Group_5__1__Impl rule__DomainCS__Group_5__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group_5__1__Impl_in_rule__DomainCS__Group_5__113587);
+ rule__DomainCS__Group_5__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group_5__2_in_rule__DomainCS__Group_5__113590);
+ rule__DomainCS__Group_5__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group_5__1"
+
+
+ // $ANTLR start "rule__DomainCS__Group_5__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6499:1: rule__DomainCS__Group_5__1__Impl : ( '{' ) ;
+ public final void rule__DomainCS__Group_5__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6503:1: ( ( '{' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6504:1: ( '{' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6504:1: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6505:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getLeftCurlyBracketKeyword_5_1());
+ }
+ match(input,71,FollowSets000.FOLLOW_71_in_rule__DomainCS__Group_5__1__Impl13618); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getLeftCurlyBracketKeyword_5_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group_5__1__Impl"
+
+
+ // $ANTLR start "rule__DomainCS__Group_5__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6518:1: rule__DomainCS__Group_5__2 : rule__DomainCS__Group_5__2__Impl rule__DomainCS__Group_5__3 ;
+ public final void rule__DomainCS__Group_5__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6522:1: ( rule__DomainCS__Group_5__2__Impl rule__DomainCS__Group_5__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6523:2: rule__DomainCS__Group_5__2__Impl rule__DomainCS__Group_5__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group_5__2__Impl_in_rule__DomainCS__Group_5__213649);
+ rule__DomainCS__Group_5__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group_5__3_in_rule__DomainCS__Group_5__213652);
+ rule__DomainCS__Group_5__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group_5__2"
+
+
+ // $ANTLR start "rule__DomainCS__Group_5__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6530:1: rule__DomainCS__Group_5__2__Impl : ( ( ( rule__DomainCS__DefaultValueAssignment_5_2 ) ) ( ( rule__DomainCS__DefaultValueAssignment_5_2 )* ) ) ;
+ public final void rule__DomainCS__Group_5__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6534:1: ( ( ( ( rule__DomainCS__DefaultValueAssignment_5_2 ) ) ( ( rule__DomainCS__DefaultValueAssignment_5_2 )* ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6535:1: ( ( ( rule__DomainCS__DefaultValueAssignment_5_2 ) ) ( ( rule__DomainCS__DefaultValueAssignment_5_2 )* ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6535:1: ( ( ( rule__DomainCS__DefaultValueAssignment_5_2 ) ) ( ( rule__DomainCS__DefaultValueAssignment_5_2 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6536:1: ( ( rule__DomainCS__DefaultValueAssignment_5_2 ) ) ( ( rule__DomainCS__DefaultValueAssignment_5_2 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6536:1: ( ( rule__DomainCS__DefaultValueAssignment_5_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6537:1: ( rule__DomainCS__DefaultValueAssignment_5_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getDefaultValueAssignment_5_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6538:1: ( rule__DomainCS__DefaultValueAssignment_5_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6538:2: rule__DomainCS__DefaultValueAssignment_5_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__DefaultValueAssignment_5_2_in_rule__DomainCS__Group_5__2__Impl13681);
+ rule__DomainCS__DefaultValueAssignment_5_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getDefaultValueAssignment_5_2());
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6541:1: ( ( rule__DomainCS__DefaultValueAssignment_5_2 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6542:1: ( rule__DomainCS__DefaultValueAssignment_5_2 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getDefaultValueAssignment_5_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6543:1: ( rule__DomainCS__DefaultValueAssignment_5_2 )*
+ loop58:
+ do {
+ int alt58=2;
+ int LA58_0 = input.LA(1);
+
+ if ( ((LA58_0>=RULE_SIMPLE_ID && LA58_0<=RULE_ESCAPED_ID)||(LA58_0>=18 && LA58_0<=34)||(LA58_0>=36 && LA58_0<=37)) ) {
+ alt58=1;
+ }
+
+
+ switch (alt58) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6543:2: rule__DomainCS__DefaultValueAssignment_5_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__DefaultValueAssignment_5_2_in_rule__DomainCS__Group_5__2__Impl13693);
+ rule__DomainCS__DefaultValueAssignment_5_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop58;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getDefaultValueAssignment_5_2());
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group_5__2__Impl"
+
+
+ // $ANTLR start "rule__DomainCS__Group_5__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6554:1: rule__DomainCS__Group_5__3 : rule__DomainCS__Group_5__3__Impl ;
+ public final void rule__DomainCS__Group_5__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6558:1: ( rule__DomainCS__Group_5__3__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6559:2: rule__DomainCS__Group_5__3__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DomainCS__Group_5__3__Impl_in_rule__DomainCS__Group_5__313726);
+ rule__DomainCS__Group_5__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group_5__3"
+
+
+ // $ANTLR start "rule__DomainCS__Group_5__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6565:1: rule__DomainCS__Group_5__3__Impl : ( '}' ) ;
+ public final void rule__DomainCS__Group_5__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6569:1: ( ( '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6570:1: ( '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6570:1: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6571:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getRightCurlyBracketKeyword_5_3());
+ }
+ match(input,72,FollowSets000.FOLLOW_72_in_rule__DomainCS__Group_5__3__Impl13754); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getRightCurlyBracketKeyword_5_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__Group_5__3__Impl"
+
+
+ // $ANTLR start "rule__PrimitiveTypeDomainCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6592:1: rule__PrimitiveTypeDomainCS__Group__0 : rule__PrimitiveTypeDomainCS__Group__0__Impl rule__PrimitiveTypeDomainCS__Group__1 ;
+ public final void rule__PrimitiveTypeDomainCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6596:1: ( rule__PrimitiveTypeDomainCS__Group__0__Impl rule__PrimitiveTypeDomainCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6597:2: rule__PrimitiveTypeDomainCS__Group__0__Impl rule__PrimitiveTypeDomainCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeDomainCS__Group__0__Impl_in_rule__PrimitiveTypeDomainCS__Group__013793);
+ rule__PrimitiveTypeDomainCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeDomainCS__Group__1_in_rule__PrimitiveTypeDomainCS__Group__013796);
+ rule__PrimitiveTypeDomainCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeDomainCS__Group__0"
+
+
+ // $ANTLR start "rule__PrimitiveTypeDomainCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6604:1: rule__PrimitiveTypeDomainCS__Group__0__Impl : ( 'primitive' ) ;
+ public final void rule__PrimitiveTypeDomainCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6608:1: ( ( 'primitive' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6609:1: ( 'primitive' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6609:1: ( 'primitive' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6610:1: 'primitive'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getPrimitiveKeyword_0());
+ }
+ match(input,27,FollowSets000.FOLLOW_27_in_rule__PrimitiveTypeDomainCS__Group__0__Impl13824); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getPrimitiveKeyword_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeDomainCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__PrimitiveTypeDomainCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6623:1: rule__PrimitiveTypeDomainCS__Group__1 : rule__PrimitiveTypeDomainCS__Group__1__Impl rule__PrimitiveTypeDomainCS__Group__2 ;
+ public final void rule__PrimitiveTypeDomainCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6627:1: ( rule__PrimitiveTypeDomainCS__Group__1__Impl rule__PrimitiveTypeDomainCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6628:2: rule__PrimitiveTypeDomainCS__Group__1__Impl rule__PrimitiveTypeDomainCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeDomainCS__Group__1__Impl_in_rule__PrimitiveTypeDomainCS__Group__113855);
+ rule__PrimitiveTypeDomainCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeDomainCS__Group__2_in_rule__PrimitiveTypeDomainCS__Group__113858);
+ rule__PrimitiveTypeDomainCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeDomainCS__Group__1"
+
+
+ // $ANTLR start "rule__PrimitiveTypeDomainCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6635:1: rule__PrimitiveTypeDomainCS__Group__1__Impl : ( 'domain' ) ;
+ public final void rule__PrimitiveTypeDomainCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6639:1: ( ( 'domain' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6640:1: ( 'domain' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6640:1: ( 'domain' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6641:1: 'domain'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getDomainKeyword_1());
+ }
+ match(input,20,FollowSets000.FOLLOW_20_in_rule__PrimitiveTypeDomainCS__Group__1__Impl13886); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getDomainKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeDomainCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__PrimitiveTypeDomainCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6654:1: rule__PrimitiveTypeDomainCS__Group__2 : rule__PrimitiveTypeDomainCS__Group__2__Impl rule__PrimitiveTypeDomainCS__Group__3 ;
+ public final void rule__PrimitiveTypeDomainCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6658:1: ( rule__PrimitiveTypeDomainCS__Group__2__Impl rule__PrimitiveTypeDomainCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6659:2: rule__PrimitiveTypeDomainCS__Group__2__Impl rule__PrimitiveTypeDomainCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeDomainCS__Group__2__Impl_in_rule__PrimitiveTypeDomainCS__Group__213917);
+ rule__PrimitiveTypeDomainCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeDomainCS__Group__3_in_rule__PrimitiveTypeDomainCS__Group__213920);
+ rule__PrimitiveTypeDomainCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeDomainCS__Group__2"
+
+
+ // $ANTLR start "rule__PrimitiveTypeDomainCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6666:1: rule__PrimitiveTypeDomainCS__Group__2__Impl : ( ( rule__PrimitiveTypeDomainCS__NameAssignment_2 ) ) ;
+ public final void rule__PrimitiveTypeDomainCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6670:1: ( ( ( rule__PrimitiveTypeDomainCS__NameAssignment_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6671:1: ( ( rule__PrimitiveTypeDomainCS__NameAssignment_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6671:1: ( ( rule__PrimitiveTypeDomainCS__NameAssignment_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6672:1: ( rule__PrimitiveTypeDomainCS__NameAssignment_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getNameAssignment_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6673:1: ( rule__PrimitiveTypeDomainCS__NameAssignment_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6673:2: rule__PrimitiveTypeDomainCS__NameAssignment_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeDomainCS__NameAssignment_2_in_rule__PrimitiveTypeDomainCS__Group__2__Impl13947);
+ rule__PrimitiveTypeDomainCS__NameAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getNameAssignment_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeDomainCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__PrimitiveTypeDomainCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6683:1: rule__PrimitiveTypeDomainCS__Group__3 : rule__PrimitiveTypeDomainCS__Group__3__Impl rule__PrimitiveTypeDomainCS__Group__4 ;
+ public final void rule__PrimitiveTypeDomainCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6687:1: ( rule__PrimitiveTypeDomainCS__Group__3__Impl rule__PrimitiveTypeDomainCS__Group__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6688:2: rule__PrimitiveTypeDomainCS__Group__3__Impl rule__PrimitiveTypeDomainCS__Group__4
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeDomainCS__Group__3__Impl_in_rule__PrimitiveTypeDomainCS__Group__313977);
+ rule__PrimitiveTypeDomainCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeDomainCS__Group__4_in_rule__PrimitiveTypeDomainCS__Group__313980);
+ rule__PrimitiveTypeDomainCS__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeDomainCS__Group__3"
+
+
+ // $ANTLR start "rule__PrimitiveTypeDomainCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6695:1: rule__PrimitiveTypeDomainCS__Group__3__Impl : ( ':' ) ;
+ public final void rule__PrimitiveTypeDomainCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6699:1: ( ( ':' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6700:1: ( ':' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6700:1: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6701:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getColonKeyword_3());
+ }
+ match(input,74,FollowSets000.FOLLOW_74_in_rule__PrimitiveTypeDomainCS__Group__3__Impl14008); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getColonKeyword_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeDomainCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__PrimitiveTypeDomainCS__Group__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6714:1: rule__PrimitiveTypeDomainCS__Group__4 : rule__PrimitiveTypeDomainCS__Group__4__Impl rule__PrimitiveTypeDomainCS__Group__5 ;
+ public final void rule__PrimitiveTypeDomainCS__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6718:1: ( rule__PrimitiveTypeDomainCS__Group__4__Impl rule__PrimitiveTypeDomainCS__Group__5 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6719:2: rule__PrimitiveTypeDomainCS__Group__4__Impl rule__PrimitiveTypeDomainCS__Group__5
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeDomainCS__Group__4__Impl_in_rule__PrimitiveTypeDomainCS__Group__414039);
+ rule__PrimitiveTypeDomainCS__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeDomainCS__Group__5_in_rule__PrimitiveTypeDomainCS__Group__414042);
+ rule__PrimitiveTypeDomainCS__Group__5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeDomainCS__Group__4"
+
+
+ // $ANTLR start "rule__PrimitiveTypeDomainCS__Group__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6726:1: rule__PrimitiveTypeDomainCS__Group__4__Impl : ( ( rule__PrimitiveTypeDomainCS__TypeAssignment_4 ) ) ;
+ public final void rule__PrimitiveTypeDomainCS__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6730:1: ( ( ( rule__PrimitiveTypeDomainCS__TypeAssignment_4 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6731:1: ( ( rule__PrimitiveTypeDomainCS__TypeAssignment_4 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6731:1: ( ( rule__PrimitiveTypeDomainCS__TypeAssignment_4 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6732:1: ( rule__PrimitiveTypeDomainCS__TypeAssignment_4 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getTypeAssignment_4());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6733:1: ( rule__PrimitiveTypeDomainCS__TypeAssignment_4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6733:2: rule__PrimitiveTypeDomainCS__TypeAssignment_4
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeDomainCS__TypeAssignment_4_in_rule__PrimitiveTypeDomainCS__Group__4__Impl14069);
+ rule__PrimitiveTypeDomainCS__TypeAssignment_4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getTypeAssignment_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeDomainCS__Group__4__Impl"
+
+
+ // $ANTLR start "rule__PrimitiveTypeDomainCS__Group__5"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6743:1: rule__PrimitiveTypeDomainCS__Group__5 : rule__PrimitiveTypeDomainCS__Group__5__Impl ;
+ public final void rule__PrimitiveTypeDomainCS__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6747:1: ( rule__PrimitiveTypeDomainCS__Group__5__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6748:2: rule__PrimitiveTypeDomainCS__Group__5__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeDomainCS__Group__5__Impl_in_rule__PrimitiveTypeDomainCS__Group__514099);
+ rule__PrimitiveTypeDomainCS__Group__5__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeDomainCS__Group__5"
+
+
+ // $ANTLR start "rule__PrimitiveTypeDomainCS__Group__5__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6754:1: rule__PrimitiveTypeDomainCS__Group__5__Impl : ( ';' ) ;
+ public final void rule__PrimitiveTypeDomainCS__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6758:1: ( ( ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6759:1: ( ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6759:1: ( ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6760:1: ';'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getSemicolonKeyword_5());
+ }
+ match(input,17,FollowSets000.FOLLOW_17_in_rule__PrimitiveTypeDomainCS__Group__5__Impl14127); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getSemicolonKeyword_5());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeDomainCS__Group__5__Impl"
+
+
+ // $ANTLR start "rule__TemplateCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6785:1: rule__TemplateCS__Group__0 : rule__TemplateCS__Group__0__Impl rule__TemplateCS__Group__1 ;
+ public final void rule__TemplateCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6789:1: ( rule__TemplateCS__Group__0__Impl rule__TemplateCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6790:2: rule__TemplateCS__Group__0__Impl rule__TemplateCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TemplateCS__Group__0__Impl_in_rule__TemplateCS__Group__014170);
+ rule__TemplateCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TemplateCS__Group__1_in_rule__TemplateCS__Group__014173);
+ rule__TemplateCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TemplateCS__Group__0"
+
+
+ // $ANTLR start "rule__TemplateCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6797:1: rule__TemplateCS__Group__0__Impl : ( ( rule__TemplateCS__Alternatives_0 ) ) ;
+ public final void rule__TemplateCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6801:1: ( ( ( rule__TemplateCS__Alternatives_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6802:1: ( ( rule__TemplateCS__Alternatives_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6802:1: ( ( rule__TemplateCS__Alternatives_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6803:1: ( rule__TemplateCS__Alternatives_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTemplateCSAccess().getAlternatives_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6804:1: ( rule__TemplateCS__Alternatives_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6804:2: rule__TemplateCS__Alternatives_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TemplateCS__Alternatives_0_in_rule__TemplateCS__Group__0__Impl14200);
+ rule__TemplateCS__Alternatives_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTemplateCSAccess().getAlternatives_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TemplateCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__TemplateCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6814:1: rule__TemplateCS__Group__1 : rule__TemplateCS__Group__1__Impl ;
+ public final void rule__TemplateCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6818:1: ( rule__TemplateCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6819:2: rule__TemplateCS__Group__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TemplateCS__Group__1__Impl_in_rule__TemplateCS__Group__114230);
+ rule__TemplateCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TemplateCS__Group__1"
+
+
+ // $ANTLR start "rule__TemplateCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6825:1: rule__TemplateCS__Group__1__Impl : ( ( rule__TemplateCS__Group_1__0 )? ) ;
+ public final void rule__TemplateCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6829:1: ( ( ( rule__TemplateCS__Group_1__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6830:1: ( ( rule__TemplateCS__Group_1__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6830:1: ( ( rule__TemplateCS__Group_1__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6831:1: ( rule__TemplateCS__Group_1__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTemplateCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6832:1: ( rule__TemplateCS__Group_1__0 )?
+ int alt59=2;
+ int LA59_0 = input.LA(1);
+
+ if ( (LA59_0==71) ) {
+ alt59=1;
+ }
+ switch (alt59) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6832:2: rule__TemplateCS__Group_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TemplateCS__Group_1__0_in_rule__TemplateCS__Group__1__Impl14257);
+ rule__TemplateCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTemplateCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TemplateCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__TemplateCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6846:1: rule__TemplateCS__Group_1__0 : rule__TemplateCS__Group_1__0__Impl rule__TemplateCS__Group_1__1 ;
+ public final void rule__TemplateCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6850:1: ( rule__TemplateCS__Group_1__0__Impl rule__TemplateCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6851:2: rule__TemplateCS__Group_1__0__Impl rule__TemplateCS__Group_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TemplateCS__Group_1__0__Impl_in_rule__TemplateCS__Group_1__014292);
+ rule__TemplateCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TemplateCS__Group_1__1_in_rule__TemplateCS__Group_1__014295);
+ rule__TemplateCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TemplateCS__Group_1__0"
+
+
+ // $ANTLR start "rule__TemplateCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6858:1: rule__TemplateCS__Group_1__0__Impl : ( '{' ) ;
+ public final void rule__TemplateCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6862:1: ( ( '{' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6863:1: ( '{' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6863:1: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6864:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTemplateCSAccess().getLeftCurlyBracketKeyword_1_0());
+ }
+ match(input,71,FollowSets000.FOLLOW_71_in_rule__TemplateCS__Group_1__0__Impl14323); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTemplateCSAccess().getLeftCurlyBracketKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TemplateCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__TemplateCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6877:1: rule__TemplateCS__Group_1__1 : rule__TemplateCS__Group_1__1__Impl rule__TemplateCS__Group_1__2 ;
+ public final void rule__TemplateCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6881:1: ( rule__TemplateCS__Group_1__1__Impl rule__TemplateCS__Group_1__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6882:2: rule__TemplateCS__Group_1__1__Impl rule__TemplateCS__Group_1__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TemplateCS__Group_1__1__Impl_in_rule__TemplateCS__Group_1__114354);
+ rule__TemplateCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TemplateCS__Group_1__2_in_rule__TemplateCS__Group_1__114357);
+ rule__TemplateCS__Group_1__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TemplateCS__Group_1__1"
+
+
+ // $ANTLR start "rule__TemplateCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6889:1: rule__TemplateCS__Group_1__1__Impl : ( ( rule__TemplateCS__GuardExpressionAssignment_1_1 ) ) ;
+ public final void rule__TemplateCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6893:1: ( ( ( rule__TemplateCS__GuardExpressionAssignment_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6894:1: ( ( rule__TemplateCS__GuardExpressionAssignment_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6894:1: ( ( rule__TemplateCS__GuardExpressionAssignment_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6895:1: ( rule__TemplateCS__GuardExpressionAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTemplateCSAccess().getGuardExpressionAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6896:1: ( rule__TemplateCS__GuardExpressionAssignment_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6896:2: rule__TemplateCS__GuardExpressionAssignment_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TemplateCS__GuardExpressionAssignment_1_1_in_rule__TemplateCS__Group_1__1__Impl14384);
+ rule__TemplateCS__GuardExpressionAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTemplateCSAccess().getGuardExpressionAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TemplateCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__TemplateCS__Group_1__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6906:1: rule__TemplateCS__Group_1__2 : rule__TemplateCS__Group_1__2__Impl ;
+ public final void rule__TemplateCS__Group_1__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6910:1: ( rule__TemplateCS__Group_1__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6911:2: rule__TemplateCS__Group_1__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TemplateCS__Group_1__2__Impl_in_rule__TemplateCS__Group_1__214414);
+ rule__TemplateCS__Group_1__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TemplateCS__Group_1__2"
+
+
+ // $ANTLR start "rule__TemplateCS__Group_1__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6917:1: rule__TemplateCS__Group_1__2__Impl : ( '}' ) ;
+ public final void rule__TemplateCS__Group_1__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6921:1: ( ( '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6922:1: ( '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6922:1: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6923:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTemplateCSAccess().getRightCurlyBracketKeyword_1_2());
+ }
+ match(input,72,FollowSets000.FOLLOW_72_in_rule__TemplateCS__Group_1__2__Impl14442); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTemplateCSAccess().getRightCurlyBracketKeyword_1_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TemplateCS__Group_1__2__Impl"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6942:1: rule__ObjectTemplateCS__Group__0 : rule__ObjectTemplateCS__Group__0__Impl rule__ObjectTemplateCS__Group__1 ;
+ public final void rule__ObjectTemplateCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6946:1: ( rule__ObjectTemplateCS__Group__0__Impl rule__ObjectTemplateCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6947:2: rule__ObjectTemplateCS__Group__0__Impl rule__ObjectTemplateCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group__0__Impl_in_rule__ObjectTemplateCS__Group__014479);
+ rule__ObjectTemplateCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group__1_in_rule__ObjectTemplateCS__Group__014482);
+ rule__ObjectTemplateCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group__0"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6954:1: rule__ObjectTemplateCS__Group__0__Impl : ( ( rule__ObjectTemplateCS__PropertyIdAssignment_0 )? ) ;
+ public final void rule__ObjectTemplateCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6958:1: ( ( ( rule__ObjectTemplateCS__PropertyIdAssignment_0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6959:1: ( ( rule__ObjectTemplateCS__PropertyIdAssignment_0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6959:1: ( ( rule__ObjectTemplateCS__PropertyIdAssignment_0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6960:1: ( rule__ObjectTemplateCS__PropertyIdAssignment_0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getPropertyIdAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6961:1: ( rule__ObjectTemplateCS__PropertyIdAssignment_0 )?
+ int alt60=2;
+ int LA60_0 = input.LA(1);
+
+ if ( ((LA60_0>=RULE_SIMPLE_ID && LA60_0<=RULE_ESCAPED_ID)||(LA60_0>=18 && LA60_0<=34)||(LA60_0>=36 && LA60_0<=37)) ) {
+ alt60=1;
+ }
+ switch (alt60) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6961:2: rule__ObjectTemplateCS__PropertyIdAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__PropertyIdAssignment_0_in_rule__ObjectTemplateCS__Group__0__Impl14509);
+ rule__ObjectTemplateCS__PropertyIdAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getPropertyIdAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6971:1: rule__ObjectTemplateCS__Group__1 : rule__ObjectTemplateCS__Group__1__Impl rule__ObjectTemplateCS__Group__2 ;
+ public final void rule__ObjectTemplateCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6975:1: ( rule__ObjectTemplateCS__Group__1__Impl rule__ObjectTemplateCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6976:2: rule__ObjectTemplateCS__Group__1__Impl rule__ObjectTemplateCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group__1__Impl_in_rule__ObjectTemplateCS__Group__114540);
+ rule__ObjectTemplateCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group__2_in_rule__ObjectTemplateCS__Group__114543);
+ rule__ObjectTemplateCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group__1"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6983:1: rule__ObjectTemplateCS__Group__1__Impl : ( ':' ) ;
+ public final void rule__ObjectTemplateCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6987:1: ( ( ':' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6988:1: ( ':' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6988:1: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:6989:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getColonKeyword_1());
+ }
+ match(input,74,FollowSets000.FOLLOW_74_in_rule__ObjectTemplateCS__Group__1__Impl14571); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getColonKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7002:1: rule__ObjectTemplateCS__Group__2 : rule__ObjectTemplateCS__Group__2__Impl rule__ObjectTemplateCS__Group__3 ;
+ public final void rule__ObjectTemplateCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7006:1: ( rule__ObjectTemplateCS__Group__2__Impl rule__ObjectTemplateCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7007:2: rule__ObjectTemplateCS__Group__2__Impl rule__ObjectTemplateCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group__2__Impl_in_rule__ObjectTemplateCS__Group__214602);
+ rule__ObjectTemplateCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group__3_in_rule__ObjectTemplateCS__Group__214605);
+ rule__ObjectTemplateCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group__2"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7014:1: rule__ObjectTemplateCS__Group__2__Impl : ( ( rule__ObjectTemplateCS__TypeAssignment_2 ) ) ;
+ public final void rule__ObjectTemplateCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7018:1: ( ( ( rule__ObjectTemplateCS__TypeAssignment_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7019:1: ( ( rule__ObjectTemplateCS__TypeAssignment_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7019:1: ( ( rule__ObjectTemplateCS__TypeAssignment_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7020:1: ( rule__ObjectTemplateCS__TypeAssignment_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getTypeAssignment_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7021:1: ( rule__ObjectTemplateCS__TypeAssignment_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7021:2: rule__ObjectTemplateCS__TypeAssignment_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__TypeAssignment_2_in_rule__ObjectTemplateCS__Group__2__Impl14632);
+ rule__ObjectTemplateCS__TypeAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getTypeAssignment_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7031:1: rule__ObjectTemplateCS__Group__3 : rule__ObjectTemplateCS__Group__3__Impl rule__ObjectTemplateCS__Group__4 ;
+ public final void rule__ObjectTemplateCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7035:1: ( rule__ObjectTemplateCS__Group__3__Impl rule__ObjectTemplateCS__Group__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7036:2: rule__ObjectTemplateCS__Group__3__Impl rule__ObjectTemplateCS__Group__4
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group__3__Impl_in_rule__ObjectTemplateCS__Group__314662);
+ rule__ObjectTemplateCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group__4_in_rule__ObjectTemplateCS__Group__314665);
+ rule__ObjectTemplateCS__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group__3"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7043:1: rule__ObjectTemplateCS__Group__3__Impl : ( '{' ) ;
+ public final void rule__ObjectTemplateCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7047:1: ( ( '{' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7048:1: ( '{' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7048:1: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7049:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getLeftCurlyBracketKeyword_3());
+ }
+ match(input,71,FollowSets000.FOLLOW_71_in_rule__ObjectTemplateCS__Group__3__Impl14693); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getLeftCurlyBracketKeyword_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7062:1: rule__ObjectTemplateCS__Group__4 : rule__ObjectTemplateCS__Group__4__Impl rule__ObjectTemplateCS__Group__5 ;
+ public final void rule__ObjectTemplateCS__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7066:1: ( rule__ObjectTemplateCS__Group__4__Impl rule__ObjectTemplateCS__Group__5 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7067:2: rule__ObjectTemplateCS__Group__4__Impl rule__ObjectTemplateCS__Group__5
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group__4__Impl_in_rule__ObjectTemplateCS__Group__414724);
+ rule__ObjectTemplateCS__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group__5_in_rule__ObjectTemplateCS__Group__414727);
+ rule__ObjectTemplateCS__Group__5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group__4"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7074:1: rule__ObjectTemplateCS__Group__4__Impl : ( ( rule__ObjectTemplateCS__Group_4__0 )? ) ;
+ public final void rule__ObjectTemplateCS__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7078:1: ( ( ( rule__ObjectTemplateCS__Group_4__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7079:1: ( ( rule__ObjectTemplateCS__Group_4__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7079:1: ( ( rule__ObjectTemplateCS__Group_4__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7080:1: ( rule__ObjectTemplateCS__Group_4__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getGroup_4());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7081:1: ( rule__ObjectTemplateCS__Group_4__0 )?
+ int alt61=2;
+ int LA61_0 = input.LA(1);
+
+ if ( ((LA61_0>=RULE_SIMPLE_ID && LA61_0<=RULE_ESCAPED_ID)||(LA61_0>=18 && LA61_0<=34)||(LA61_0>=36 && LA61_0<=37)) ) {
+ alt61=1;
+ }
+ switch (alt61) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7081:2: rule__ObjectTemplateCS__Group_4__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group_4__0_in_rule__ObjectTemplateCS__Group__4__Impl14754);
+ rule__ObjectTemplateCS__Group_4__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getGroup_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group__4__Impl"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group__5"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7091:1: rule__ObjectTemplateCS__Group__5 : rule__ObjectTemplateCS__Group__5__Impl ;
+ public final void rule__ObjectTemplateCS__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7095:1: ( rule__ObjectTemplateCS__Group__5__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7096:2: rule__ObjectTemplateCS__Group__5__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group__5__Impl_in_rule__ObjectTemplateCS__Group__514785);
+ rule__ObjectTemplateCS__Group__5__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group__5"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group__5__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7102:1: rule__ObjectTemplateCS__Group__5__Impl : ( '}' ) ;
+ public final void rule__ObjectTemplateCS__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7106:1: ( ( '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7107:1: ( '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7107:1: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7108:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getRightCurlyBracketKeyword_5());
+ }
+ match(input,72,FollowSets000.FOLLOW_72_in_rule__ObjectTemplateCS__Group__5__Impl14813); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getRightCurlyBracketKeyword_5());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group__5__Impl"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group_4__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7133:1: rule__ObjectTemplateCS__Group_4__0 : rule__ObjectTemplateCS__Group_4__0__Impl rule__ObjectTemplateCS__Group_4__1 ;
+ public final void rule__ObjectTemplateCS__Group_4__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7137:1: ( rule__ObjectTemplateCS__Group_4__0__Impl rule__ObjectTemplateCS__Group_4__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7138:2: rule__ObjectTemplateCS__Group_4__0__Impl rule__ObjectTemplateCS__Group_4__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group_4__0__Impl_in_rule__ObjectTemplateCS__Group_4__014856);
+ rule__ObjectTemplateCS__Group_4__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group_4__1_in_rule__ObjectTemplateCS__Group_4__014859);
+ rule__ObjectTemplateCS__Group_4__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group_4__0"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group_4__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7145:1: rule__ObjectTemplateCS__Group_4__0__Impl : ( ( rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0 ) ) ;
+ public final void rule__ObjectTemplateCS__Group_4__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7149:1: ( ( ( rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7150:1: ( ( rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7150:1: ( ( rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7151:1: ( rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplateAssignment_4_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7152:1: ( rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7152:2: rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0_in_rule__ObjectTemplateCS__Group_4__0__Impl14886);
+ rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplateAssignment_4_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group_4__0__Impl"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group_4__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7162:1: rule__ObjectTemplateCS__Group_4__1 : rule__ObjectTemplateCS__Group_4__1__Impl ;
+ public final void rule__ObjectTemplateCS__Group_4__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7166:1: ( rule__ObjectTemplateCS__Group_4__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7167:2: rule__ObjectTemplateCS__Group_4__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group_4__1__Impl_in_rule__ObjectTemplateCS__Group_4__114916);
+ rule__ObjectTemplateCS__Group_4__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group_4__1"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group_4__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7173:1: rule__ObjectTemplateCS__Group_4__1__Impl : ( ( rule__ObjectTemplateCS__Group_4_1__0 )* ) ;
+ public final void rule__ObjectTemplateCS__Group_4__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7177:1: ( ( ( rule__ObjectTemplateCS__Group_4_1__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7178:1: ( ( rule__ObjectTemplateCS__Group_4_1__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7178:1: ( ( rule__ObjectTemplateCS__Group_4_1__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7179:1: ( rule__ObjectTemplateCS__Group_4_1__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getGroup_4_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7180:1: ( rule__ObjectTemplateCS__Group_4_1__0 )*
+ loop62:
+ do {
+ int alt62=2;
+ int LA62_0 = input.LA(1);
+
+ if ( (LA62_0==73) ) {
+ alt62=1;
+ }
+
+
+ switch (alt62) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7180:2: rule__ObjectTemplateCS__Group_4_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group_4_1__0_in_rule__ObjectTemplateCS__Group_4__1__Impl14943);
+ rule__ObjectTemplateCS__Group_4_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop62;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getGroup_4_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group_4__1__Impl"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group_4_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7194:1: rule__ObjectTemplateCS__Group_4_1__0 : rule__ObjectTemplateCS__Group_4_1__0__Impl rule__ObjectTemplateCS__Group_4_1__1 ;
+ public final void rule__ObjectTemplateCS__Group_4_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7198:1: ( rule__ObjectTemplateCS__Group_4_1__0__Impl rule__ObjectTemplateCS__Group_4_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7199:2: rule__ObjectTemplateCS__Group_4_1__0__Impl rule__ObjectTemplateCS__Group_4_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group_4_1__0__Impl_in_rule__ObjectTemplateCS__Group_4_1__014978);
+ rule__ObjectTemplateCS__Group_4_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group_4_1__1_in_rule__ObjectTemplateCS__Group_4_1__014981);
+ rule__ObjectTemplateCS__Group_4_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group_4_1__0"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group_4_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7206:1: rule__ObjectTemplateCS__Group_4_1__0__Impl : ( ',' ) ;
+ public final void rule__ObjectTemplateCS__Group_4_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7210:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7211:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7211:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7212:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getCommaKeyword_4_1_0());
+ }
+ match(input,73,FollowSets000.FOLLOW_73_in_rule__ObjectTemplateCS__Group_4_1__0__Impl15009); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getCommaKeyword_4_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group_4_1__0__Impl"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group_4_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7225:1: rule__ObjectTemplateCS__Group_4_1__1 : rule__ObjectTemplateCS__Group_4_1__1__Impl ;
+ public final void rule__ObjectTemplateCS__Group_4_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7229:1: ( rule__ObjectTemplateCS__Group_4_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7230:2: rule__ObjectTemplateCS__Group_4_1__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__Group_4_1__1__Impl_in_rule__ObjectTemplateCS__Group_4_1__115040);
+ rule__ObjectTemplateCS__Group_4_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group_4_1__1"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__Group_4_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7236:1: rule__ObjectTemplateCS__Group_4_1__1__Impl : ( ( rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1 ) ) ;
+ public final void rule__ObjectTemplateCS__Group_4_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7240:1: ( ( ( rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7241:1: ( ( rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7241:1: ( ( rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7242:1: ( rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplateAssignment_4_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7243:1: ( rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7243:2: rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1_in_rule__ObjectTemplateCS__Group_4_1__1__Impl15067);
+ rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplateAssignment_4_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__Group_4_1__1__Impl"
+
+
+ // $ANTLR start "rule__PropertyTemplateCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7257:1: rule__PropertyTemplateCS__Group__0 : rule__PropertyTemplateCS__Group__0__Impl rule__PropertyTemplateCS__Group__1 ;
+ public final void rule__PropertyTemplateCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7261:1: ( rule__PropertyTemplateCS__Group__0__Impl rule__PropertyTemplateCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7262:2: rule__PropertyTemplateCS__Group__0__Impl rule__PropertyTemplateCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PropertyTemplateCS__Group__0__Impl_in_rule__PropertyTemplateCS__Group__015101);
+ rule__PropertyTemplateCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__PropertyTemplateCS__Group__1_in_rule__PropertyTemplateCS__Group__015104);
+ rule__PropertyTemplateCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PropertyTemplateCS__Group__0"
+
+
+ // $ANTLR start "rule__PropertyTemplateCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7269:1: rule__PropertyTemplateCS__Group__0__Impl : ( ( rule__PropertyTemplateCS__PropertyIdAssignment_0 ) ) ;
+ public final void rule__PropertyTemplateCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7273:1: ( ( ( rule__PropertyTemplateCS__PropertyIdAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7274:1: ( ( rule__PropertyTemplateCS__PropertyIdAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7274:1: ( ( rule__PropertyTemplateCS__PropertyIdAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7275:1: ( rule__PropertyTemplateCS__PropertyIdAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7276:1: ( rule__PropertyTemplateCS__PropertyIdAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7276:2: rule__PropertyTemplateCS__PropertyIdAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PropertyTemplateCS__PropertyIdAssignment_0_in_rule__PropertyTemplateCS__Group__0__Impl15131);
+ rule__PropertyTemplateCS__PropertyIdAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PropertyTemplateCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__PropertyTemplateCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7286:1: rule__PropertyTemplateCS__Group__1 : rule__PropertyTemplateCS__Group__1__Impl rule__PropertyTemplateCS__Group__2 ;
+ public final void rule__PropertyTemplateCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7290:1: ( rule__PropertyTemplateCS__Group__1__Impl rule__PropertyTemplateCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7291:2: rule__PropertyTemplateCS__Group__1__Impl rule__PropertyTemplateCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PropertyTemplateCS__Group__1__Impl_in_rule__PropertyTemplateCS__Group__115161);
+ rule__PropertyTemplateCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__PropertyTemplateCS__Group__2_in_rule__PropertyTemplateCS__Group__115164);
+ rule__PropertyTemplateCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PropertyTemplateCS__Group__1"
+
+
+ // $ANTLR start "rule__PropertyTemplateCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7298:1: rule__PropertyTemplateCS__Group__1__Impl : ( '=' ) ;
+ public final void rule__PropertyTemplateCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7302:1: ( ( '=' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7303:1: ( '=' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7303:1: ( '=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7304:1: '='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPropertyTemplateCSAccess().getEqualsSignKeyword_1());
+ }
+ match(input,46,FollowSets000.FOLLOW_46_in_rule__PropertyTemplateCS__Group__1__Impl15192); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPropertyTemplateCSAccess().getEqualsSignKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PropertyTemplateCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__PropertyTemplateCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7317:1: rule__PropertyTemplateCS__Group__2 : rule__PropertyTemplateCS__Group__2__Impl ;
+ public final void rule__PropertyTemplateCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7321:1: ( rule__PropertyTemplateCS__Group__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7322:2: rule__PropertyTemplateCS__Group__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PropertyTemplateCS__Group__2__Impl_in_rule__PropertyTemplateCS__Group__215223);
+ rule__PropertyTemplateCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PropertyTemplateCS__Group__2"
+
+
+ // $ANTLR start "rule__PropertyTemplateCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7328:1: rule__PropertyTemplateCS__Group__2__Impl : ( ( rule__PropertyTemplateCS__OclExpressionAssignment_2 ) ) ;
+ public final void rule__PropertyTemplateCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7332:1: ( ( ( rule__PropertyTemplateCS__OclExpressionAssignment_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7333:1: ( ( rule__PropertyTemplateCS__OclExpressionAssignment_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7333:1: ( ( rule__PropertyTemplateCS__OclExpressionAssignment_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7334:1: ( rule__PropertyTemplateCS__OclExpressionAssignment_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPropertyTemplateCSAccess().getOclExpressionAssignment_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7335:1: ( rule__PropertyTemplateCS__OclExpressionAssignment_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7335:2: rule__PropertyTemplateCS__OclExpressionAssignment_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PropertyTemplateCS__OclExpressionAssignment_2_in_rule__PropertyTemplateCS__Group__2__Impl15250);
+ rule__PropertyTemplateCS__OclExpressionAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPropertyTemplateCSAccess().getOclExpressionAssignment_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PropertyTemplateCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7351:1: rule__CollectionTemplateCS__Group__0 : rule__CollectionTemplateCS__Group__0__Impl rule__CollectionTemplateCS__Group__1 ;
+ public final void rule__CollectionTemplateCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7355:1: ( rule__CollectionTemplateCS__Group__0__Impl rule__CollectionTemplateCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7356:2: rule__CollectionTemplateCS__Group__0__Impl rule__CollectionTemplateCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group__0__Impl_in_rule__CollectionTemplateCS__Group__015286);
+ rule__CollectionTemplateCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group__1_in_rule__CollectionTemplateCS__Group__015289);
+ rule__CollectionTemplateCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group__0"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7363:1: rule__CollectionTemplateCS__Group__0__Impl : ( ( rule__CollectionTemplateCS__PropertyIdAssignment_0 )? ) ;
+ public final void rule__CollectionTemplateCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7367:1: ( ( ( rule__CollectionTemplateCS__PropertyIdAssignment_0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7368:1: ( ( rule__CollectionTemplateCS__PropertyIdAssignment_0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7368:1: ( ( rule__CollectionTemplateCS__PropertyIdAssignment_0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7369:1: ( rule__CollectionTemplateCS__PropertyIdAssignment_0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7370:1: ( rule__CollectionTemplateCS__PropertyIdAssignment_0 )?
+ int alt63=2;
+ int LA63_0 = input.LA(1);
+
+ if ( ((LA63_0>=RULE_SIMPLE_ID && LA63_0<=RULE_ESCAPED_ID)||(LA63_0>=18 && LA63_0<=34)||(LA63_0>=36 && LA63_0<=37)) ) {
+ alt63=1;
+ }
+ switch (alt63) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7370:2: rule__CollectionTemplateCS__PropertyIdAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__PropertyIdAssignment_0_in_rule__CollectionTemplateCS__Group__0__Impl15316);
+ rule__CollectionTemplateCS__PropertyIdAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7380:1: rule__CollectionTemplateCS__Group__1 : rule__CollectionTemplateCS__Group__1__Impl rule__CollectionTemplateCS__Group__2 ;
+ public final void rule__CollectionTemplateCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7384:1: ( rule__CollectionTemplateCS__Group__1__Impl rule__CollectionTemplateCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7385:2: rule__CollectionTemplateCS__Group__1__Impl rule__CollectionTemplateCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group__1__Impl_in_rule__CollectionTemplateCS__Group__115347);
+ rule__CollectionTemplateCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group__2_in_rule__CollectionTemplateCS__Group__115350);
+ rule__CollectionTemplateCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group__1"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7392:1: rule__CollectionTemplateCS__Group__1__Impl : ( ':' ) ;
+ public final void rule__CollectionTemplateCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7396:1: ( ( ':' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7397:1: ( ':' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7397:1: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7398:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getColonKeyword_1());
+ }
+ match(input,74,FollowSets000.FOLLOW_74_in_rule__CollectionTemplateCS__Group__1__Impl15378); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getColonKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7411:1: rule__CollectionTemplateCS__Group__2 : rule__CollectionTemplateCS__Group__2__Impl rule__CollectionTemplateCS__Group__3 ;
+ public final void rule__CollectionTemplateCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7415:1: ( rule__CollectionTemplateCS__Group__2__Impl rule__CollectionTemplateCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7416:2: rule__CollectionTemplateCS__Group__2__Impl rule__CollectionTemplateCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group__2__Impl_in_rule__CollectionTemplateCS__Group__215409);
+ rule__CollectionTemplateCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group__3_in_rule__CollectionTemplateCS__Group__215412);
+ rule__CollectionTemplateCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group__2"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7423:1: rule__CollectionTemplateCS__Group__2__Impl : ( ( rule__CollectionTemplateCS__TypeAssignment_2 ) ) ;
+ public final void rule__CollectionTemplateCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7427:1: ( ( ( rule__CollectionTemplateCS__TypeAssignment_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7428:1: ( ( rule__CollectionTemplateCS__TypeAssignment_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7428:1: ( ( rule__CollectionTemplateCS__TypeAssignment_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7429:1: ( rule__CollectionTemplateCS__TypeAssignment_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getTypeAssignment_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7430:1: ( rule__CollectionTemplateCS__TypeAssignment_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7430:2: rule__CollectionTemplateCS__TypeAssignment_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__TypeAssignment_2_in_rule__CollectionTemplateCS__Group__2__Impl15439);
+ rule__CollectionTemplateCS__TypeAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getTypeAssignment_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7440:1: rule__CollectionTemplateCS__Group__3 : rule__CollectionTemplateCS__Group__3__Impl rule__CollectionTemplateCS__Group__4 ;
+ public final void rule__CollectionTemplateCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7444:1: ( rule__CollectionTemplateCS__Group__3__Impl rule__CollectionTemplateCS__Group__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7445:2: rule__CollectionTemplateCS__Group__3__Impl rule__CollectionTemplateCS__Group__4
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group__3__Impl_in_rule__CollectionTemplateCS__Group__315469);
+ rule__CollectionTemplateCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group__4_in_rule__CollectionTemplateCS__Group__315472);
+ rule__CollectionTemplateCS__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group__3"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7452:1: rule__CollectionTemplateCS__Group__3__Impl : ( '{' ) ;
+ public final void rule__CollectionTemplateCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7456:1: ( ( '{' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7457:1: ( '{' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7457:1: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7458:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getLeftCurlyBracketKeyword_3());
+ }
+ match(input,71,FollowSets000.FOLLOW_71_in_rule__CollectionTemplateCS__Group__3__Impl15500); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getLeftCurlyBracketKeyword_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7471:1: rule__CollectionTemplateCS__Group__4 : rule__CollectionTemplateCS__Group__4__Impl rule__CollectionTemplateCS__Group__5 ;
+ public final void rule__CollectionTemplateCS__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7475:1: ( rule__CollectionTemplateCS__Group__4__Impl rule__CollectionTemplateCS__Group__5 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7476:2: rule__CollectionTemplateCS__Group__4__Impl rule__CollectionTemplateCS__Group__5
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group__4__Impl_in_rule__CollectionTemplateCS__Group__415531);
+ rule__CollectionTemplateCS__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group__5_in_rule__CollectionTemplateCS__Group__415534);
+ rule__CollectionTemplateCS__Group__5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group__4"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7483:1: rule__CollectionTemplateCS__Group__4__Impl : ( ( rule__CollectionTemplateCS__Group_4__0 )? ) ;
+ public final void rule__CollectionTemplateCS__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7487:1: ( ( ( rule__CollectionTemplateCS__Group_4__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7488:1: ( ( rule__CollectionTemplateCS__Group_4__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7488:1: ( ( rule__CollectionTemplateCS__Group_4__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7489:1: ( rule__CollectionTemplateCS__Group_4__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getGroup_4());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7490:1: ( rule__CollectionTemplateCS__Group_4__0 )?
+ int alt64=2;
+ int LA64_0 = input.LA(1);
+
+ if ( ((LA64_0>=RULE_SIMPLE_ID && LA64_0<=RULE_ESCAPED_ID)||(LA64_0>=18 && LA64_0<=34)||(LA64_0>=36 && LA64_0<=37)||LA64_0==74||LA64_0==76) ) {
+ alt64=1;
+ }
+ switch (alt64) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7490:2: rule__CollectionTemplateCS__Group_4__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group_4__0_in_rule__CollectionTemplateCS__Group__4__Impl15561);
+ rule__CollectionTemplateCS__Group_4__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getGroup_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group__4__Impl"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group__5"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7500:1: rule__CollectionTemplateCS__Group__5 : rule__CollectionTemplateCS__Group__5__Impl ;
+ public final void rule__CollectionTemplateCS__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7504:1: ( rule__CollectionTemplateCS__Group__5__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7505:2: rule__CollectionTemplateCS__Group__5__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group__5__Impl_in_rule__CollectionTemplateCS__Group__515592);
+ rule__CollectionTemplateCS__Group__5__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group__5"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group__5__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7511:1: rule__CollectionTemplateCS__Group__5__Impl : ( '}' ) ;
+ public final void rule__CollectionTemplateCS__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7515:1: ( ( '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7516:1: ( '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7516:1: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7517:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getRightCurlyBracketKeyword_5());
+ }
+ match(input,72,FollowSets000.FOLLOW_72_in_rule__CollectionTemplateCS__Group__5__Impl15620); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getRightCurlyBracketKeyword_5());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group__5__Impl"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group_4__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7542:1: rule__CollectionTemplateCS__Group_4__0 : rule__CollectionTemplateCS__Group_4__0__Impl rule__CollectionTemplateCS__Group_4__1 ;
+ public final void rule__CollectionTemplateCS__Group_4__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7546:1: ( rule__CollectionTemplateCS__Group_4__0__Impl rule__CollectionTemplateCS__Group_4__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7547:2: rule__CollectionTemplateCS__Group_4__0__Impl rule__CollectionTemplateCS__Group_4__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group_4__0__Impl_in_rule__CollectionTemplateCS__Group_4__015663);
+ rule__CollectionTemplateCS__Group_4__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group_4__1_in_rule__CollectionTemplateCS__Group_4__015666);
+ rule__CollectionTemplateCS__Group_4__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group_4__0"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group_4__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7554:1: rule__CollectionTemplateCS__Group_4__0__Impl : ( ( rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0 ) ) ;
+ public final void rule__CollectionTemplateCS__Group_4__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7558:1: ( ( ( rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7559:1: ( ( rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7559:1: ( ( rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7560:1: ( rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAssignment_4_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7561:1: ( rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7561:2: rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0_in_rule__CollectionTemplateCS__Group_4__0__Impl15693);
+ rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAssignment_4_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group_4__0__Impl"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group_4__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7571:1: rule__CollectionTemplateCS__Group_4__1 : rule__CollectionTemplateCS__Group_4__1__Impl rule__CollectionTemplateCS__Group_4__2 ;
+ public final void rule__CollectionTemplateCS__Group_4__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7575:1: ( rule__CollectionTemplateCS__Group_4__1__Impl rule__CollectionTemplateCS__Group_4__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7576:2: rule__CollectionTemplateCS__Group_4__1__Impl rule__CollectionTemplateCS__Group_4__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group_4__1__Impl_in_rule__CollectionTemplateCS__Group_4__115723);
+ rule__CollectionTemplateCS__Group_4__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group_4__2_in_rule__CollectionTemplateCS__Group_4__115726);
+ rule__CollectionTemplateCS__Group_4__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group_4__1"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group_4__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7583:1: rule__CollectionTemplateCS__Group_4__1__Impl : ( ( rule__CollectionTemplateCS__Group_4_1__0 )* ) ;
+ public final void rule__CollectionTemplateCS__Group_4__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7587:1: ( ( ( rule__CollectionTemplateCS__Group_4_1__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7588:1: ( ( rule__CollectionTemplateCS__Group_4_1__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7588:1: ( ( rule__CollectionTemplateCS__Group_4_1__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7589:1: ( rule__CollectionTemplateCS__Group_4_1__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getGroup_4_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7590:1: ( rule__CollectionTemplateCS__Group_4_1__0 )*
+ loop65:
+ do {
+ int alt65=2;
+ int LA65_0 = input.LA(1);
+
+ if ( (LA65_0==73) ) {
+ alt65=1;
+ }
+
+
+ switch (alt65) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7590:2: rule__CollectionTemplateCS__Group_4_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group_4_1__0_in_rule__CollectionTemplateCS__Group_4__1__Impl15753);
+ rule__CollectionTemplateCS__Group_4_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop65;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getGroup_4_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group_4__1__Impl"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group_4__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7600:1: rule__CollectionTemplateCS__Group_4__2 : rule__CollectionTemplateCS__Group_4__2__Impl rule__CollectionTemplateCS__Group_4__3 ;
+ public final void rule__CollectionTemplateCS__Group_4__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7604:1: ( rule__CollectionTemplateCS__Group_4__2__Impl rule__CollectionTemplateCS__Group_4__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7605:2: rule__CollectionTemplateCS__Group_4__2__Impl rule__CollectionTemplateCS__Group_4__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group_4__2__Impl_in_rule__CollectionTemplateCS__Group_4__215784);
+ rule__CollectionTemplateCS__Group_4__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group_4__3_in_rule__CollectionTemplateCS__Group_4__215787);
+ rule__CollectionTemplateCS__Group_4__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group_4__2"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group_4__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7612:1: rule__CollectionTemplateCS__Group_4__2__Impl : ( '++' ) ;
+ public final void rule__CollectionTemplateCS__Group_4__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7616:1: ( ( '++' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7617:1: ( '++' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7617:1: ( '++' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7618:1: '++'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getPlusSignPlusSignKeyword_4_2());
+ }
+ match(input,75,FollowSets000.FOLLOW_75_in_rule__CollectionTemplateCS__Group_4__2__Impl15815); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getPlusSignPlusSignKeyword_4_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group_4__2__Impl"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group_4__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7631:1: rule__CollectionTemplateCS__Group_4__3 : rule__CollectionTemplateCS__Group_4__3__Impl ;
+ public final void rule__CollectionTemplateCS__Group_4__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7635:1: ( rule__CollectionTemplateCS__Group_4__3__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7636:2: rule__CollectionTemplateCS__Group_4__3__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group_4__3__Impl_in_rule__CollectionTemplateCS__Group_4__315846);
+ rule__CollectionTemplateCS__Group_4__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group_4__3"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group_4__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7642:1: rule__CollectionTemplateCS__Group_4__3__Impl : ( ( rule__CollectionTemplateCS__RestIdentifierAssignment_4_3 )? ) ;
+ public final void rule__CollectionTemplateCS__Group_4__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7646:1: ( ( ( rule__CollectionTemplateCS__RestIdentifierAssignment_4_3 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7647:1: ( ( rule__CollectionTemplateCS__RestIdentifierAssignment_4_3 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7647:1: ( ( rule__CollectionTemplateCS__RestIdentifierAssignment_4_3 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7648:1: ( rule__CollectionTemplateCS__RestIdentifierAssignment_4_3 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAssignment_4_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7649:1: ( rule__CollectionTemplateCS__RestIdentifierAssignment_4_3 )?
+ int alt66=2;
+ int LA66_0 = input.LA(1);
+
+ if ( ((LA66_0>=RULE_SIMPLE_ID && LA66_0<=RULE_ESCAPED_ID)||(LA66_0>=18 && LA66_0<=34)||(LA66_0>=36 && LA66_0<=37)||LA66_0==76) ) {
+ alt66=1;
+ }
+ switch (alt66) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7649:2: rule__CollectionTemplateCS__RestIdentifierAssignment_4_3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__RestIdentifierAssignment_4_3_in_rule__CollectionTemplateCS__Group_4__3__Impl15873);
+ rule__CollectionTemplateCS__RestIdentifierAssignment_4_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAssignment_4_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group_4__3__Impl"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group_4_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7667:1: rule__CollectionTemplateCS__Group_4_1__0 : rule__CollectionTemplateCS__Group_4_1__0__Impl rule__CollectionTemplateCS__Group_4_1__1 ;
+ public final void rule__CollectionTemplateCS__Group_4_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7671:1: ( rule__CollectionTemplateCS__Group_4_1__0__Impl rule__CollectionTemplateCS__Group_4_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7672:2: rule__CollectionTemplateCS__Group_4_1__0__Impl rule__CollectionTemplateCS__Group_4_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group_4_1__0__Impl_in_rule__CollectionTemplateCS__Group_4_1__015912);
+ rule__CollectionTemplateCS__Group_4_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group_4_1__1_in_rule__CollectionTemplateCS__Group_4_1__015915);
+ rule__CollectionTemplateCS__Group_4_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group_4_1__0"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group_4_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7679:1: rule__CollectionTemplateCS__Group_4_1__0__Impl : ( ',' ) ;
+ public final void rule__CollectionTemplateCS__Group_4_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7683:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7684:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7684:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7685:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getCommaKeyword_4_1_0());
+ }
+ match(input,73,FollowSets000.FOLLOW_73_in_rule__CollectionTemplateCS__Group_4_1__0__Impl15943); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getCommaKeyword_4_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group_4_1__0__Impl"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group_4_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7698:1: rule__CollectionTemplateCS__Group_4_1__1 : rule__CollectionTemplateCS__Group_4_1__1__Impl ;
+ public final void rule__CollectionTemplateCS__Group_4_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7702:1: ( rule__CollectionTemplateCS__Group_4_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7703:2: rule__CollectionTemplateCS__Group_4_1__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__Group_4_1__1__Impl_in_rule__CollectionTemplateCS__Group_4_1__115974);
+ rule__CollectionTemplateCS__Group_4_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group_4_1__1"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__Group_4_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7709:1: rule__CollectionTemplateCS__Group_4_1__1__Impl : ( ( rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1 ) ) ;
+ public final void rule__CollectionTemplateCS__Group_4_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7713:1: ( ( ( rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7714:1: ( ( rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7714:1: ( ( rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7715:1: ( rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAssignment_4_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7716:1: ( rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7716:2: rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1_in_rule__CollectionTemplateCS__Group_4_1__1__Impl16001);
+ rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAssignment_4_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__Group_4_1__1__Impl"
+
+
+ // $ANTLR start "rule__AnyElementCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7730:1: rule__AnyElementCS__Group__0 : rule__AnyElementCS__Group__0__Impl rule__AnyElementCS__Group__1 ;
+ public final void rule__AnyElementCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7734:1: ( rule__AnyElementCS__Group__0__Impl rule__AnyElementCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7735:2: rule__AnyElementCS__Group__0__Impl rule__AnyElementCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__AnyElementCS__Group__0__Impl_in_rule__AnyElementCS__Group__016035);
+ rule__AnyElementCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__AnyElementCS__Group__1_in_rule__AnyElementCS__Group__016038);
+ rule__AnyElementCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AnyElementCS__Group__0"
+
+
+ // $ANTLR start "rule__AnyElementCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7742:1: rule__AnyElementCS__Group__0__Impl : ( () ) ;
+ public final void rule__AnyElementCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7746:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7747:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7747:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7748:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getAnyElementCSAccess().getAnyElementCSAction_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7749:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7751:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getAnyElementCSAccess().getAnyElementCSAction_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AnyElementCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__AnyElementCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7761:1: rule__AnyElementCS__Group__1 : rule__AnyElementCS__Group__1__Impl ;
+ public final void rule__AnyElementCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7765:1: ( rule__AnyElementCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7766:2: rule__AnyElementCS__Group__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__AnyElementCS__Group__1__Impl_in_rule__AnyElementCS__Group__116096);
+ rule__AnyElementCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AnyElementCS__Group__1"
+
+
+ // $ANTLR start "rule__AnyElementCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7772:1: rule__AnyElementCS__Group__1__Impl : ( '_' ) ;
+ public final void rule__AnyElementCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7776:1: ( ( '_' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7777:1: ( '_' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7777:1: ( '_' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7778:1: '_'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getAnyElementCSAccess().get_Keyword_1());
+ }
+ match(input,76,FollowSets000.FOLLOW_76_in_rule__AnyElementCS__Group__1__Impl16124); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getAnyElementCSAccess().get_Keyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AnyElementCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__DefaultValueCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7795:1: rule__DefaultValueCS__Group__0 : rule__DefaultValueCS__Group__0__Impl rule__DefaultValueCS__Group__1 ;
+ public final void rule__DefaultValueCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7799:1: ( rule__DefaultValueCS__Group__0__Impl rule__DefaultValueCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7800:2: rule__DefaultValueCS__Group__0__Impl rule__DefaultValueCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DefaultValueCS__Group__0__Impl_in_rule__DefaultValueCS__Group__016159);
+ rule__DefaultValueCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__DefaultValueCS__Group__1_in_rule__DefaultValueCS__Group__016162);
+ rule__DefaultValueCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DefaultValueCS__Group__0"
+
+
+ // $ANTLR start "rule__DefaultValueCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7807:1: rule__DefaultValueCS__Group__0__Impl : ( ( rule__DefaultValueCS__PropertyIdAssignment_0 ) ) ;
+ public final void rule__DefaultValueCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7811:1: ( ( ( rule__DefaultValueCS__PropertyIdAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7812:1: ( ( rule__DefaultValueCS__PropertyIdAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7812:1: ( ( rule__DefaultValueCS__PropertyIdAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7813:1: ( rule__DefaultValueCS__PropertyIdAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDefaultValueCSAccess().getPropertyIdAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7814:1: ( rule__DefaultValueCS__PropertyIdAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7814:2: rule__DefaultValueCS__PropertyIdAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DefaultValueCS__PropertyIdAssignment_0_in_rule__DefaultValueCS__Group__0__Impl16189);
+ rule__DefaultValueCS__PropertyIdAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDefaultValueCSAccess().getPropertyIdAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DefaultValueCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__DefaultValueCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7824:1: rule__DefaultValueCS__Group__1 : rule__DefaultValueCS__Group__1__Impl rule__DefaultValueCS__Group__2 ;
+ public final void rule__DefaultValueCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7828:1: ( rule__DefaultValueCS__Group__1__Impl rule__DefaultValueCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7829:2: rule__DefaultValueCS__Group__1__Impl rule__DefaultValueCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DefaultValueCS__Group__1__Impl_in_rule__DefaultValueCS__Group__116219);
+ rule__DefaultValueCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__DefaultValueCS__Group__2_in_rule__DefaultValueCS__Group__116222);
+ rule__DefaultValueCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DefaultValueCS__Group__1"
+
+
+ // $ANTLR start "rule__DefaultValueCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7836:1: rule__DefaultValueCS__Group__1__Impl : ( '=' ) ;
+ public final void rule__DefaultValueCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7840:1: ( ( '=' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7841:1: ( '=' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7841:1: ( '=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7842:1: '='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDefaultValueCSAccess().getEqualsSignKeyword_1());
+ }
+ match(input,46,FollowSets000.FOLLOW_46_in_rule__DefaultValueCS__Group__1__Impl16250); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDefaultValueCSAccess().getEqualsSignKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DefaultValueCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__DefaultValueCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7855:1: rule__DefaultValueCS__Group__2 : rule__DefaultValueCS__Group__2__Impl rule__DefaultValueCS__Group__3 ;
+ public final void rule__DefaultValueCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7859:1: ( rule__DefaultValueCS__Group__2__Impl rule__DefaultValueCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7860:2: rule__DefaultValueCS__Group__2__Impl rule__DefaultValueCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DefaultValueCS__Group__2__Impl_in_rule__DefaultValueCS__Group__216281);
+ rule__DefaultValueCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__DefaultValueCS__Group__3_in_rule__DefaultValueCS__Group__216284);
+ rule__DefaultValueCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DefaultValueCS__Group__2"
+
+
+ // $ANTLR start "rule__DefaultValueCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7867:1: rule__DefaultValueCS__Group__2__Impl : ( ( rule__DefaultValueCS__InitialiserAssignment_2 ) ) ;
+ public final void rule__DefaultValueCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7871:1: ( ( ( rule__DefaultValueCS__InitialiserAssignment_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7872:1: ( ( rule__DefaultValueCS__InitialiserAssignment_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7872:1: ( ( rule__DefaultValueCS__InitialiserAssignment_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7873:1: ( rule__DefaultValueCS__InitialiserAssignment_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDefaultValueCSAccess().getInitialiserAssignment_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7874:1: ( rule__DefaultValueCS__InitialiserAssignment_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7874:2: rule__DefaultValueCS__InitialiserAssignment_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DefaultValueCS__InitialiserAssignment_2_in_rule__DefaultValueCS__Group__2__Impl16311);
+ rule__DefaultValueCS__InitialiserAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDefaultValueCSAccess().getInitialiserAssignment_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DefaultValueCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__DefaultValueCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7884:1: rule__DefaultValueCS__Group__3 : rule__DefaultValueCS__Group__3__Impl ;
+ public final void rule__DefaultValueCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7888:1: ( rule__DefaultValueCS__Group__3__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7889:2: rule__DefaultValueCS__Group__3__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__DefaultValueCS__Group__3__Impl_in_rule__DefaultValueCS__Group__316341);
+ rule__DefaultValueCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DefaultValueCS__Group__3"
+
+
+ // $ANTLR start "rule__DefaultValueCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7895:1: rule__DefaultValueCS__Group__3__Impl : ( ';' ) ;
+ public final void rule__DefaultValueCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7899:1: ( ( ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7900:1: ( ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7900:1: ( ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7901:1: ';'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDefaultValueCSAccess().getSemicolonKeyword_3());
+ }
+ match(input,17,FollowSets000.FOLLOW_17_in_rule__DefaultValueCS__Group__3__Impl16369); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDefaultValueCSAccess().getSemicolonKeyword_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DefaultValueCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7922:1: rule__QueryCS__Group__0 : rule__QueryCS__Group__0__Impl rule__QueryCS__Group__1 ;
+ public final void rule__QueryCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7926:1: ( rule__QueryCS__Group__0__Impl rule__QueryCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7927:2: rule__QueryCS__Group__0__Impl rule__QueryCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__0__Impl_in_rule__QueryCS__Group__016408);
+ rule__QueryCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__1_in_rule__QueryCS__Group__016411);
+ rule__QueryCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__0"
+
+
+ // $ANTLR start "rule__QueryCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7934:1: rule__QueryCS__Group__0__Impl : ( 'query' ) ;
+ public final void rule__QueryCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7938:1: ( ( 'query' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7939:1: ( 'query' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7939:1: ( 'query' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7940:1: 'query'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getQueryKeyword_0());
+ }
+ match(input,28,FollowSets000.FOLLOW_28_in_rule__QueryCS__Group__0__Impl16439); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getQueryKeyword_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7953:1: rule__QueryCS__Group__1 : rule__QueryCS__Group__1__Impl rule__QueryCS__Group__2 ;
+ public final void rule__QueryCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7957:1: ( rule__QueryCS__Group__1__Impl rule__QueryCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7958:2: rule__QueryCS__Group__1__Impl rule__QueryCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__1__Impl_in_rule__QueryCS__Group__116470);
+ rule__QueryCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__2_in_rule__QueryCS__Group__116473);
+ rule__QueryCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__1"
+
+
+ // $ANTLR start "rule__QueryCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7965:1: rule__QueryCS__Group__1__Impl : ( ( rule__QueryCS__PathNameAssignment_1 ) ) ;
+ public final void rule__QueryCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7969:1: ( ( ( rule__QueryCS__PathNameAssignment_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7970:1: ( ( rule__QueryCS__PathNameAssignment_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7970:1: ( ( rule__QueryCS__PathNameAssignment_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7971:1: ( rule__QueryCS__PathNameAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getPathNameAssignment_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7972:1: ( rule__QueryCS__PathNameAssignment_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7972:2: rule__QueryCS__PathNameAssignment_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__PathNameAssignment_1_in_rule__QueryCS__Group__1__Impl16500);
+ rule__QueryCS__PathNameAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getPathNameAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7982:1: rule__QueryCS__Group__2 : rule__QueryCS__Group__2__Impl rule__QueryCS__Group__3 ;
+ public final void rule__QueryCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7986:1: ( rule__QueryCS__Group__2__Impl rule__QueryCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7987:2: rule__QueryCS__Group__2__Impl rule__QueryCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__2__Impl_in_rule__QueryCS__Group__216530);
+ rule__QueryCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__3_in_rule__QueryCS__Group__216533);
+ rule__QueryCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__2"
+
+
+ // $ANTLR start "rule__QueryCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7994:1: rule__QueryCS__Group__2__Impl : ( '(' ) ;
+ public final void rule__QueryCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7998:1: ( ( '(' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7999:1: ( '(' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:7999:1: ( '(' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8000:1: '('
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getLeftParenthesisKeyword_2());
+ }
+ match(input,69,FollowSets000.FOLLOW_69_in_rule__QueryCS__Group__2__Impl16561); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getLeftParenthesisKeyword_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8013:1: rule__QueryCS__Group__3 : rule__QueryCS__Group__3__Impl rule__QueryCS__Group__4 ;
+ public final void rule__QueryCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8017:1: ( rule__QueryCS__Group__3__Impl rule__QueryCS__Group__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8018:2: rule__QueryCS__Group__3__Impl rule__QueryCS__Group__4
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__3__Impl_in_rule__QueryCS__Group__316592);
+ rule__QueryCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__4_in_rule__QueryCS__Group__316595);
+ rule__QueryCS__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__3"
+
+
+ // $ANTLR start "rule__QueryCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8025:1: rule__QueryCS__Group__3__Impl : ( ( rule__QueryCS__Group_3__0 )? ) ;
+ public final void rule__QueryCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8029:1: ( ( ( rule__QueryCS__Group_3__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8030:1: ( ( rule__QueryCS__Group_3__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8030:1: ( ( rule__QueryCS__Group_3__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8031:1: ( rule__QueryCS__Group_3__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getGroup_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8032:1: ( rule__QueryCS__Group_3__0 )?
+ int alt67=2;
+ int LA67_0 = input.LA(1);
+
+ if ( ((LA67_0>=RULE_SIMPLE_ID && LA67_0<=RULE_ESCAPED_ID)||(LA67_0>=18 && LA67_0<=34)||(LA67_0>=36 && LA67_0<=37)) ) {
+ alt67=1;
+ }
+ switch (alt67) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8032:2: rule__QueryCS__Group_3__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group_3__0_in_rule__QueryCS__Group__3__Impl16622);
+ rule__QueryCS__Group_3__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getGroup_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8042:1: rule__QueryCS__Group__4 : rule__QueryCS__Group__4__Impl rule__QueryCS__Group__5 ;
+ public final void rule__QueryCS__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8046:1: ( rule__QueryCS__Group__4__Impl rule__QueryCS__Group__5 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8047:2: rule__QueryCS__Group__4__Impl rule__QueryCS__Group__5
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__4__Impl_in_rule__QueryCS__Group__416653);
+ rule__QueryCS__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__5_in_rule__QueryCS__Group__416656);
+ rule__QueryCS__Group__5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__4"
+
+
+ // $ANTLR start "rule__QueryCS__Group__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8054:1: rule__QueryCS__Group__4__Impl : ( ')' ) ;
+ public final void rule__QueryCS__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8058:1: ( ( ')' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8059:1: ( ')' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8059:1: ( ')' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8060:1: ')'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getRightParenthesisKeyword_4());
+ }
+ match(input,70,FollowSets000.FOLLOW_70_in_rule__QueryCS__Group__4__Impl16684); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getRightParenthesisKeyword_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__4__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group__5"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8073:1: rule__QueryCS__Group__5 : rule__QueryCS__Group__5__Impl rule__QueryCS__Group__6 ;
+ public final void rule__QueryCS__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8077:1: ( rule__QueryCS__Group__5__Impl rule__QueryCS__Group__6 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8078:2: rule__QueryCS__Group__5__Impl rule__QueryCS__Group__6
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__5__Impl_in_rule__QueryCS__Group__516715);
+ rule__QueryCS__Group__5__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__6_in_rule__QueryCS__Group__516718);
+ rule__QueryCS__Group__6();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__5"
+
+
+ // $ANTLR start "rule__QueryCS__Group__5__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8085:1: rule__QueryCS__Group__5__Impl : ( ':' ) ;
+ public final void rule__QueryCS__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8089:1: ( ( ':' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8090:1: ( ':' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8090:1: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8091:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getColonKeyword_5());
+ }
+ match(input,74,FollowSets000.FOLLOW_74_in_rule__QueryCS__Group__5__Impl16746); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getColonKeyword_5());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__5__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group__6"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8104:1: rule__QueryCS__Group__6 : rule__QueryCS__Group__6__Impl rule__QueryCS__Group__7 ;
+ public final void rule__QueryCS__Group__6() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8108:1: ( rule__QueryCS__Group__6__Impl rule__QueryCS__Group__7 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8109:2: rule__QueryCS__Group__6__Impl rule__QueryCS__Group__7
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__6__Impl_in_rule__QueryCS__Group__616777);
+ rule__QueryCS__Group__6__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__7_in_rule__QueryCS__Group__616780);
+ rule__QueryCS__Group__7();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__6"
+
+
+ // $ANTLR start "rule__QueryCS__Group__6__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8116:1: rule__QueryCS__Group__6__Impl : ( ( rule__QueryCS__TypeAssignment_6 ) ) ;
+ public final void rule__QueryCS__Group__6__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8120:1: ( ( ( rule__QueryCS__TypeAssignment_6 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8121:1: ( ( rule__QueryCS__TypeAssignment_6 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8121:1: ( ( rule__QueryCS__TypeAssignment_6 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8122:1: ( rule__QueryCS__TypeAssignment_6 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getTypeAssignment_6());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8123:1: ( rule__QueryCS__TypeAssignment_6 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8123:2: rule__QueryCS__TypeAssignment_6
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__TypeAssignment_6_in_rule__QueryCS__Group__6__Impl16807);
+ rule__QueryCS__TypeAssignment_6();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getTypeAssignment_6());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__6__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group__7"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8133:1: rule__QueryCS__Group__7 : rule__QueryCS__Group__7__Impl ;
+ public final void rule__QueryCS__Group__7() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8137:1: ( rule__QueryCS__Group__7__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8138:2: rule__QueryCS__Group__7__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group__7__Impl_in_rule__QueryCS__Group__716837);
+ rule__QueryCS__Group__7__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__7"
+
+
+ // $ANTLR start "rule__QueryCS__Group__7__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8144:1: rule__QueryCS__Group__7__Impl : ( ( rule__QueryCS__Alternatives_7 ) ) ;
+ public final void rule__QueryCS__Group__7__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8148:1: ( ( ( rule__QueryCS__Alternatives_7 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8149:1: ( ( rule__QueryCS__Alternatives_7 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8149:1: ( ( rule__QueryCS__Alternatives_7 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8150:1: ( rule__QueryCS__Alternatives_7 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getAlternatives_7());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8151:1: ( rule__QueryCS__Alternatives_7 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8151:2: rule__QueryCS__Alternatives_7
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Alternatives_7_in_rule__QueryCS__Group__7__Impl16864);
+ rule__QueryCS__Alternatives_7();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getAlternatives_7());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group__7__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group_3__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8177:1: rule__QueryCS__Group_3__0 : rule__QueryCS__Group_3__0__Impl rule__QueryCS__Group_3__1 ;
+ public final void rule__QueryCS__Group_3__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8181:1: ( rule__QueryCS__Group_3__0__Impl rule__QueryCS__Group_3__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8182:2: rule__QueryCS__Group_3__0__Impl rule__QueryCS__Group_3__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group_3__0__Impl_in_rule__QueryCS__Group_3__016910);
+ rule__QueryCS__Group_3__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group_3__1_in_rule__QueryCS__Group_3__016913);
+ rule__QueryCS__Group_3__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group_3__0"
+
+
+ // $ANTLR start "rule__QueryCS__Group_3__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8189:1: rule__QueryCS__Group_3__0__Impl : ( ( rule__QueryCS__InputParamDeclarationAssignment_3_0 ) ) ;
+ public final void rule__QueryCS__Group_3__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8193:1: ( ( ( rule__QueryCS__InputParamDeclarationAssignment_3_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8194:1: ( ( rule__QueryCS__InputParamDeclarationAssignment_3_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8194:1: ( ( rule__QueryCS__InputParamDeclarationAssignment_3_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8195:1: ( rule__QueryCS__InputParamDeclarationAssignment_3_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getInputParamDeclarationAssignment_3_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8196:1: ( rule__QueryCS__InputParamDeclarationAssignment_3_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8196:2: rule__QueryCS__InputParamDeclarationAssignment_3_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__InputParamDeclarationAssignment_3_0_in_rule__QueryCS__Group_3__0__Impl16940);
+ rule__QueryCS__InputParamDeclarationAssignment_3_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getInputParamDeclarationAssignment_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group_3__0__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group_3__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8206:1: rule__QueryCS__Group_3__1 : rule__QueryCS__Group_3__1__Impl ;
+ public final void rule__QueryCS__Group_3__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8210:1: ( rule__QueryCS__Group_3__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8211:2: rule__QueryCS__Group_3__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group_3__1__Impl_in_rule__QueryCS__Group_3__116970);
+ rule__QueryCS__Group_3__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group_3__1"
+
+
+ // $ANTLR start "rule__QueryCS__Group_3__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8217:1: rule__QueryCS__Group_3__1__Impl : ( ( rule__QueryCS__Group_3_1__0 )* ) ;
+ public final void rule__QueryCS__Group_3__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8221:1: ( ( ( rule__QueryCS__Group_3_1__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8222:1: ( ( rule__QueryCS__Group_3_1__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8222:1: ( ( rule__QueryCS__Group_3_1__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8223:1: ( rule__QueryCS__Group_3_1__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getGroup_3_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8224:1: ( rule__QueryCS__Group_3_1__0 )*
+ loop68:
+ do {
+ int alt68=2;
+ int LA68_0 = input.LA(1);
+
+ if ( (LA68_0==73) ) {
+ alt68=1;
+ }
+
+
+ switch (alt68) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8224:2: rule__QueryCS__Group_3_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group_3_1__0_in_rule__QueryCS__Group_3__1__Impl16997);
+ rule__QueryCS__Group_3_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop68;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getGroup_3_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group_3__1__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group_3_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8238:1: rule__QueryCS__Group_3_1__0 : rule__QueryCS__Group_3_1__0__Impl rule__QueryCS__Group_3_1__1 ;
+ public final void rule__QueryCS__Group_3_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8242:1: ( rule__QueryCS__Group_3_1__0__Impl rule__QueryCS__Group_3_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8243:2: rule__QueryCS__Group_3_1__0__Impl rule__QueryCS__Group_3_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group_3_1__0__Impl_in_rule__QueryCS__Group_3_1__017032);
+ rule__QueryCS__Group_3_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group_3_1__1_in_rule__QueryCS__Group_3_1__017035);
+ rule__QueryCS__Group_3_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group_3_1__0"
+
+
+ // $ANTLR start "rule__QueryCS__Group_3_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8250:1: rule__QueryCS__Group_3_1__0__Impl : ( ',' ) ;
+ public final void rule__QueryCS__Group_3_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8254:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8255:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8255:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8256:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getCommaKeyword_3_1_0());
+ }
+ match(input,73,FollowSets000.FOLLOW_73_in_rule__QueryCS__Group_3_1__0__Impl17063); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getCommaKeyword_3_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group_3_1__0__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group_3_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8269:1: rule__QueryCS__Group_3_1__1 : rule__QueryCS__Group_3_1__1__Impl ;
+ public final void rule__QueryCS__Group_3_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8273:1: ( rule__QueryCS__Group_3_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8274:2: rule__QueryCS__Group_3_1__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group_3_1__1__Impl_in_rule__QueryCS__Group_3_1__117094);
+ rule__QueryCS__Group_3_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group_3_1__1"
+
+
+ // $ANTLR start "rule__QueryCS__Group_3_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8280:1: rule__QueryCS__Group_3_1__1__Impl : ( ( rule__QueryCS__InputParamDeclarationAssignment_3_1_1 ) ) ;
+ public final void rule__QueryCS__Group_3_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8284:1: ( ( ( rule__QueryCS__InputParamDeclarationAssignment_3_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8285:1: ( ( rule__QueryCS__InputParamDeclarationAssignment_3_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8285:1: ( ( rule__QueryCS__InputParamDeclarationAssignment_3_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8286:1: ( rule__QueryCS__InputParamDeclarationAssignment_3_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getInputParamDeclarationAssignment_3_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8287:1: ( rule__QueryCS__InputParamDeclarationAssignment_3_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8287:2: rule__QueryCS__InputParamDeclarationAssignment_3_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__InputParamDeclarationAssignment_3_1_1_in_rule__QueryCS__Group_3_1__1__Impl17121);
+ rule__QueryCS__InputParamDeclarationAssignment_3_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getInputParamDeclarationAssignment_3_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group_3_1__1__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group_7_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8301:1: rule__QueryCS__Group_7_1__0 : rule__QueryCS__Group_7_1__0__Impl rule__QueryCS__Group_7_1__1 ;
+ public final void rule__QueryCS__Group_7_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8305:1: ( rule__QueryCS__Group_7_1__0__Impl rule__QueryCS__Group_7_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8306:2: rule__QueryCS__Group_7_1__0__Impl rule__QueryCS__Group_7_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group_7_1__0__Impl_in_rule__QueryCS__Group_7_1__017155);
+ rule__QueryCS__Group_7_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group_7_1__1_in_rule__QueryCS__Group_7_1__017158);
+ rule__QueryCS__Group_7_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group_7_1__0"
+
+
+ // $ANTLR start "rule__QueryCS__Group_7_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8313:1: rule__QueryCS__Group_7_1__0__Impl : ( '{' ) ;
+ public final void rule__QueryCS__Group_7_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8317:1: ( ( '{' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8318:1: ( '{' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8318:1: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8319:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getLeftCurlyBracketKeyword_7_1_0());
+ }
+ match(input,71,FollowSets000.FOLLOW_71_in_rule__QueryCS__Group_7_1__0__Impl17186); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getLeftCurlyBracketKeyword_7_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group_7_1__0__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group_7_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8332:1: rule__QueryCS__Group_7_1__1 : rule__QueryCS__Group_7_1__1__Impl rule__QueryCS__Group_7_1__2 ;
+ public final void rule__QueryCS__Group_7_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8336:1: ( rule__QueryCS__Group_7_1__1__Impl rule__QueryCS__Group_7_1__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8337:2: rule__QueryCS__Group_7_1__1__Impl rule__QueryCS__Group_7_1__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group_7_1__1__Impl_in_rule__QueryCS__Group_7_1__117217);
+ rule__QueryCS__Group_7_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group_7_1__2_in_rule__QueryCS__Group_7_1__117220);
+ rule__QueryCS__Group_7_1__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group_7_1__1"
+
+
+ // $ANTLR start "rule__QueryCS__Group_7_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8344:1: rule__QueryCS__Group_7_1__1__Impl : ( ( rule__QueryCS__OclExpressionAssignment_7_1_1 ) ) ;
+ public final void rule__QueryCS__Group_7_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8348:1: ( ( ( rule__QueryCS__OclExpressionAssignment_7_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8349:1: ( ( rule__QueryCS__OclExpressionAssignment_7_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8349:1: ( ( rule__QueryCS__OclExpressionAssignment_7_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8350:1: ( rule__QueryCS__OclExpressionAssignment_7_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getOclExpressionAssignment_7_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8351:1: ( rule__QueryCS__OclExpressionAssignment_7_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8351:2: rule__QueryCS__OclExpressionAssignment_7_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__OclExpressionAssignment_7_1_1_in_rule__QueryCS__Group_7_1__1__Impl17247);
+ rule__QueryCS__OclExpressionAssignment_7_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getOclExpressionAssignment_7_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group_7_1__1__Impl"
+
+
+ // $ANTLR start "rule__QueryCS__Group_7_1__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8361:1: rule__QueryCS__Group_7_1__2 : rule__QueryCS__Group_7_1__2__Impl ;
+ public final void rule__QueryCS__Group_7_1__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8365:1: ( rule__QueryCS__Group_7_1__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8366:2: rule__QueryCS__Group_7_1__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__QueryCS__Group_7_1__2__Impl_in_rule__QueryCS__Group_7_1__217277);
+ rule__QueryCS__Group_7_1__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group_7_1__2"
+
+
+ // $ANTLR start "rule__QueryCS__Group_7_1__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8372:1: rule__QueryCS__Group_7_1__2__Impl : ( '}' ) ;
+ public final void rule__QueryCS__Group_7_1__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8376:1: ( ( '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8377:1: ( '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8377:1: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8378:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getRightCurlyBracketKeyword_7_1_2());
+ }
+ match(input,72,FollowSets000.FOLLOW_72_in_rule__QueryCS__Group_7_1__2__Impl17305); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getRightCurlyBracketKeyword_7_1_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__Group_7_1__2__Impl"
+
+
+ // $ANTLR start "rule__ParamDeclarationCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8397:1: rule__ParamDeclarationCS__Group__0 : rule__ParamDeclarationCS__Group__0__Impl rule__ParamDeclarationCS__Group__1 ;
+ public final void rule__ParamDeclarationCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8401:1: ( rule__ParamDeclarationCS__Group__0__Impl rule__ParamDeclarationCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8402:2: rule__ParamDeclarationCS__Group__0__Impl rule__ParamDeclarationCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ParamDeclarationCS__Group__0__Impl_in_rule__ParamDeclarationCS__Group__017342);
+ rule__ParamDeclarationCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ParamDeclarationCS__Group__1_in_rule__ParamDeclarationCS__Group__017345);
+ rule__ParamDeclarationCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ParamDeclarationCS__Group__0"
+
+
+ // $ANTLR start "rule__ParamDeclarationCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8409:1: rule__ParamDeclarationCS__Group__0__Impl : ( ( rule__ParamDeclarationCS__NameAssignment_0 ) ) ;
+ public final void rule__ParamDeclarationCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8413:1: ( ( ( rule__ParamDeclarationCS__NameAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8414:1: ( ( rule__ParamDeclarationCS__NameAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8414:1: ( ( rule__ParamDeclarationCS__NameAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8415:1: ( rule__ParamDeclarationCS__NameAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getParamDeclarationCSAccess().getNameAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8416:1: ( rule__ParamDeclarationCS__NameAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8416:2: rule__ParamDeclarationCS__NameAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ParamDeclarationCS__NameAssignment_0_in_rule__ParamDeclarationCS__Group__0__Impl17372);
+ rule__ParamDeclarationCS__NameAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getParamDeclarationCSAccess().getNameAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ParamDeclarationCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__ParamDeclarationCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8426:1: rule__ParamDeclarationCS__Group__1 : rule__ParamDeclarationCS__Group__1__Impl rule__ParamDeclarationCS__Group__2 ;
+ public final void rule__ParamDeclarationCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8430:1: ( rule__ParamDeclarationCS__Group__1__Impl rule__ParamDeclarationCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8431:2: rule__ParamDeclarationCS__Group__1__Impl rule__ParamDeclarationCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ParamDeclarationCS__Group__1__Impl_in_rule__ParamDeclarationCS__Group__117402);
+ rule__ParamDeclarationCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ParamDeclarationCS__Group__2_in_rule__ParamDeclarationCS__Group__117405);
+ rule__ParamDeclarationCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ParamDeclarationCS__Group__1"
+
+
+ // $ANTLR start "rule__ParamDeclarationCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8438:1: rule__ParamDeclarationCS__Group__1__Impl : ( ':' ) ;
+ public final void rule__ParamDeclarationCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8442:1: ( ( ':' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8443:1: ( ':' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8443:1: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8444:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getParamDeclarationCSAccess().getColonKeyword_1());
+ }
+ match(input,74,FollowSets000.FOLLOW_74_in_rule__ParamDeclarationCS__Group__1__Impl17433); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getParamDeclarationCSAccess().getColonKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ParamDeclarationCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__ParamDeclarationCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8457:1: rule__ParamDeclarationCS__Group__2 : rule__ParamDeclarationCS__Group__2__Impl ;
+ public final void rule__ParamDeclarationCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8461:1: ( rule__ParamDeclarationCS__Group__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8462:2: rule__ParamDeclarationCS__Group__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ParamDeclarationCS__Group__2__Impl_in_rule__ParamDeclarationCS__Group__217464);
+ rule__ParamDeclarationCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ParamDeclarationCS__Group__2"
+
+
+ // $ANTLR start "rule__ParamDeclarationCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8468:1: rule__ParamDeclarationCS__Group__2__Impl : ( ( rule__ParamDeclarationCS__TypeAssignment_2 ) ) ;
+ public final void rule__ParamDeclarationCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8472:1: ( ( ( rule__ParamDeclarationCS__TypeAssignment_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8473:1: ( ( rule__ParamDeclarationCS__TypeAssignment_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8473:1: ( ( rule__ParamDeclarationCS__TypeAssignment_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8474:1: ( rule__ParamDeclarationCS__TypeAssignment_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getParamDeclarationCSAccess().getTypeAssignment_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8475:1: ( rule__ParamDeclarationCS__TypeAssignment_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8475:2: rule__ParamDeclarationCS__TypeAssignment_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ParamDeclarationCS__TypeAssignment_2_in_rule__ParamDeclarationCS__Group__2__Impl17491);
+ rule__ParamDeclarationCS__TypeAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getParamDeclarationCSAccess().getTypeAssignment_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ParamDeclarationCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8491:1: rule__NUMBER_LITERAL__Group__0 : rule__NUMBER_LITERAL__Group__0__Impl rule__NUMBER_LITERAL__Group__1 ;
+ public final void rule__NUMBER_LITERAL__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8495:1: ( rule__NUMBER_LITERAL__Group__0__Impl rule__NUMBER_LITERAL__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8496:2: rule__NUMBER_LITERAL__Group__0__Impl rule__NUMBER_LITERAL__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group__0__Impl_in_rule__NUMBER_LITERAL__Group__017527);
+ rule__NUMBER_LITERAL__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group__1_in_rule__NUMBER_LITERAL__Group__017530);
+ rule__NUMBER_LITERAL__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group__0"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8503:1: rule__NUMBER_LITERAL__Group__0__Impl : ( RULE_INT ) ;
+ public final void rule__NUMBER_LITERAL__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8507:1: ( ( RULE_INT ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8508:1: ( RULE_INT )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8508:1: ( RULE_INT )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8509:1: RULE_INT
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_0());
+ }
+ match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__NUMBER_LITERAL__Group__0__Impl17557); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group__0__Impl"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8520:1: rule__NUMBER_LITERAL__Group__1 : rule__NUMBER_LITERAL__Group__1__Impl rule__NUMBER_LITERAL__Group__2 ;
+ public final void rule__NUMBER_LITERAL__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8524:1: ( rule__NUMBER_LITERAL__Group__1__Impl rule__NUMBER_LITERAL__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8525:2: rule__NUMBER_LITERAL__Group__1__Impl rule__NUMBER_LITERAL__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group__1__Impl_in_rule__NUMBER_LITERAL__Group__117586);
+ rule__NUMBER_LITERAL__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group__2_in_rule__NUMBER_LITERAL__Group__117589);
+ rule__NUMBER_LITERAL__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group__1"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8532:1: rule__NUMBER_LITERAL__Group__1__Impl : ( ( rule__NUMBER_LITERAL__Group_1__0 )? ) ;
+ public final void rule__NUMBER_LITERAL__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8536:1: ( ( ( rule__NUMBER_LITERAL__Group_1__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8537:1: ( ( rule__NUMBER_LITERAL__Group_1__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8537:1: ( ( rule__NUMBER_LITERAL__Group_1__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8538:1: ( rule__NUMBER_LITERAL__Group_1__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNUMBER_LITERALAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8539:1: ( rule__NUMBER_LITERAL__Group_1__0 )?
+ int alt69=2;
+ int LA69_0 = input.LA(1);
+
+ if ( (LA69_0==52) ) {
+ int LA69_1 = input.LA(2);
+
+ if ( (LA69_1==RULE_INT) ) {
+ int LA69_3 = input.LA(3);
+
+ if ( (synpred126_InternalQVTrelation()) ) {
+ alt69=1;
+ }
+ }
+ }
+ switch (alt69) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8539:2: rule__NUMBER_LITERAL__Group_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group_1__0_in_rule__NUMBER_LITERAL__Group__1__Impl17616);
+ rule__NUMBER_LITERAL__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNUMBER_LITERALAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group__1__Impl"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8549:1: rule__NUMBER_LITERAL__Group__2 : rule__NUMBER_LITERAL__Group__2__Impl ;
+ public final void rule__NUMBER_LITERAL__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8553:1: ( rule__NUMBER_LITERAL__Group__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8554:2: rule__NUMBER_LITERAL__Group__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group__2__Impl_in_rule__NUMBER_LITERAL__Group__217647);
+ rule__NUMBER_LITERAL__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group__2"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8560:1: rule__NUMBER_LITERAL__Group__2__Impl : ( ( rule__NUMBER_LITERAL__Group_2__0 )? ) ;
+ public final void rule__NUMBER_LITERAL__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8564:1: ( ( ( rule__NUMBER_LITERAL__Group_2__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8565:1: ( ( rule__NUMBER_LITERAL__Group_2__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8565:1: ( ( rule__NUMBER_LITERAL__Group_2__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8566:1: ( rule__NUMBER_LITERAL__Group_2__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNUMBER_LITERALAccess().getGroup_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8567:1: ( rule__NUMBER_LITERAL__Group_2__0 )?
+ int alt70=2;
+ int LA70_0 = input.LA(1);
+
+ if ( ((LA70_0>=36 && LA70_0<=37)) ) {
+ alt70=1;
+ }
+ switch (alt70) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8567:2: rule__NUMBER_LITERAL__Group_2__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group_2__0_in_rule__NUMBER_LITERAL__Group__2__Impl17674);
+ rule__NUMBER_LITERAL__Group_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNUMBER_LITERALAccess().getGroup_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group__2__Impl"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8583:1: rule__NUMBER_LITERAL__Group_1__0 : rule__NUMBER_LITERAL__Group_1__0__Impl rule__NUMBER_LITERAL__Group_1__1 ;
+ public final void rule__NUMBER_LITERAL__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8587:1: ( rule__NUMBER_LITERAL__Group_1__0__Impl rule__NUMBER_LITERAL__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8588:2: rule__NUMBER_LITERAL__Group_1__0__Impl rule__NUMBER_LITERAL__Group_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group_1__0__Impl_in_rule__NUMBER_LITERAL__Group_1__017711);
+ rule__NUMBER_LITERAL__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group_1__1_in_rule__NUMBER_LITERAL__Group_1__017714);
+ rule__NUMBER_LITERAL__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group_1__0"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8595:1: rule__NUMBER_LITERAL__Group_1__0__Impl : ( '.' ) ;
+ public final void rule__NUMBER_LITERAL__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8599:1: ( ( '.' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8600:1: ( '.' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8600:1: ( '.' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8601:1: '.'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNUMBER_LITERALAccess().getFullStopKeyword_1_0());
+ }
+ match(input,52,FollowSets000.FOLLOW_52_in_rule__NUMBER_LITERAL__Group_1__0__Impl17742); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNUMBER_LITERALAccess().getFullStopKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8614:1: rule__NUMBER_LITERAL__Group_1__1 : rule__NUMBER_LITERAL__Group_1__1__Impl ;
+ public final void rule__NUMBER_LITERAL__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8618:1: ( rule__NUMBER_LITERAL__Group_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8619:2: rule__NUMBER_LITERAL__Group_1__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group_1__1__Impl_in_rule__NUMBER_LITERAL__Group_1__117773);
+ rule__NUMBER_LITERAL__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group_1__1"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8625:1: rule__NUMBER_LITERAL__Group_1__1__Impl : ( RULE_INT ) ;
+ public final void rule__NUMBER_LITERAL__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8629:1: ( ( RULE_INT ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8630:1: ( RULE_INT )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8630:1: ( RULE_INT )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8631:1: RULE_INT
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_1_1());
+ }
+ match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__NUMBER_LITERAL__Group_1__1__Impl17800); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8646:1: rule__NUMBER_LITERAL__Group_2__0 : rule__NUMBER_LITERAL__Group_2__0__Impl rule__NUMBER_LITERAL__Group_2__1 ;
+ public final void rule__NUMBER_LITERAL__Group_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8650:1: ( rule__NUMBER_LITERAL__Group_2__0__Impl rule__NUMBER_LITERAL__Group_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8651:2: rule__NUMBER_LITERAL__Group_2__0__Impl rule__NUMBER_LITERAL__Group_2__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group_2__0__Impl_in_rule__NUMBER_LITERAL__Group_2__017833);
+ rule__NUMBER_LITERAL__Group_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group_2__1_in_rule__NUMBER_LITERAL__Group_2__017836);
+ rule__NUMBER_LITERAL__Group_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group_2__0"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8658:1: rule__NUMBER_LITERAL__Group_2__0__Impl : ( ( rule__NUMBER_LITERAL__Alternatives_2_0 ) ) ;
+ public final void rule__NUMBER_LITERAL__Group_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8662:1: ( ( ( rule__NUMBER_LITERAL__Alternatives_2_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8663:1: ( ( rule__NUMBER_LITERAL__Alternatives_2_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8663:1: ( ( rule__NUMBER_LITERAL__Alternatives_2_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8664:1: ( rule__NUMBER_LITERAL__Alternatives_2_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNUMBER_LITERALAccess().getAlternatives_2_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8665:1: ( rule__NUMBER_LITERAL__Alternatives_2_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8665:2: rule__NUMBER_LITERAL__Alternatives_2_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Alternatives_2_0_in_rule__NUMBER_LITERAL__Group_2__0__Impl17863);
+ rule__NUMBER_LITERAL__Alternatives_2_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNUMBER_LITERALAccess().getAlternatives_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group_2__0__Impl"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8675:1: rule__NUMBER_LITERAL__Group_2__1 : rule__NUMBER_LITERAL__Group_2__1__Impl rule__NUMBER_LITERAL__Group_2__2 ;
+ public final void rule__NUMBER_LITERAL__Group_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8679:1: ( rule__NUMBER_LITERAL__Group_2__1__Impl rule__NUMBER_LITERAL__Group_2__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8680:2: rule__NUMBER_LITERAL__Group_2__1__Impl rule__NUMBER_LITERAL__Group_2__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group_2__1__Impl_in_rule__NUMBER_LITERAL__Group_2__117893);
+ rule__NUMBER_LITERAL__Group_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group_2__2_in_rule__NUMBER_LITERAL__Group_2__117896);
+ rule__NUMBER_LITERAL__Group_2__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group_2__1"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8687:1: rule__NUMBER_LITERAL__Group_2__1__Impl : ( ( rule__NUMBER_LITERAL__Alternatives_2_1 )? ) ;
+ public final void rule__NUMBER_LITERAL__Group_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8691:1: ( ( ( rule__NUMBER_LITERAL__Alternatives_2_1 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8692:1: ( ( rule__NUMBER_LITERAL__Alternatives_2_1 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8692:1: ( ( rule__NUMBER_LITERAL__Alternatives_2_1 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8693:1: ( rule__NUMBER_LITERAL__Alternatives_2_1 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNUMBER_LITERALAccess().getAlternatives_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8694:1: ( rule__NUMBER_LITERAL__Alternatives_2_1 )?
+ int alt71=2;
+ int LA71_0 = input.LA(1);
+
+ if ( ((LA71_0>=38 && LA71_0<=39)) ) {
+ alt71=1;
+ }
+ switch (alt71) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8694:2: rule__NUMBER_LITERAL__Alternatives_2_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Alternatives_2_1_in_rule__NUMBER_LITERAL__Group_2__1__Impl17923);
+ rule__NUMBER_LITERAL__Alternatives_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNUMBER_LITERALAccess().getAlternatives_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group_2__1__Impl"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group_2__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8704:1: rule__NUMBER_LITERAL__Group_2__2 : rule__NUMBER_LITERAL__Group_2__2__Impl ;
+ public final void rule__NUMBER_LITERAL__Group_2__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8708:1: ( rule__NUMBER_LITERAL__Group_2__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8709:2: rule__NUMBER_LITERAL__Group_2__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NUMBER_LITERAL__Group_2__2__Impl_in_rule__NUMBER_LITERAL__Group_2__217954);
+ rule__NUMBER_LITERAL__Group_2__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group_2__2"
+
+
+ // $ANTLR start "rule__NUMBER_LITERAL__Group_2__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8715:1: rule__NUMBER_LITERAL__Group_2__2__Impl : ( RULE_INT ) ;
+ public final void rule__NUMBER_LITERAL__Group_2__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8719:1: ( ( RULE_INT ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8720:1: ( RULE_INT )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8720:1: ( RULE_INT )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8721:1: RULE_INT
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_2_2());
+ }
+ match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__NUMBER_LITERAL__Group_2__2__Impl17981); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_2_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NUMBER_LITERAL__Group_2__2__Impl"
+
+
+ // $ANTLR start "rule__PathNameCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8738:1: rule__PathNameCS__Group__0 : rule__PathNameCS__Group__0__Impl rule__PathNameCS__Group__1 ;
+ public final void rule__PathNameCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8742:1: ( rule__PathNameCS__Group__0__Impl rule__PathNameCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8743:2: rule__PathNameCS__Group__0__Impl rule__PathNameCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PathNameCS__Group__0__Impl_in_rule__PathNameCS__Group__018016);
+ rule__PathNameCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__PathNameCS__Group__1_in_rule__PathNameCS__Group__018019);
+ rule__PathNameCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PathNameCS__Group__0"
+
+
+ // $ANTLR start "rule__PathNameCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8750:1: rule__PathNameCS__Group__0__Impl : ( ( rule__PathNameCS__PathAssignment_0 ) ) ;
+ public final void rule__PathNameCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8754:1: ( ( ( rule__PathNameCS__PathAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8755:1: ( ( rule__PathNameCS__PathAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8755:1: ( ( rule__PathNameCS__PathAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8756:1: ( rule__PathNameCS__PathAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPathNameCSAccess().getPathAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8757:1: ( rule__PathNameCS__PathAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8757:2: rule__PathNameCS__PathAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PathNameCS__PathAssignment_0_in_rule__PathNameCS__Group__0__Impl18046);
+ rule__PathNameCS__PathAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPathNameCSAccess().getPathAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PathNameCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__PathNameCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8767:1: rule__PathNameCS__Group__1 : rule__PathNameCS__Group__1__Impl ;
+ public final void rule__PathNameCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8771:1: ( rule__PathNameCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8772:2: rule__PathNameCS__Group__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PathNameCS__Group__1__Impl_in_rule__PathNameCS__Group__118076);
+ rule__PathNameCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PathNameCS__Group__1"
+
+
+ // $ANTLR start "rule__PathNameCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8778:1: rule__PathNameCS__Group__1__Impl : ( ( rule__PathNameCS__Group_1__0 )* ) ;
+ public final void rule__PathNameCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8782:1: ( ( ( rule__PathNameCS__Group_1__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8783:1: ( ( rule__PathNameCS__Group_1__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8783:1: ( ( rule__PathNameCS__Group_1__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8784:1: ( rule__PathNameCS__Group_1__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPathNameCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8785:1: ( rule__PathNameCS__Group_1__0 )*
+ loop72:
+ do {
+ int alt72=2;
+ int LA72_0 = input.LA(1);
+
+ if ( (LA72_0==77) ) {
+ alt72=1;
+ }
+
+
+ switch (alt72) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8785:2: rule__PathNameCS__Group_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PathNameCS__Group_1__0_in_rule__PathNameCS__Group__1__Impl18103);
+ rule__PathNameCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop72;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPathNameCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PathNameCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__PathNameCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8799:1: rule__PathNameCS__Group_1__0 : rule__PathNameCS__Group_1__0__Impl rule__PathNameCS__Group_1__1 ;
+ public final void rule__PathNameCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8803:1: ( rule__PathNameCS__Group_1__0__Impl rule__PathNameCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8804:2: rule__PathNameCS__Group_1__0__Impl rule__PathNameCS__Group_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PathNameCS__Group_1__0__Impl_in_rule__PathNameCS__Group_1__018138);
+ rule__PathNameCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__PathNameCS__Group_1__1_in_rule__PathNameCS__Group_1__018141);
+ rule__PathNameCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PathNameCS__Group_1__0"
+
+
+ // $ANTLR start "rule__PathNameCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8811:1: rule__PathNameCS__Group_1__0__Impl : ( '::' ) ;
+ public final void rule__PathNameCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8815:1: ( ( '::' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8816:1: ( '::' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8816:1: ( '::' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8817:1: '::'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0());
+ }
+ match(input,77,FollowSets000.FOLLOW_77_in_rule__PathNameCS__Group_1__0__Impl18169); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PathNameCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__PathNameCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8830:1: rule__PathNameCS__Group_1__1 : rule__PathNameCS__Group_1__1__Impl ;
+ public final void rule__PathNameCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8834:1: ( rule__PathNameCS__Group_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8835:2: rule__PathNameCS__Group_1__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PathNameCS__Group_1__1__Impl_in_rule__PathNameCS__Group_1__118200);
+ rule__PathNameCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PathNameCS__Group_1__1"
+
+
+ // $ANTLR start "rule__PathNameCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8841:1: rule__PathNameCS__Group_1__1__Impl : ( ( rule__PathNameCS__PathAssignment_1_1 ) ) ;
+ public final void rule__PathNameCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8845:1: ( ( ( rule__PathNameCS__PathAssignment_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8846:1: ( ( rule__PathNameCS__PathAssignment_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8846:1: ( ( rule__PathNameCS__PathAssignment_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8847:1: ( rule__PathNameCS__PathAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPathNameCSAccess().getPathAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8848:1: ( rule__PathNameCS__PathAssignment_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8848:2: rule__PathNameCS__PathAssignment_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__PathNameCS__PathAssignment_1_1_in_rule__PathNameCS__Group_1__1__Impl18227);
+ rule__PathNameCS__PathAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPathNameCSAccess().getPathAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PathNameCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__CollectionTypeCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8862:1: rule__CollectionTypeCS__Group__0 : rule__CollectionTypeCS__Group__0__Impl rule__CollectionTypeCS__Group__1 ;
+ public final void rule__CollectionTypeCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8866:1: ( rule__CollectionTypeCS__Group__0__Impl rule__CollectionTypeCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8867:2: rule__CollectionTypeCS__Group__0__Impl rule__CollectionTypeCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTypeCS__Group__0__Impl_in_rule__CollectionTypeCS__Group__018261);
+ rule__CollectionTypeCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTypeCS__Group__1_in_rule__CollectionTypeCS__Group__018264);
+ rule__CollectionTypeCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTypeCS__Group__0"
+
+
+ // $ANTLR start "rule__CollectionTypeCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8874:1: rule__CollectionTypeCS__Group__0__Impl : ( ( rule__CollectionTypeCS__NameAssignment_0 ) ) ;
+ public final void rule__CollectionTypeCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8878:1: ( ( ( rule__CollectionTypeCS__NameAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8879:1: ( ( rule__CollectionTypeCS__NameAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8879:1: ( ( rule__CollectionTypeCS__NameAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8880:1: ( rule__CollectionTypeCS__NameAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeCSAccess().getNameAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8881:1: ( rule__CollectionTypeCS__NameAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8881:2: rule__CollectionTypeCS__NameAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTypeCS__NameAssignment_0_in_rule__CollectionTypeCS__Group__0__Impl18291);
+ rule__CollectionTypeCS__NameAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeCSAccess().getNameAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTypeCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__CollectionTypeCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8891:1: rule__CollectionTypeCS__Group__1 : rule__CollectionTypeCS__Group__1__Impl ;
+ public final void rule__CollectionTypeCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8895:1: ( rule__CollectionTypeCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8896:2: rule__CollectionTypeCS__Group__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTypeCS__Group__1__Impl_in_rule__CollectionTypeCS__Group__118321);
+ rule__CollectionTypeCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTypeCS__Group__1"
+
+
+ // $ANTLR start "rule__CollectionTypeCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8902:1: rule__CollectionTypeCS__Group__1__Impl : ( ( rule__CollectionTypeCS__Group_1__0 )? ) ;
+ public final void rule__CollectionTypeCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8906:1: ( ( ( rule__CollectionTypeCS__Group_1__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8907:1: ( ( rule__CollectionTypeCS__Group_1__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8907:1: ( ( rule__CollectionTypeCS__Group_1__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8908:1: ( rule__CollectionTypeCS__Group_1__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8909:1: ( rule__CollectionTypeCS__Group_1__0 )?
+ int alt73=2;
+ int LA73_0 = input.LA(1);
+
+ if ( (LA73_0==69) ) {
+ alt73=1;
+ }
+ switch (alt73) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8909:2: rule__CollectionTypeCS__Group_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTypeCS__Group_1__0_in_rule__CollectionTypeCS__Group__1__Impl18348);
+ rule__CollectionTypeCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTypeCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__CollectionTypeCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8923:1: rule__CollectionTypeCS__Group_1__0 : rule__CollectionTypeCS__Group_1__0__Impl rule__CollectionTypeCS__Group_1__1 ;
+ public final void rule__CollectionTypeCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8927:1: ( rule__CollectionTypeCS__Group_1__0__Impl rule__CollectionTypeCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8928:2: rule__CollectionTypeCS__Group_1__0__Impl rule__CollectionTypeCS__Group_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTypeCS__Group_1__0__Impl_in_rule__CollectionTypeCS__Group_1__018383);
+ rule__CollectionTypeCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTypeCS__Group_1__1_in_rule__CollectionTypeCS__Group_1__018386);
+ rule__CollectionTypeCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTypeCS__Group_1__0"
+
+
+ // $ANTLR start "rule__CollectionTypeCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8935:1: rule__CollectionTypeCS__Group_1__0__Impl : ( '(' ) ;
+ public final void rule__CollectionTypeCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8939:1: ( ( '(' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8940:1: ( '(' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8940:1: ( '(' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8941:1: '('
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeCSAccess().getLeftParenthesisKeyword_1_0());
+ }
+ match(input,69,FollowSets000.FOLLOW_69_in_rule__CollectionTypeCS__Group_1__0__Impl18414); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeCSAccess().getLeftParenthesisKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTypeCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__CollectionTypeCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8954:1: rule__CollectionTypeCS__Group_1__1 : rule__CollectionTypeCS__Group_1__1__Impl rule__CollectionTypeCS__Group_1__2 ;
+ public final void rule__CollectionTypeCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8958:1: ( rule__CollectionTypeCS__Group_1__1__Impl rule__CollectionTypeCS__Group_1__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8959:2: rule__CollectionTypeCS__Group_1__1__Impl rule__CollectionTypeCS__Group_1__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTypeCS__Group_1__1__Impl_in_rule__CollectionTypeCS__Group_1__118445);
+ rule__CollectionTypeCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTypeCS__Group_1__2_in_rule__CollectionTypeCS__Group_1__118448);
+ rule__CollectionTypeCS__Group_1__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTypeCS__Group_1__1"
+
+
+ // $ANTLR start "rule__CollectionTypeCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8966:1: rule__CollectionTypeCS__Group_1__1__Impl : ( ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 ) ) ;
+ public final void rule__CollectionTypeCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8970:1: ( ( ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8971:1: ( ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8971:1: ( ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8972:1: ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8973:1: ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8973:2: rule__CollectionTypeCS__OwnedTypeAssignment_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTypeCS__OwnedTypeAssignment_1_1_in_rule__CollectionTypeCS__Group_1__1__Impl18475);
+ rule__CollectionTypeCS__OwnedTypeAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTypeCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__CollectionTypeCS__Group_1__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8983:1: rule__CollectionTypeCS__Group_1__2 : rule__CollectionTypeCS__Group_1__2__Impl ;
+ public final void rule__CollectionTypeCS__Group_1__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8987:1: ( rule__CollectionTypeCS__Group_1__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8988:2: rule__CollectionTypeCS__Group_1__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionTypeCS__Group_1__2__Impl_in_rule__CollectionTypeCS__Group_1__218505);
+ rule__CollectionTypeCS__Group_1__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTypeCS__Group_1__2"
+
+
+ // $ANTLR start "rule__CollectionTypeCS__Group_1__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8994:1: rule__CollectionTypeCS__Group_1__2__Impl : ( ')' ) ;
+ public final void rule__CollectionTypeCS__Group_1__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8998:1: ( ( ')' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8999:1: ( ')' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8999:1: ( ')' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9000:1: ')'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeCSAccess().getRightParenthesisKeyword_1_2());
+ }
+ match(input,70,FollowSets000.FOLLOW_70_in_rule__CollectionTypeCS__Group_1__2__Impl18533); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeCSAccess().getRightParenthesisKeyword_1_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTypeCS__Group_1__2__Impl"
+
+
+ // $ANTLR start "rule__MultiplicityBoundsCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9019:1: rule__MultiplicityBoundsCS__Group__0 : rule__MultiplicityBoundsCS__Group__0__Impl rule__MultiplicityBoundsCS__Group__1 ;
+ public final void rule__MultiplicityBoundsCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9023:1: ( rule__MultiplicityBoundsCS__Group__0__Impl rule__MultiplicityBoundsCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9024:2: rule__MultiplicityBoundsCS__Group__0__Impl rule__MultiplicityBoundsCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityBoundsCS__Group__0__Impl_in_rule__MultiplicityBoundsCS__Group__018570);
+ rule__MultiplicityBoundsCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityBoundsCS__Group__1_in_rule__MultiplicityBoundsCS__Group__018573);
+ rule__MultiplicityBoundsCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityBoundsCS__Group__0"
+
+
+ // $ANTLR start "rule__MultiplicityBoundsCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9031:1: rule__MultiplicityBoundsCS__Group__0__Impl : ( ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 ) ) ;
+ public final void rule__MultiplicityBoundsCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9035:1: ( ( ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9036:1: ( ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9036:1: ( ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9037:1: ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9038:1: ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9038:2: rule__MultiplicityBoundsCS__LowerBoundAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityBoundsCS__LowerBoundAssignment_0_in_rule__MultiplicityBoundsCS__Group__0__Impl18600);
+ rule__MultiplicityBoundsCS__LowerBoundAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityBoundsCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__MultiplicityBoundsCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9048:1: rule__MultiplicityBoundsCS__Group__1 : rule__MultiplicityBoundsCS__Group__1__Impl ;
+ public final void rule__MultiplicityBoundsCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9052:1: ( rule__MultiplicityBoundsCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9053:2: rule__MultiplicityBoundsCS__Group__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityBoundsCS__Group__1__Impl_in_rule__MultiplicityBoundsCS__Group__118630);
+ rule__MultiplicityBoundsCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityBoundsCS__Group__1"
+
+
+ // $ANTLR start "rule__MultiplicityBoundsCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9059:1: rule__MultiplicityBoundsCS__Group__1__Impl : ( ( rule__MultiplicityBoundsCS__Group_1__0 )? ) ;
+ public final void rule__MultiplicityBoundsCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9063:1: ( ( ( rule__MultiplicityBoundsCS__Group_1__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9064:1: ( ( rule__MultiplicityBoundsCS__Group_1__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9064:1: ( ( rule__MultiplicityBoundsCS__Group_1__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9065:1: ( rule__MultiplicityBoundsCS__Group_1__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityBoundsCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9066:1: ( rule__MultiplicityBoundsCS__Group_1__0 )?
+ int alt74=2;
+ int LA74_0 = input.LA(1);
+
+ if ( (LA74_0==78) ) {
+ alt74=1;
+ }
+ switch (alt74) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9066:2: rule__MultiplicityBoundsCS__Group_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityBoundsCS__Group_1__0_in_rule__MultiplicityBoundsCS__Group__1__Impl18657);
+ rule__MultiplicityBoundsCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityBoundsCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityBoundsCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__MultiplicityBoundsCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9080:1: rule__MultiplicityBoundsCS__Group_1__0 : rule__MultiplicityBoundsCS__Group_1__0__Impl rule__MultiplicityBoundsCS__Group_1__1 ;
+ public final void rule__MultiplicityBoundsCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9084:1: ( rule__MultiplicityBoundsCS__Group_1__0__Impl rule__MultiplicityBoundsCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9085:2: rule__MultiplicityBoundsCS__Group_1__0__Impl rule__MultiplicityBoundsCS__Group_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityBoundsCS__Group_1__0__Impl_in_rule__MultiplicityBoundsCS__Group_1__018692);
+ rule__MultiplicityBoundsCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityBoundsCS__Group_1__1_in_rule__MultiplicityBoundsCS__Group_1__018695);
+ rule__MultiplicityBoundsCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityBoundsCS__Group_1__0"
+
+
+ // $ANTLR start "rule__MultiplicityBoundsCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9092:1: rule__MultiplicityBoundsCS__Group_1__0__Impl : ( '..' ) ;
+ public final void rule__MultiplicityBoundsCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9096:1: ( ( '..' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9097:1: ( '..' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9097:1: ( '..' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9098:1: '..'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityBoundsCSAccess().getFullStopFullStopKeyword_1_0());
+ }
+ match(input,78,FollowSets000.FOLLOW_78_in_rule__MultiplicityBoundsCS__Group_1__0__Impl18723); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityBoundsCSAccess().getFullStopFullStopKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityBoundsCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__MultiplicityBoundsCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9111:1: rule__MultiplicityBoundsCS__Group_1__1 : rule__MultiplicityBoundsCS__Group_1__1__Impl ;
+ public final void rule__MultiplicityBoundsCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9115:1: ( rule__MultiplicityBoundsCS__Group_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9116:2: rule__MultiplicityBoundsCS__Group_1__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityBoundsCS__Group_1__1__Impl_in_rule__MultiplicityBoundsCS__Group_1__118754);
+ rule__MultiplicityBoundsCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityBoundsCS__Group_1__1"
+
+
+ // $ANTLR start "rule__MultiplicityBoundsCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9122:1: rule__MultiplicityBoundsCS__Group_1__1__Impl : ( ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 ) ) ;
+ public final void rule__MultiplicityBoundsCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9126:1: ( ( ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9127:1: ( ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9127:1: ( ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9128:1: ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9129:1: ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9129:2: rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1_in_rule__MultiplicityBoundsCS__Group_1__1__Impl18781);
+ rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityBoundsCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__MultiplicityCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9143:1: rule__MultiplicityCS__Group__0 : rule__MultiplicityCS__Group__0__Impl rule__MultiplicityCS__Group__1 ;
+ public final void rule__MultiplicityCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9147:1: ( rule__MultiplicityCS__Group__0__Impl rule__MultiplicityCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9148:2: rule__MultiplicityCS__Group__0__Impl rule__MultiplicityCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityCS__Group__0__Impl_in_rule__MultiplicityCS__Group__018815);
+ rule__MultiplicityCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityCS__Group__1_in_rule__MultiplicityCS__Group__018818);
+ rule__MultiplicityCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityCS__Group__0"
+
+
+ // $ANTLR start "rule__MultiplicityCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9155:1: rule__MultiplicityCS__Group__0__Impl : ( '[' ) ;
+ public final void rule__MultiplicityCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9159:1: ( ( '[' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9160:1: ( '[' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9160:1: ( '[' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9161:1: '['
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0());
+ }
+ match(input,79,FollowSets000.FOLLOW_79_in_rule__MultiplicityCS__Group__0__Impl18846); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__MultiplicityCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9174:1: rule__MultiplicityCS__Group__1 : rule__MultiplicityCS__Group__1__Impl rule__MultiplicityCS__Group__2 ;
+ public final void rule__MultiplicityCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9178:1: ( rule__MultiplicityCS__Group__1__Impl rule__MultiplicityCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9179:2: rule__MultiplicityCS__Group__1__Impl rule__MultiplicityCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityCS__Group__1__Impl_in_rule__MultiplicityCS__Group__118877);
+ rule__MultiplicityCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityCS__Group__2_in_rule__MultiplicityCS__Group__118880);
+ rule__MultiplicityCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityCS__Group__1"
+
+
+ // $ANTLR start "rule__MultiplicityCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9186:1: rule__MultiplicityCS__Group__1__Impl : ( ( rule__MultiplicityCS__Alternatives_1 ) ) ;
+ public final void rule__MultiplicityCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9190:1: ( ( ( rule__MultiplicityCS__Alternatives_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9191:1: ( ( rule__MultiplicityCS__Alternatives_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9191:1: ( ( rule__MultiplicityCS__Alternatives_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9192:1: ( rule__MultiplicityCS__Alternatives_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityCSAccess().getAlternatives_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9193:1: ( rule__MultiplicityCS__Alternatives_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9193:2: rule__MultiplicityCS__Alternatives_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityCS__Alternatives_1_in_rule__MultiplicityCS__Group__1__Impl18907);
+ rule__MultiplicityCS__Alternatives_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityCSAccess().getAlternatives_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__MultiplicityCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9203:1: rule__MultiplicityCS__Group__2 : rule__MultiplicityCS__Group__2__Impl ;
+ public final void rule__MultiplicityCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9207:1: ( rule__MultiplicityCS__Group__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9208:2: rule__MultiplicityCS__Group__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__MultiplicityCS__Group__2__Impl_in_rule__MultiplicityCS__Group__218937);
+ rule__MultiplicityCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityCS__Group__2"
+
+
+ // $ANTLR start "rule__MultiplicityCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9214:1: rule__MultiplicityCS__Group__2__Impl : ( ']' ) ;
+ public final void rule__MultiplicityCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9218:1: ( ( ']' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9219:1: ( ']' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9219:1: ( ']' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9220:1: ']'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityCSAccess().getRightSquareBracketKeyword_2());
+ }
+ match(input,80,FollowSets000.FOLLOW_80_in_rule__MultiplicityCS__Group__2__Impl18965); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityCSAccess().getRightSquareBracketKeyword_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9239:1: rule__TupleTypeCS__Group__0 : rule__TupleTypeCS__Group__0__Impl rule__TupleTypeCS__Group__1 ;
+ public final void rule__TupleTypeCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9243:1: ( rule__TupleTypeCS__Group__0__Impl rule__TupleTypeCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9244:2: rule__TupleTypeCS__Group__0__Impl rule__TupleTypeCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group__0__Impl_in_rule__TupleTypeCS__Group__019002);
+ rule__TupleTypeCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group__1_in_rule__TupleTypeCS__Group__019005);
+ rule__TupleTypeCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group__0"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9251:1: rule__TupleTypeCS__Group__0__Impl : ( ( rule__TupleTypeCS__NameAssignment_0 ) ) ;
+ public final void rule__TupleTypeCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9255:1: ( ( ( rule__TupleTypeCS__NameAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9256:1: ( ( rule__TupleTypeCS__NameAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9256:1: ( ( rule__TupleTypeCS__NameAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9257:1: ( rule__TupleTypeCS__NameAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSAccess().getNameAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9258:1: ( rule__TupleTypeCS__NameAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9258:2: rule__TupleTypeCS__NameAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__NameAssignment_0_in_rule__TupleTypeCS__Group__0__Impl19032);
+ rule__TupleTypeCS__NameAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSAccess().getNameAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9268:1: rule__TupleTypeCS__Group__1 : rule__TupleTypeCS__Group__1__Impl ;
+ public final void rule__TupleTypeCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9272:1: ( rule__TupleTypeCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9273:2: rule__TupleTypeCS__Group__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group__1__Impl_in_rule__TupleTypeCS__Group__119062);
+ rule__TupleTypeCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group__1"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9279:1: rule__TupleTypeCS__Group__1__Impl : ( ( rule__TupleTypeCS__Group_1__0 )? ) ;
+ public final void rule__TupleTypeCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9283:1: ( ( ( rule__TupleTypeCS__Group_1__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9284:1: ( ( rule__TupleTypeCS__Group_1__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9284:1: ( ( rule__TupleTypeCS__Group_1__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9285:1: ( rule__TupleTypeCS__Group_1__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9286:1: ( rule__TupleTypeCS__Group_1__0 )?
+ int alt75=2;
+ int LA75_0 = input.LA(1);
+
+ if ( (LA75_0==69) ) {
+ alt75=1;
+ }
+ switch (alt75) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9286:2: rule__TupleTypeCS__Group_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group_1__0_in_rule__TupleTypeCS__Group__1__Impl19089);
+ rule__TupleTypeCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9300:1: rule__TupleTypeCS__Group_1__0 : rule__TupleTypeCS__Group_1__0__Impl rule__TupleTypeCS__Group_1__1 ;
+ public final void rule__TupleTypeCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9304:1: ( rule__TupleTypeCS__Group_1__0__Impl rule__TupleTypeCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9305:2: rule__TupleTypeCS__Group_1__0__Impl rule__TupleTypeCS__Group_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group_1__0__Impl_in_rule__TupleTypeCS__Group_1__019124);
+ rule__TupleTypeCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group_1__1_in_rule__TupleTypeCS__Group_1__019127);
+ rule__TupleTypeCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group_1__0"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9312:1: rule__TupleTypeCS__Group_1__0__Impl : ( '(' ) ;
+ public final void rule__TupleTypeCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9316:1: ( ( '(' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9317:1: ( '(' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9317:1: ( '(' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9318:1: '('
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSAccess().getLeftParenthesisKeyword_1_0());
+ }
+ match(input,69,FollowSets000.FOLLOW_69_in_rule__TupleTypeCS__Group_1__0__Impl19155); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSAccess().getLeftParenthesisKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9331:1: rule__TupleTypeCS__Group_1__1 : rule__TupleTypeCS__Group_1__1__Impl rule__TupleTypeCS__Group_1__2 ;
+ public final void rule__TupleTypeCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9335:1: ( rule__TupleTypeCS__Group_1__1__Impl rule__TupleTypeCS__Group_1__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9336:2: rule__TupleTypeCS__Group_1__1__Impl rule__TupleTypeCS__Group_1__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group_1__1__Impl_in_rule__TupleTypeCS__Group_1__119186);
+ rule__TupleTypeCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group_1__2_in_rule__TupleTypeCS__Group_1__119189);
+ rule__TupleTypeCS__Group_1__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group_1__1"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9343:1: rule__TupleTypeCS__Group_1__1__Impl : ( ( rule__TupleTypeCS__Group_1_1__0 )? ) ;
+ public final void rule__TupleTypeCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9347:1: ( ( ( rule__TupleTypeCS__Group_1_1__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9348:1: ( ( rule__TupleTypeCS__Group_1_1__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9348:1: ( ( rule__TupleTypeCS__Group_1_1__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9349:1: ( rule__TupleTypeCS__Group_1_1__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSAccess().getGroup_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9350:1: ( rule__TupleTypeCS__Group_1_1__0 )?
+ int alt76=2;
+ int LA76_0 = input.LA(1);
+
+ if ( ((LA76_0>=RULE_SIMPLE_ID && LA76_0<=RULE_ESCAPED_ID)||(LA76_0>=18 && LA76_0<=34)||(LA76_0>=36 && LA76_0<=37)) ) {
+ alt76=1;
+ }
+ switch (alt76) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9350:2: rule__TupleTypeCS__Group_1_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group_1_1__0_in_rule__TupleTypeCS__Group_1__1__Impl19216);
+ rule__TupleTypeCS__Group_1_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSAccess().getGroup_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group_1__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9360:1: rule__TupleTypeCS__Group_1__2 : rule__TupleTypeCS__Group_1__2__Impl ;
+ public final void rule__TupleTypeCS__Group_1__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9364:1: ( rule__TupleTypeCS__Group_1__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9365:2: rule__TupleTypeCS__Group_1__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group_1__2__Impl_in_rule__TupleTypeCS__Group_1__219247);
+ rule__TupleTypeCS__Group_1__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group_1__2"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group_1__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9371:1: rule__TupleTypeCS__Group_1__2__Impl : ( ')' ) ;
+ public final void rule__TupleTypeCS__Group_1__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9375:1: ( ( ')' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9376:1: ( ')' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9376:1: ( ')' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9377:1: ')'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSAccess().getRightParenthesisKeyword_1_2());
+ }
+ match(input,70,FollowSets000.FOLLOW_70_in_rule__TupleTypeCS__Group_1__2__Impl19275); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSAccess().getRightParenthesisKeyword_1_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group_1__2__Impl"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group_1_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9396:1: rule__TupleTypeCS__Group_1_1__0 : rule__TupleTypeCS__Group_1_1__0__Impl rule__TupleTypeCS__Group_1_1__1 ;
+ public final void rule__TupleTypeCS__Group_1_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9400:1: ( rule__TupleTypeCS__Group_1_1__0__Impl rule__TupleTypeCS__Group_1_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9401:2: rule__TupleTypeCS__Group_1_1__0__Impl rule__TupleTypeCS__Group_1_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group_1_1__0__Impl_in_rule__TupleTypeCS__Group_1_1__019312);
+ rule__TupleTypeCS__Group_1_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group_1_1__1_in_rule__TupleTypeCS__Group_1_1__019315);
+ rule__TupleTypeCS__Group_1_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group_1_1__0"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group_1_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9408:1: rule__TupleTypeCS__Group_1_1__0__Impl : ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 ) ) ;
+ public final void rule__TupleTypeCS__Group_1_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9412:1: ( ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9413:1: ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9413:1: ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9414:1: ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSAccess().getOwnedPartsAssignment_1_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9415:1: ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9415:2: rule__TupleTypeCS__OwnedPartsAssignment_1_1_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__OwnedPartsAssignment_1_1_0_in_rule__TupleTypeCS__Group_1_1__0__Impl19342);
+ rule__TupleTypeCS__OwnedPartsAssignment_1_1_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSAccess().getOwnedPartsAssignment_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group_1_1__0__Impl"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group_1_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9425:1: rule__TupleTypeCS__Group_1_1__1 : rule__TupleTypeCS__Group_1_1__1__Impl ;
+ public final void rule__TupleTypeCS__Group_1_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9429:1: ( rule__TupleTypeCS__Group_1_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9430:2: rule__TupleTypeCS__Group_1_1__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group_1_1__1__Impl_in_rule__TupleTypeCS__Group_1_1__119372);
+ rule__TupleTypeCS__Group_1_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group_1_1__1"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group_1_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9436:1: rule__TupleTypeCS__Group_1_1__1__Impl : ( ( rule__TupleTypeCS__Group_1_1_1__0 )* ) ;
+ public final void rule__TupleTypeCS__Group_1_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9440:1: ( ( ( rule__TupleTypeCS__Group_1_1_1__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9441:1: ( ( rule__TupleTypeCS__Group_1_1_1__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9441:1: ( ( rule__TupleTypeCS__Group_1_1_1__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9442:1: ( rule__TupleTypeCS__Group_1_1_1__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSAccess().getGroup_1_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9443:1: ( rule__TupleTypeCS__Group_1_1_1__0 )*
+ loop77:
+ do {
+ int alt77=2;
+ int LA77_0 = input.LA(1);
+
+ if ( (LA77_0==73) ) {
+ alt77=1;
+ }
+
+
+ switch (alt77) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9443:2: rule__TupleTypeCS__Group_1_1_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group_1_1_1__0_in_rule__TupleTypeCS__Group_1_1__1__Impl19399);
+ rule__TupleTypeCS__Group_1_1_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop77;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSAccess().getGroup_1_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group_1_1__1__Impl"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group_1_1_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9457:1: rule__TupleTypeCS__Group_1_1_1__0 : rule__TupleTypeCS__Group_1_1_1__0__Impl rule__TupleTypeCS__Group_1_1_1__1 ;
+ public final void rule__TupleTypeCS__Group_1_1_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9461:1: ( rule__TupleTypeCS__Group_1_1_1__0__Impl rule__TupleTypeCS__Group_1_1_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9462:2: rule__TupleTypeCS__Group_1_1_1__0__Impl rule__TupleTypeCS__Group_1_1_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group_1_1_1__0__Impl_in_rule__TupleTypeCS__Group_1_1_1__019434);
+ rule__TupleTypeCS__Group_1_1_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group_1_1_1__1_in_rule__TupleTypeCS__Group_1_1_1__019437);
+ rule__TupleTypeCS__Group_1_1_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group_1_1_1__0"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group_1_1_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9469:1: rule__TupleTypeCS__Group_1_1_1__0__Impl : ( ',' ) ;
+ public final void rule__TupleTypeCS__Group_1_1_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9473:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9474:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9474:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9475:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSAccess().getCommaKeyword_1_1_1_0());
+ }
+ match(input,73,FollowSets000.FOLLOW_73_in_rule__TupleTypeCS__Group_1_1_1__0__Impl19465); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSAccess().getCommaKeyword_1_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group_1_1_1__0__Impl"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group_1_1_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9488:1: rule__TupleTypeCS__Group_1_1_1__1 : rule__TupleTypeCS__Group_1_1_1__1__Impl ;
+ public final void rule__TupleTypeCS__Group_1_1_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9492:1: ( rule__TupleTypeCS__Group_1_1_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9493:2: rule__TupleTypeCS__Group_1_1_1__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__Group_1_1_1__1__Impl_in_rule__TupleTypeCS__Group_1_1_1__119496);
+ rule__TupleTypeCS__Group_1_1_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group_1_1_1__1"
+
+
+ // $ANTLR start "rule__TupleTypeCS__Group_1_1_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9499:1: rule__TupleTypeCS__Group_1_1_1__1__Impl : ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 ) ) ;
+ public final void rule__TupleTypeCS__Group_1_1_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9503:1: ( ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9504:1: ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9504:1: ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9505:1: ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSAccess().getOwnedPartsAssignment_1_1_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9506:1: ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9506:2: rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1_in_rule__TupleTypeCS__Group_1_1_1__1__Impl19523);
+ rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSAccess().getOwnedPartsAssignment_1_1_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__Group_1_1_1__1__Impl"
+
+
+ // $ANTLR start "rule__TuplePartCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9520:1: rule__TuplePartCS__Group__0 : rule__TuplePartCS__Group__0__Impl rule__TuplePartCS__Group__1 ;
+ public final void rule__TuplePartCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9524:1: ( rule__TuplePartCS__Group__0__Impl rule__TuplePartCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9525:2: rule__TuplePartCS__Group__0__Impl rule__TuplePartCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TuplePartCS__Group__0__Impl_in_rule__TuplePartCS__Group__019557);
+ rule__TuplePartCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TuplePartCS__Group__1_in_rule__TuplePartCS__Group__019560);
+ rule__TuplePartCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TuplePartCS__Group__0"
+
+
+ // $ANTLR start "rule__TuplePartCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9532:1: rule__TuplePartCS__Group__0__Impl : ( ( rule__TuplePartCS__NameAssignment_0 ) ) ;
+ public final void rule__TuplePartCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9536:1: ( ( ( rule__TuplePartCS__NameAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9537:1: ( ( rule__TuplePartCS__NameAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9537:1: ( ( rule__TuplePartCS__NameAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9538:1: ( rule__TuplePartCS__NameAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTuplePartCSAccess().getNameAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9539:1: ( rule__TuplePartCS__NameAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9539:2: rule__TuplePartCS__NameAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TuplePartCS__NameAssignment_0_in_rule__TuplePartCS__Group__0__Impl19587);
+ rule__TuplePartCS__NameAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTuplePartCSAccess().getNameAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TuplePartCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__TuplePartCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9549:1: rule__TuplePartCS__Group__1 : rule__TuplePartCS__Group__1__Impl rule__TuplePartCS__Group__2 ;
+ public final void rule__TuplePartCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9553:1: ( rule__TuplePartCS__Group__1__Impl rule__TuplePartCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9554:2: rule__TuplePartCS__Group__1__Impl rule__TuplePartCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TuplePartCS__Group__1__Impl_in_rule__TuplePartCS__Group__119617);
+ rule__TuplePartCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TuplePartCS__Group__2_in_rule__TuplePartCS__Group__119620);
+ rule__TuplePartCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TuplePartCS__Group__1"
+
+
+ // $ANTLR start "rule__TuplePartCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9561:1: rule__TuplePartCS__Group__1__Impl : ( ':' ) ;
+ public final void rule__TuplePartCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9565:1: ( ( ':' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9566:1: ( ':' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9566:1: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9567:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTuplePartCSAccess().getColonKeyword_1());
+ }
+ match(input,74,FollowSets000.FOLLOW_74_in_rule__TuplePartCS__Group__1__Impl19648); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTuplePartCSAccess().getColonKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TuplePartCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__TuplePartCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9580:1: rule__TuplePartCS__Group__2 : rule__TuplePartCS__Group__2__Impl ;
+ public final void rule__TuplePartCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9584:1: ( rule__TuplePartCS__Group__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9585:2: rule__TuplePartCS__Group__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TuplePartCS__Group__2__Impl_in_rule__TuplePartCS__Group__219679);
+ rule__TuplePartCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TuplePartCS__Group__2"
+
+
+ // $ANTLR start "rule__TuplePartCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9591:1: rule__TuplePartCS__Group__2__Impl : ( ( rule__TuplePartCS__OwnedTypeAssignment_2 ) ) ;
+ public final void rule__TuplePartCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9595:1: ( ( ( rule__TuplePartCS__OwnedTypeAssignment_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9596:1: ( ( rule__TuplePartCS__OwnedTypeAssignment_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9596:1: ( ( rule__TuplePartCS__OwnedTypeAssignment_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9597:1: ( rule__TuplePartCS__OwnedTypeAssignment_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTuplePartCSAccess().getOwnedTypeAssignment_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9598:1: ( rule__TuplePartCS__OwnedTypeAssignment_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9598:2: rule__TuplePartCS__OwnedTypeAssignment_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TuplePartCS__OwnedTypeAssignment_2_in_rule__TuplePartCS__Group__2__Impl19706);
+ rule__TuplePartCS__OwnedTypeAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTuplePartCSAccess().getOwnedTypeAssignment_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TuplePartCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9614:1: rule__CollectionLiteralExpCS__Group__0 : rule__CollectionLiteralExpCS__Group__0__Impl rule__CollectionLiteralExpCS__Group__1 ;
+ public final void rule__CollectionLiteralExpCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9618:1: ( rule__CollectionLiteralExpCS__Group__0__Impl rule__CollectionLiteralExpCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9619:2: rule__CollectionLiteralExpCS__Group__0__Impl rule__CollectionLiteralExpCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group__0__Impl_in_rule__CollectionLiteralExpCS__Group__019742);
+ rule__CollectionLiteralExpCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group__1_in_rule__CollectionLiteralExpCS__Group__019745);
+ rule__CollectionLiteralExpCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group__0"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9626:1: rule__CollectionLiteralExpCS__Group__0__Impl : ( ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 ) ) ;
+ public final void rule__CollectionLiteralExpCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9630:1: ( ( ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9631:1: ( ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9631:1: ( ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9632:1: ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9633:1: ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9633:2: rule__CollectionLiteralExpCS__OwnedTypeAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__OwnedTypeAssignment_0_in_rule__CollectionLiteralExpCS__Group__0__Impl19772);
+ rule__CollectionLiteralExpCS__OwnedTypeAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9643:1: rule__CollectionLiteralExpCS__Group__1 : rule__CollectionLiteralExpCS__Group__1__Impl rule__CollectionLiteralExpCS__Group__2 ;
+ public final void rule__CollectionLiteralExpCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9647:1: ( rule__CollectionLiteralExpCS__Group__1__Impl rule__CollectionLiteralExpCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9648:2: rule__CollectionLiteralExpCS__Group__1__Impl rule__CollectionLiteralExpCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group__1__Impl_in_rule__CollectionLiteralExpCS__Group__119802);
+ rule__CollectionLiteralExpCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group__2_in_rule__CollectionLiteralExpCS__Group__119805);
+ rule__CollectionLiteralExpCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group__1"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9655:1: rule__CollectionLiteralExpCS__Group__1__Impl : ( '{' ) ;
+ public final void rule__CollectionLiteralExpCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9659:1: ( ( '{' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9660:1: ( '{' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9660:1: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9661:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
+ }
+ match(input,71,FollowSets000.FOLLOW_71_in_rule__CollectionLiteralExpCS__Group__1__Impl19833); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9674:1: rule__CollectionLiteralExpCS__Group__2 : rule__CollectionLiteralExpCS__Group__2__Impl rule__CollectionLiteralExpCS__Group__3 ;
+ public final void rule__CollectionLiteralExpCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9678:1: ( rule__CollectionLiteralExpCS__Group__2__Impl rule__CollectionLiteralExpCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9679:2: rule__CollectionLiteralExpCS__Group__2__Impl rule__CollectionLiteralExpCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group__2__Impl_in_rule__CollectionLiteralExpCS__Group__219864);
+ rule__CollectionLiteralExpCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group__3_in_rule__CollectionLiteralExpCS__Group__219867);
+ rule__CollectionLiteralExpCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group__2"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9686:1: rule__CollectionLiteralExpCS__Group__2__Impl : ( ( rule__CollectionLiteralExpCS__Group_2__0 )? ) ;
+ public final void rule__CollectionLiteralExpCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9690:1: ( ( ( rule__CollectionLiteralExpCS__Group_2__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9691:1: ( ( rule__CollectionLiteralExpCS__Group_2__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9691:1: ( ( rule__CollectionLiteralExpCS__Group_2__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9692:1: ( rule__CollectionLiteralExpCS__Group_2__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralExpCSAccess().getGroup_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9693:1: ( rule__CollectionLiteralExpCS__Group_2__0 )?
+ int alt78=2;
+ int LA78_0 = input.LA(1);
+
+ if ( ((LA78_0>=RULE_INT && LA78_0<=RULE_ESCAPED_ID)||(LA78_0>=18 && LA78_0<=37)||(LA78_0>=39 && LA78_0<=40)||(LA78_0>=54 && LA78_0<=67)||LA78_0==69||(LA78_0>=81 && LA78_0<=82)||LA78_0==84||LA78_0==88||(LA78_0>=90 && LA78_0<=92)) ) {
+ alt78=1;
+ }
+ switch (alt78) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9693:2: rule__CollectionLiteralExpCS__Group_2__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group_2__0_in_rule__CollectionLiteralExpCS__Group__2__Impl19894);
+ rule__CollectionLiteralExpCS__Group_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralExpCSAccess().getGroup_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9703:1: rule__CollectionLiteralExpCS__Group__3 : rule__CollectionLiteralExpCS__Group__3__Impl ;
+ public final void rule__CollectionLiteralExpCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9707:1: ( rule__CollectionLiteralExpCS__Group__3__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9708:2: rule__CollectionLiteralExpCS__Group__3__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group__3__Impl_in_rule__CollectionLiteralExpCS__Group__319925);
+ rule__CollectionLiteralExpCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group__3"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9714:1: rule__CollectionLiteralExpCS__Group__3__Impl : ( '}' ) ;
+ public final void rule__CollectionLiteralExpCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9718:1: ( ( '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9719:1: ( '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9719:1: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9720:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralExpCSAccess().getRightCurlyBracketKeyword_3());
+ }
+ match(input,72,FollowSets000.FOLLOW_72_in_rule__CollectionLiteralExpCS__Group__3__Impl19953); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralExpCSAccess().getRightCurlyBracketKeyword_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9741:1: rule__CollectionLiteralExpCS__Group_2__0 : rule__CollectionLiteralExpCS__Group_2__0__Impl rule__CollectionLiteralExpCS__Group_2__1 ;
+ public final void rule__CollectionLiteralExpCS__Group_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9745:1: ( rule__CollectionLiteralExpCS__Group_2__0__Impl rule__CollectionLiteralExpCS__Group_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9746:2: rule__CollectionLiteralExpCS__Group_2__0__Impl rule__CollectionLiteralExpCS__Group_2__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group_2__0__Impl_in_rule__CollectionLiteralExpCS__Group_2__019992);
+ rule__CollectionLiteralExpCS__Group_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group_2__1_in_rule__CollectionLiteralExpCS__Group_2__019995);
+ rule__CollectionLiteralExpCS__Group_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group_2__0"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9753:1: rule__CollectionLiteralExpCS__Group_2__0__Impl : ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 ) ) ;
+ public final void rule__CollectionLiteralExpCS__Group_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9757:1: ( ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9758:1: ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9758:1: ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9759:1: ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsAssignment_2_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9760:1: ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9760:2: rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0_in_rule__CollectionLiteralExpCS__Group_2__0__Impl20022);
+ rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsAssignment_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group_2__0__Impl"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9770:1: rule__CollectionLiteralExpCS__Group_2__1 : rule__CollectionLiteralExpCS__Group_2__1__Impl ;
+ public final void rule__CollectionLiteralExpCS__Group_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9774:1: ( rule__CollectionLiteralExpCS__Group_2__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9775:2: rule__CollectionLiteralExpCS__Group_2__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group_2__1__Impl_in_rule__CollectionLiteralExpCS__Group_2__120052);
+ rule__CollectionLiteralExpCS__Group_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group_2__1"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9781:1: rule__CollectionLiteralExpCS__Group_2__1__Impl : ( ( rule__CollectionLiteralExpCS__Group_2_1__0 )* ) ;
+ public final void rule__CollectionLiteralExpCS__Group_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9785:1: ( ( ( rule__CollectionLiteralExpCS__Group_2_1__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9786:1: ( ( rule__CollectionLiteralExpCS__Group_2_1__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9786:1: ( ( rule__CollectionLiteralExpCS__Group_2_1__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9787:1: ( rule__CollectionLiteralExpCS__Group_2_1__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralExpCSAccess().getGroup_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9788:1: ( rule__CollectionLiteralExpCS__Group_2_1__0 )*
+ loop79:
+ do {
+ int alt79=2;
+ int LA79_0 = input.LA(1);
+
+ if ( (LA79_0==73) ) {
+ alt79=1;
+ }
+
+
+ switch (alt79) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9788:2: rule__CollectionLiteralExpCS__Group_2_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__0_in_rule__CollectionLiteralExpCS__Group_2__1__Impl20079);
+ rule__CollectionLiteralExpCS__Group_2_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop79;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralExpCSAccess().getGroup_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group_2__1__Impl"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group_2_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9802:1: rule__CollectionLiteralExpCS__Group_2_1__0 : rule__CollectionLiteralExpCS__Group_2_1__0__Impl rule__CollectionLiteralExpCS__Group_2_1__1 ;
+ public final void rule__CollectionLiteralExpCS__Group_2_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9806:1: ( rule__CollectionLiteralExpCS__Group_2_1__0__Impl rule__CollectionLiteralExpCS__Group_2_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9807:2: rule__CollectionLiteralExpCS__Group_2_1__0__Impl rule__CollectionLiteralExpCS__Group_2_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__0__Impl_in_rule__CollectionLiteralExpCS__Group_2_1__020114);
+ rule__CollectionLiteralExpCS__Group_2_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__1_in_rule__CollectionLiteralExpCS__Group_2_1__020117);
+ rule__CollectionLiteralExpCS__Group_2_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group_2_1__0"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group_2_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9814:1: rule__CollectionLiteralExpCS__Group_2_1__0__Impl : ( ',' ) ;
+ public final void rule__CollectionLiteralExpCS__Group_2_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9818:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9819:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9819:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9820:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralExpCSAccess().getCommaKeyword_2_1_0());
+ }
+ match(input,73,FollowSets000.FOLLOW_73_in_rule__CollectionLiteralExpCS__Group_2_1__0__Impl20145); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralExpCSAccess().getCommaKeyword_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group_2_1__0__Impl"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group_2_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9833:1: rule__CollectionLiteralExpCS__Group_2_1__1 : rule__CollectionLiteralExpCS__Group_2_1__1__Impl ;
+ public final void rule__CollectionLiteralExpCS__Group_2_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9837:1: ( rule__CollectionLiteralExpCS__Group_2_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9838:2: rule__CollectionLiteralExpCS__Group_2_1__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__1__Impl_in_rule__CollectionLiteralExpCS__Group_2_1__120176);
+ rule__CollectionLiteralExpCS__Group_2_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group_2_1__1"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__Group_2_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9844:1: rule__CollectionLiteralExpCS__Group_2_1__1__Impl : ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 ) ) ;
+ public final void rule__CollectionLiteralExpCS__Group_2_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9848:1: ( ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9849:1: ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9849:1: ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9850:1: ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsAssignment_2_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9851:1: ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9851:2: rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1_in_rule__CollectionLiteralExpCS__Group_2_1__1__Impl20203);
+ rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsAssignment_2_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__Group_2_1__1__Impl"
+
+
+ // $ANTLR start "rule__CollectionLiteralPartCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9865:1: rule__CollectionLiteralPartCS__Group__0 : rule__CollectionLiteralPartCS__Group__0__Impl rule__CollectionLiteralPartCS__Group__1 ;
+ public final void rule__CollectionLiteralPartCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9869:1: ( rule__CollectionLiteralPartCS__Group__0__Impl rule__CollectionLiteralPartCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9870:2: rule__CollectionLiteralPartCS__Group__0__Impl rule__CollectionLiteralPartCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralPartCS__Group__0__Impl_in_rule__CollectionLiteralPartCS__Group__020237);
+ rule__CollectionLiteralPartCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralPartCS__Group__1_in_rule__CollectionLiteralPartCS__Group__020240);
+ rule__CollectionLiteralPartCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralPartCS__Group__0"
+
+
+ // $ANTLR start "rule__CollectionLiteralPartCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9877:1: rule__CollectionLiteralPartCS__Group__0__Impl : ( ( rule__CollectionLiteralPartCS__ExpressionCSAssignment_0 ) ) ;
+ public final void rule__CollectionLiteralPartCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9881:1: ( ( ( rule__CollectionLiteralPartCS__ExpressionCSAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9882:1: ( ( rule__CollectionLiteralPartCS__ExpressionCSAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9882:1: ( ( rule__CollectionLiteralPartCS__ExpressionCSAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9883:1: ( rule__CollectionLiteralPartCS__ExpressionCSAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralPartCSAccess().getExpressionCSAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9884:1: ( rule__CollectionLiteralPartCS__ExpressionCSAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9884:2: rule__CollectionLiteralPartCS__ExpressionCSAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralPartCS__ExpressionCSAssignment_0_in_rule__CollectionLiteralPartCS__Group__0__Impl20267);
+ rule__CollectionLiteralPartCS__ExpressionCSAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralPartCSAccess().getExpressionCSAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralPartCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__CollectionLiteralPartCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9894:1: rule__CollectionLiteralPartCS__Group__1 : rule__CollectionLiteralPartCS__Group__1__Impl ;
+ public final void rule__CollectionLiteralPartCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9898:1: ( rule__CollectionLiteralPartCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9899:2: rule__CollectionLiteralPartCS__Group__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralPartCS__Group__1__Impl_in_rule__CollectionLiteralPartCS__Group__120297);
+ rule__CollectionLiteralPartCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralPartCS__Group__1"
+
+
+ // $ANTLR start "rule__CollectionLiteralPartCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9905:1: rule__CollectionLiteralPartCS__Group__1__Impl : ( ( rule__CollectionLiteralPartCS__Group_1__0 )? ) ;
+ public final void rule__CollectionLiteralPartCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9909:1: ( ( ( rule__CollectionLiteralPartCS__Group_1__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9910:1: ( ( rule__CollectionLiteralPartCS__Group_1__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9910:1: ( ( rule__CollectionLiteralPartCS__Group_1__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9911:1: ( rule__CollectionLiteralPartCS__Group_1__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralPartCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9912:1: ( rule__CollectionLiteralPartCS__Group_1__0 )?
+ int alt80=2;
+ int LA80_0 = input.LA(1);
+
+ if ( (LA80_0==78) ) {
+ alt80=1;
+ }
+ switch (alt80) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9912:2: rule__CollectionLiteralPartCS__Group_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralPartCS__Group_1__0_in_rule__CollectionLiteralPartCS__Group__1__Impl20324);
+ rule__CollectionLiteralPartCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralPartCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralPartCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__CollectionLiteralPartCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9926:1: rule__CollectionLiteralPartCS__Group_1__0 : rule__CollectionLiteralPartCS__Group_1__0__Impl rule__CollectionLiteralPartCS__Group_1__1 ;
+ public final void rule__CollectionLiteralPartCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9930:1: ( rule__CollectionLiteralPartCS__Group_1__0__Impl rule__CollectionLiteralPartCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9931:2: rule__CollectionLiteralPartCS__Group_1__0__Impl rule__CollectionLiteralPartCS__Group_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralPartCS__Group_1__0__Impl_in_rule__CollectionLiteralPartCS__Group_1__020359);
+ rule__CollectionLiteralPartCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralPartCS__Group_1__1_in_rule__CollectionLiteralPartCS__Group_1__020362);
+ rule__CollectionLiteralPartCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralPartCS__Group_1__0"
+
+
+ // $ANTLR start "rule__CollectionLiteralPartCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9938:1: rule__CollectionLiteralPartCS__Group_1__0__Impl : ( '..' ) ;
+ public final void rule__CollectionLiteralPartCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9942:1: ( ( '..' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9943:1: ( '..' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9943:1: ( '..' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9944:1: '..'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_1_0());
+ }
+ match(input,78,FollowSets000.FOLLOW_78_in_rule__CollectionLiteralPartCS__Group_1__0__Impl20390); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralPartCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__CollectionLiteralPartCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9957:1: rule__CollectionLiteralPartCS__Group_1__1 : rule__CollectionLiteralPartCS__Group_1__1__Impl ;
+ public final void rule__CollectionLiteralPartCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9961:1: ( rule__CollectionLiteralPartCS__Group_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9962:2: rule__CollectionLiteralPartCS__Group_1__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralPartCS__Group_1__1__Impl_in_rule__CollectionLiteralPartCS__Group_1__120421);
+ rule__CollectionLiteralPartCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralPartCS__Group_1__1"
+
+
+ // $ANTLR start "rule__CollectionLiteralPartCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9968:1: rule__CollectionLiteralPartCS__Group_1__1__Impl : ( ( rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1 ) ) ;
+ public final void rule__CollectionLiteralPartCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9972:1: ( ( ( rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9973:1: ( ( rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9973:1: ( ( rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9974:1: ( rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralPartCSAccess().getLastExpressionCSAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9975:1: ( rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9975:2: rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1_in_rule__CollectionLiteralPartCS__Group_1__1__Impl20448);
+ rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralPartCSAccess().getLastExpressionCSAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralPartCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__ConstructorPartCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9989:1: rule__ConstructorPartCS__Group__0 : rule__ConstructorPartCS__Group__0__Impl rule__ConstructorPartCS__Group__1 ;
+ public final void rule__ConstructorPartCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9993:1: ( rule__ConstructorPartCS__Group__0__Impl rule__ConstructorPartCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:9994:2: rule__ConstructorPartCS__Group__0__Impl rule__ConstructorPartCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ConstructorPartCS__Group__0__Impl_in_rule__ConstructorPartCS__Group__020482);
+ rule__ConstructorPartCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ConstructorPartCS__Group__1_in_rule__ConstructorPartCS__Group__020485);
+ rule__ConstructorPartCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ConstructorPartCS__Group__0"
+
+
+ // $ANTLR start "rule__ConstructorPartCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10001:1: rule__ConstructorPartCS__Group__0__Impl : ( ( rule__ConstructorPartCS__PropertyAssignment_0 ) ) ;
+ public final void rule__ConstructorPartCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10005:1: ( ( ( rule__ConstructorPartCS__PropertyAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10006:1: ( ( rule__ConstructorPartCS__PropertyAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10006:1: ( ( rule__ConstructorPartCS__PropertyAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10007:1: ( rule__ConstructorPartCS__PropertyAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getConstructorPartCSAccess().getPropertyAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10008:1: ( rule__ConstructorPartCS__PropertyAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10008:2: rule__ConstructorPartCS__PropertyAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ConstructorPartCS__PropertyAssignment_0_in_rule__ConstructorPartCS__Group__0__Impl20512);
+ rule__ConstructorPartCS__PropertyAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getConstructorPartCSAccess().getPropertyAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ConstructorPartCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__ConstructorPartCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10018:1: rule__ConstructorPartCS__Group__1 : rule__ConstructorPartCS__Group__1__Impl rule__ConstructorPartCS__Group__2 ;
+ public final void rule__ConstructorPartCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10022:1: ( rule__ConstructorPartCS__Group__1__Impl rule__ConstructorPartCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10023:2: rule__ConstructorPartCS__Group__1__Impl rule__ConstructorPartCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ConstructorPartCS__Group__1__Impl_in_rule__ConstructorPartCS__Group__120542);
+ rule__ConstructorPartCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ConstructorPartCS__Group__2_in_rule__ConstructorPartCS__Group__120545);
+ rule__ConstructorPartCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ConstructorPartCS__Group__1"
+
+
+ // $ANTLR start "rule__ConstructorPartCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10030:1: rule__ConstructorPartCS__Group__1__Impl : ( '=' ) ;
+ public final void rule__ConstructorPartCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10034:1: ( ( '=' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10035:1: ( '=' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10035:1: ( '=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10036:1: '='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getConstructorPartCSAccess().getEqualsSignKeyword_1());
+ }
+ match(input,46,FollowSets000.FOLLOW_46_in_rule__ConstructorPartCS__Group__1__Impl20573); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getConstructorPartCSAccess().getEqualsSignKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ConstructorPartCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__ConstructorPartCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10049:1: rule__ConstructorPartCS__Group__2 : rule__ConstructorPartCS__Group__2__Impl ;
+ public final void rule__ConstructorPartCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10053:1: ( rule__ConstructorPartCS__Group__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10054:2: rule__ConstructorPartCS__Group__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ConstructorPartCS__Group__2__Impl_in_rule__ConstructorPartCS__Group__220604);
+ rule__ConstructorPartCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ConstructorPartCS__Group__2"
+
+
+ // $ANTLR start "rule__ConstructorPartCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10060:1: rule__ConstructorPartCS__Group__2__Impl : ( ( rule__ConstructorPartCS__InitExpressionAssignment_2 ) ) ;
+ public final void rule__ConstructorPartCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10064:1: ( ( ( rule__ConstructorPartCS__InitExpressionAssignment_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10065:1: ( ( rule__ConstructorPartCS__InitExpressionAssignment_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10065:1: ( ( rule__ConstructorPartCS__InitExpressionAssignment_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10066:1: ( rule__ConstructorPartCS__InitExpressionAssignment_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getConstructorPartCSAccess().getInitExpressionAssignment_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10067:1: ( rule__ConstructorPartCS__InitExpressionAssignment_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10067:2: rule__ConstructorPartCS__InitExpressionAssignment_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ConstructorPartCS__InitExpressionAssignment_2_in_rule__ConstructorPartCS__Group__2__Impl20631);
+ rule__ConstructorPartCS__InitExpressionAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getConstructorPartCSAccess().getInitExpressionAssignment_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ConstructorPartCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10083:1: rule__TupleLiteralExpCS__Group__0 : rule__TupleLiteralExpCS__Group__0__Impl rule__TupleLiteralExpCS__Group__1 ;
+ public final void rule__TupleLiteralExpCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10087:1: ( rule__TupleLiteralExpCS__Group__0__Impl rule__TupleLiteralExpCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10088:2: rule__TupleLiteralExpCS__Group__0__Impl rule__TupleLiteralExpCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__Group__0__Impl_in_rule__TupleLiteralExpCS__Group__020667);
+ rule__TupleLiteralExpCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__Group__1_in_rule__TupleLiteralExpCS__Group__020670);
+ rule__TupleLiteralExpCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__Group__0"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10095:1: rule__TupleLiteralExpCS__Group__0__Impl : ( 'Tuple' ) ;
+ public final void rule__TupleLiteralExpCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10099:1: ( ( 'Tuple' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10100:1: ( 'Tuple' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10100:1: ( 'Tuple' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10101:1: 'Tuple'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralExpCSAccess().getTupleKeyword_0());
+ }
+ match(input,54,FollowSets000.FOLLOW_54_in_rule__TupleLiteralExpCS__Group__0__Impl20698); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralExpCSAccess().getTupleKeyword_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10114:1: rule__TupleLiteralExpCS__Group__1 : rule__TupleLiteralExpCS__Group__1__Impl rule__TupleLiteralExpCS__Group__2 ;
+ public final void rule__TupleLiteralExpCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10118:1: ( rule__TupleLiteralExpCS__Group__1__Impl rule__TupleLiteralExpCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10119:2: rule__TupleLiteralExpCS__Group__1__Impl rule__TupleLiteralExpCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__Group__1__Impl_in_rule__TupleLiteralExpCS__Group__120729);
+ rule__TupleLiteralExpCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__Group__2_in_rule__TupleLiteralExpCS__Group__120732);
+ rule__TupleLiteralExpCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__Group__1"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10126:1: rule__TupleLiteralExpCS__Group__1__Impl : ( '{' ) ;
+ public final void rule__TupleLiteralExpCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10130:1: ( ( '{' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10131:1: ( '{' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10131:1: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10132:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
+ }
+ match(input,71,FollowSets000.FOLLOW_71_in_rule__TupleLiteralExpCS__Group__1__Impl20760); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10145:1: rule__TupleLiteralExpCS__Group__2 : rule__TupleLiteralExpCS__Group__2__Impl rule__TupleLiteralExpCS__Group__3 ;
+ public final void rule__TupleLiteralExpCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10149:1: ( rule__TupleLiteralExpCS__Group__2__Impl rule__TupleLiteralExpCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10150:2: rule__TupleLiteralExpCS__Group__2__Impl rule__TupleLiteralExpCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__Group__2__Impl_in_rule__TupleLiteralExpCS__Group__220791);
+ rule__TupleLiteralExpCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__Group__3_in_rule__TupleLiteralExpCS__Group__220794);
+ rule__TupleLiteralExpCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__Group__2"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10157:1: rule__TupleLiteralExpCS__Group__2__Impl : ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 ) ) ;
+ public final void rule__TupleLiteralExpCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10161:1: ( ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10162:1: ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10162:1: ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10163:1: ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsAssignment_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10164:1: ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10164:2: rule__TupleLiteralExpCS__OwnedPartsAssignment_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__OwnedPartsAssignment_2_in_rule__TupleLiteralExpCS__Group__2__Impl20821);
+ rule__TupleLiteralExpCS__OwnedPartsAssignment_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsAssignment_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10174:1: rule__TupleLiteralExpCS__Group__3 : rule__TupleLiteralExpCS__Group__3__Impl rule__TupleLiteralExpCS__Group__4 ;
+ public final void rule__TupleLiteralExpCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10178:1: ( rule__TupleLiteralExpCS__Group__3__Impl rule__TupleLiteralExpCS__Group__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10179:2: rule__TupleLiteralExpCS__Group__3__Impl rule__TupleLiteralExpCS__Group__4
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__Group__3__Impl_in_rule__TupleLiteralExpCS__Group__320851);
+ rule__TupleLiteralExpCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__Group__4_in_rule__TupleLiteralExpCS__Group__320854);
+ rule__TupleLiteralExpCS__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__Group__3"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10186:1: rule__TupleLiteralExpCS__Group__3__Impl : ( ( rule__TupleLiteralExpCS__Group_3__0 )* ) ;
+ public final void rule__TupleLiteralExpCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10190:1: ( ( ( rule__TupleLiteralExpCS__Group_3__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10191:1: ( ( rule__TupleLiteralExpCS__Group_3__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10191:1: ( ( rule__TupleLiteralExpCS__Group_3__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10192:1: ( rule__TupleLiteralExpCS__Group_3__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralExpCSAccess().getGroup_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10193:1: ( rule__TupleLiteralExpCS__Group_3__0 )*
+ loop81:
+ do {
+ int alt81=2;
+ int LA81_0 = input.LA(1);
+
+ if ( (LA81_0==73) ) {
+ alt81=1;
+ }
+
+
+ switch (alt81) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10193:2: rule__TupleLiteralExpCS__Group_3__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__Group_3__0_in_rule__TupleLiteralExpCS__Group__3__Impl20881);
+ rule__TupleLiteralExpCS__Group_3__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop81;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralExpCSAccess().getGroup_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__Group__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10203:1: rule__TupleLiteralExpCS__Group__4 : rule__TupleLiteralExpCS__Group__4__Impl ;
+ public final void rule__TupleLiteralExpCS__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10207:1: ( rule__TupleLiteralExpCS__Group__4__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10208:2: rule__TupleLiteralExpCS__Group__4__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__Group__4__Impl_in_rule__TupleLiteralExpCS__Group__420912);
+ rule__TupleLiteralExpCS__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__Group__4"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__Group__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10214:1: rule__TupleLiteralExpCS__Group__4__Impl : ( '}' ) ;
+ public final void rule__TupleLiteralExpCS__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10218:1: ( ( '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10219:1: ( '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10219:1: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10220:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralExpCSAccess().getRightCurlyBracketKeyword_4());
+ }
+ match(input,72,FollowSets000.FOLLOW_72_in_rule__TupleLiteralExpCS__Group__4__Impl20940); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralExpCSAccess().getRightCurlyBracketKeyword_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__Group__4__Impl"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__Group_3__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10243:1: rule__TupleLiteralExpCS__Group_3__0 : rule__TupleLiteralExpCS__Group_3__0__Impl rule__TupleLiteralExpCS__Group_3__1 ;
+ public final void rule__TupleLiteralExpCS__Group_3__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10247:1: ( rule__TupleLiteralExpCS__Group_3__0__Impl rule__TupleLiteralExpCS__Group_3__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10248:2: rule__TupleLiteralExpCS__Group_3__0__Impl rule__TupleLiteralExpCS__Group_3__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__Group_3__0__Impl_in_rule__TupleLiteralExpCS__Group_3__020981);
+ rule__TupleLiteralExpCS__Group_3__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__Group_3__1_in_rule__TupleLiteralExpCS__Group_3__020984);
+ rule__TupleLiteralExpCS__Group_3__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__Group_3__0"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__Group_3__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10255:1: rule__TupleLiteralExpCS__Group_3__0__Impl : ( ',' ) ;
+ public final void rule__TupleLiteralExpCS__Group_3__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10259:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10260:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10260:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10261:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralExpCSAccess().getCommaKeyword_3_0());
+ }
+ match(input,73,FollowSets000.FOLLOW_73_in_rule__TupleLiteralExpCS__Group_3__0__Impl21012); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralExpCSAccess().getCommaKeyword_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__Group_3__0__Impl"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__Group_3__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10274:1: rule__TupleLiteralExpCS__Group_3__1 : rule__TupleLiteralExpCS__Group_3__1__Impl ;
+ public final void rule__TupleLiteralExpCS__Group_3__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10278:1: ( rule__TupleLiteralExpCS__Group_3__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10279:2: rule__TupleLiteralExpCS__Group_3__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__Group_3__1__Impl_in_rule__TupleLiteralExpCS__Group_3__121043);
+ rule__TupleLiteralExpCS__Group_3__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__Group_3__1"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__Group_3__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10285:1: rule__TupleLiteralExpCS__Group_3__1__Impl : ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 ) ) ;
+ public final void rule__TupleLiteralExpCS__Group_3__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10289:1: ( ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10290:1: ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10290:1: ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10291:1: ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsAssignment_3_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10292:1: ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10292:2: rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1_in_rule__TupleLiteralExpCS__Group_3__1__Impl21070);
+ rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsAssignment_3_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__Group_3__1__Impl"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10306:1: rule__TupleLiteralPartCS__Group__0 : rule__TupleLiteralPartCS__Group__0__Impl rule__TupleLiteralPartCS__Group__1 ;
+ public final void rule__TupleLiteralPartCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10310:1: ( rule__TupleLiteralPartCS__Group__0__Impl rule__TupleLiteralPartCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10311:2: rule__TupleLiteralPartCS__Group__0__Impl rule__TupleLiteralPartCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__Group__0__Impl_in_rule__TupleLiteralPartCS__Group__021104);
+ rule__TupleLiteralPartCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__Group__1_in_rule__TupleLiteralPartCS__Group__021107);
+ rule__TupleLiteralPartCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__Group__0"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10318:1: rule__TupleLiteralPartCS__Group__0__Impl : ( ( rule__TupleLiteralPartCS__NameAssignment_0 ) ) ;
+ public final void rule__TupleLiteralPartCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10322:1: ( ( ( rule__TupleLiteralPartCS__NameAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10323:1: ( ( rule__TupleLiteralPartCS__NameAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10323:1: ( ( rule__TupleLiteralPartCS__NameAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10324:1: ( rule__TupleLiteralPartCS__NameAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralPartCSAccess().getNameAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10325:1: ( rule__TupleLiteralPartCS__NameAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10325:2: rule__TupleLiteralPartCS__NameAssignment_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__NameAssignment_0_in_rule__TupleLiteralPartCS__Group__0__Impl21134);
+ rule__TupleLiteralPartCS__NameAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralPartCSAccess().getNameAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10335:1: rule__TupleLiteralPartCS__Group__1 : rule__TupleLiteralPartCS__Group__1__Impl rule__TupleLiteralPartCS__Group__2 ;
+ public final void rule__TupleLiteralPartCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10339:1: ( rule__TupleLiteralPartCS__Group__1__Impl rule__TupleLiteralPartCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10340:2: rule__TupleLiteralPartCS__Group__1__Impl rule__TupleLiteralPartCS__Group__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__Group__1__Impl_in_rule__TupleLiteralPartCS__Group__121164);
+ rule__TupleLiteralPartCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__Group__2_in_rule__TupleLiteralPartCS__Group__121167);
+ rule__TupleLiteralPartCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__Group__1"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10347:1: rule__TupleLiteralPartCS__Group__1__Impl : ( ( rule__TupleLiteralPartCS__Group_1__0 )? ) ;
+ public final void rule__TupleLiteralPartCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10351:1: ( ( ( rule__TupleLiteralPartCS__Group_1__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10352:1: ( ( rule__TupleLiteralPartCS__Group_1__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10352:1: ( ( rule__TupleLiteralPartCS__Group_1__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10353:1: ( rule__TupleLiteralPartCS__Group_1__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralPartCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10354:1: ( rule__TupleLiteralPartCS__Group_1__0 )?
+ int alt82=2;
+ int LA82_0 = input.LA(1);
+
+ if ( (LA82_0==74) ) {
+ alt82=1;
+ }
+ switch (alt82) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10354:2: rule__TupleLiteralPartCS__Group_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__Group_1__0_in_rule__TupleLiteralPartCS__Group__1__Impl21194);
+ rule__TupleLiteralPartCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralPartCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10364:1: rule__TupleLiteralPartCS__Group__2 : rule__TupleLiteralPartCS__Group__2__Impl rule__TupleLiteralPartCS__Group__3 ;
+ public final void rule__TupleLiteralPartCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10368:1: ( rule__TupleLiteralPartCS__Group__2__Impl rule__TupleLiteralPartCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10369:2: rule__TupleLiteralPartCS__Group__2__Impl rule__TupleLiteralPartCS__Group__3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__Group__2__Impl_in_rule__TupleLiteralPartCS__Group__221225);
+ rule__TupleLiteralPartCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__Group__3_in_rule__TupleLiteralPartCS__Group__221228);
+ rule__TupleLiteralPartCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__Group__2"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10376:1: rule__TupleLiteralPartCS__Group__2__Impl : ( '=' ) ;
+ public final void rule__TupleLiteralPartCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10380:1: ( ( '=' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10381:1: ( '=' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10381:1: ( '=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10382:1: '='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralPartCSAccess().getEqualsSignKeyword_2());
+ }
+ match(input,46,FollowSets000.FOLLOW_46_in_rule__TupleLiteralPartCS__Group__2__Impl21256); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralPartCSAccess().getEqualsSignKeyword_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10395:1: rule__TupleLiteralPartCS__Group__3 : rule__TupleLiteralPartCS__Group__3__Impl ;
+ public final void rule__TupleLiteralPartCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10399:1: ( rule__TupleLiteralPartCS__Group__3__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10400:2: rule__TupleLiteralPartCS__Group__3__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__Group__3__Impl_in_rule__TupleLiteralPartCS__Group__321287);
+ rule__TupleLiteralPartCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__Group__3"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10406:1: rule__TupleLiteralPartCS__Group__3__Impl : ( ( rule__TupleLiteralPartCS__InitExpressionAssignment_3 ) ) ;
+ public final void rule__TupleLiteralPartCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10410:1: ( ( ( rule__TupleLiteralPartCS__InitExpressionAssignment_3 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10411:1: ( ( rule__TupleLiteralPartCS__InitExpressionAssignment_3 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10411:1: ( ( rule__TupleLiteralPartCS__InitExpressionAssignment_3 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10412:1: ( rule__TupleLiteralPartCS__InitExpressionAssignment_3 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralPartCSAccess().getInitExpressionAssignment_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10413:1: ( rule__TupleLiteralPartCS__InitExpressionAssignment_3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10413:2: rule__TupleLiteralPartCS__InitExpressionAssignment_3
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__InitExpressionAssignment_3_in_rule__TupleLiteralPartCS__Group__3__Impl21314);
+ rule__TupleLiteralPartCS__InitExpressionAssignment_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralPartCSAccess().getInitExpressionAssignment_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10431:1: rule__TupleLiteralPartCS__Group_1__0 : rule__TupleLiteralPartCS__Group_1__0__Impl rule__TupleLiteralPartCS__Group_1__1 ;
+ public final void rule__TupleLiteralPartCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10435:1: ( rule__TupleLiteralPartCS__Group_1__0__Impl rule__TupleLiteralPartCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10436:2: rule__TupleLiteralPartCS__Group_1__0__Impl rule__TupleLiteralPartCS__Group_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__Group_1__0__Impl_in_rule__TupleLiteralPartCS__Group_1__021352);
+ rule__TupleLiteralPartCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__Group_1__1_in_rule__TupleLiteralPartCS__Group_1__021355);
+ rule__TupleLiteralPartCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__Group_1__0"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10443:1: rule__TupleLiteralPartCS__Group_1__0__Impl : ( ':' ) ;
+ public final void rule__TupleLiteralPartCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10447:1: ( ( ':' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10448:1: ( ':' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10448:1: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10449:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralPartCSAccess().getColonKeyword_1_0());
+ }
+ match(input,74,FollowSets000.FOLLOW_74_in_rule__TupleLiteralPartCS__Group_1__0__Impl21383); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralPartCSAccess().getColonKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10462:1: rule__TupleLiteralPartCS__Group_1__1 : rule__TupleLiteralPartCS__Group_1__1__Impl ;
+ public final void rule__TupleLiteralPartCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10466:1: ( rule__TupleLiteralPartCS__Group_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10467:2: rule__TupleLiteralPartCS__Group_1__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__Group_1__1__Impl_in_rule__TupleLiteralPartCS__Group_1__121414);
+ rule__TupleLiteralPartCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__Group_1__1"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10473:1: rule__TupleLiteralPartCS__Group_1__1__Impl : ( ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 ) ) ;
+ public final void rule__TupleLiteralPartCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10477:1: ( ( ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10478:1: ( ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10478:1: ( ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10479:1: ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10480:1: ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10480:2: rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1_in_rule__TupleLiteralPartCS__Group_1__1__Impl21441);
+ rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__UnlimitedNaturalLiteralExpCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10494:1: rule__UnlimitedNaturalLiteralExpCS__Group__0 : rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl rule__UnlimitedNaturalLiteralExpCS__Group__1 ;
+ public final void rule__UnlimitedNaturalLiteralExpCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10498:1: ( rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl rule__UnlimitedNaturalLiteralExpCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10499:2: rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl rule__UnlimitedNaturalLiteralExpCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl_in_rule__UnlimitedNaturalLiteralExpCS__Group__021475);
+ rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__1_in_rule__UnlimitedNaturalLiteralExpCS__Group__021478);
+ rule__UnlimitedNaturalLiteralExpCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnlimitedNaturalLiteralExpCS__Group__0"
+
+
+ // $ANTLR start "rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10506:1: rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl : ( () ) ;
+ public final void rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10510:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10511:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10511:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10512:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10513:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10515:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__UnlimitedNaturalLiteralExpCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10525:1: rule__UnlimitedNaturalLiteralExpCS__Group__1 : rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl ;
+ public final void rule__UnlimitedNaturalLiteralExpCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10529:1: ( rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10530:2: rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl_in_rule__UnlimitedNaturalLiteralExpCS__Group__121536);
+ rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnlimitedNaturalLiteralExpCS__Group__1"
+
+
+ // $ANTLR start "rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10536:1: rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl : ( '*' ) ;
+ public final void rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10540:1: ( ( '*' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10541:1: ( '*' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10541:1: ( '*' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10542:1: '*'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getAsteriskKeyword_1());
+ }
+ match(input,35,FollowSets000.FOLLOW_35_in_rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl21564); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getAsteriskKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__InvalidLiteralExpCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10559:1: rule__InvalidLiteralExpCS__Group__0 : rule__InvalidLiteralExpCS__Group__0__Impl rule__InvalidLiteralExpCS__Group__1 ;
+ public final void rule__InvalidLiteralExpCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10563:1: ( rule__InvalidLiteralExpCS__Group__0__Impl rule__InvalidLiteralExpCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10564:2: rule__InvalidLiteralExpCS__Group__0__Impl rule__InvalidLiteralExpCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__InvalidLiteralExpCS__Group__0__Impl_in_rule__InvalidLiteralExpCS__Group__021599);
+ rule__InvalidLiteralExpCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__InvalidLiteralExpCS__Group__1_in_rule__InvalidLiteralExpCS__Group__021602);
+ rule__InvalidLiteralExpCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__InvalidLiteralExpCS__Group__0"
+
+
+ // $ANTLR start "rule__InvalidLiteralExpCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10571:1: rule__InvalidLiteralExpCS__Group__0__Impl : ( () ) ;
+ public final void rule__InvalidLiteralExpCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10575:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10576:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10576:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10577:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10578:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10580:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__InvalidLiteralExpCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__InvalidLiteralExpCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10590:1: rule__InvalidLiteralExpCS__Group__1 : rule__InvalidLiteralExpCS__Group__1__Impl ;
+ public final void rule__InvalidLiteralExpCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10594:1: ( rule__InvalidLiteralExpCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10595:2: rule__InvalidLiteralExpCS__Group__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__InvalidLiteralExpCS__Group__1__Impl_in_rule__InvalidLiteralExpCS__Group__121660);
+ rule__InvalidLiteralExpCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__InvalidLiteralExpCS__Group__1"
+
+
+ // $ANTLR start "rule__InvalidLiteralExpCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10601:1: rule__InvalidLiteralExpCS__Group__1__Impl : ( 'invalid' ) ;
+ public final void rule__InvalidLiteralExpCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10605:1: ( ( 'invalid' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10606:1: ( 'invalid' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10606:1: ( 'invalid' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10607:1: 'invalid'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getInvalidLiteralExpCSAccess().getInvalidKeyword_1());
+ }
+ match(input,81,FollowSets000.FOLLOW_81_in_rule__InvalidLiteralExpCS__Group__1__Impl21688); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getInvalidLiteralExpCSAccess().getInvalidKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__InvalidLiteralExpCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__NullLiteralExpCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10624:1: rule__NullLiteralExpCS__Group__0 : rule__NullLiteralExpCS__Group__0__Impl rule__NullLiteralExpCS__Group__1 ;
+ public final void rule__NullLiteralExpCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10628:1: ( rule__NullLiteralExpCS__Group__0__Impl rule__NullLiteralExpCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10629:2: rule__NullLiteralExpCS__Group__0__Impl rule__NullLiteralExpCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NullLiteralExpCS__Group__0__Impl_in_rule__NullLiteralExpCS__Group__021723);
+ rule__NullLiteralExpCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__NullLiteralExpCS__Group__1_in_rule__NullLiteralExpCS__Group__021726);
+ rule__NullLiteralExpCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NullLiteralExpCS__Group__0"
+
+
+ // $ANTLR start "rule__NullLiteralExpCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10636:1: rule__NullLiteralExpCS__Group__0__Impl : ( () ) ;
+ public final void rule__NullLiteralExpCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10640:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10641:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10641:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10642:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10643:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10645:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NullLiteralExpCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__NullLiteralExpCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10655:1: rule__NullLiteralExpCS__Group__1 : rule__NullLiteralExpCS__Group__1__Impl ;
+ public final void rule__NullLiteralExpCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10659:1: ( rule__NullLiteralExpCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10660:2: rule__NullLiteralExpCS__Group__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__NullLiteralExpCS__Group__1__Impl_in_rule__NullLiteralExpCS__Group__121784);
+ rule__NullLiteralExpCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NullLiteralExpCS__Group__1"
+
+
+ // $ANTLR start "rule__NullLiteralExpCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10666:1: rule__NullLiteralExpCS__Group__1__Impl : ( 'null' ) ;
+ public final void rule__NullLiteralExpCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10670:1: ( ( 'null' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10671:1: ( 'null' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10671:1: ( 'null' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10672:1: 'null'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNullLiteralExpCSAccess().getNullKeyword_1());
+ }
+ match(input,82,FollowSets000.FOLLOW_82_in_rule__NullLiteralExpCS__Group__1__Impl21812); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNullLiteralExpCSAccess().getNullKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NullLiteralExpCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__TypeExpCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10689:1: rule__TypeExpCS__Group__0 : rule__TypeExpCS__Group__0__Impl rule__TypeExpCS__Group__1 ;
+ public final void rule__TypeExpCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10693:1: ( rule__TypeExpCS__Group__0__Impl rule__TypeExpCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10694:2: rule__TypeExpCS__Group__0__Impl rule__TypeExpCS__Group__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TypeExpCS__Group__0__Impl_in_rule__TypeExpCS__Group__021847);
+ rule__TypeExpCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__TypeExpCS__Group__1_in_rule__TypeExpCS__Group__021850);
+ rule__TypeExpCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TypeExpCS__Group__0"
+
+
+ // $ANTLR start "rule__TypeExpCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10701:1: rule__TypeExpCS__Group__0__Impl : ( ( rule__TypeExpCS__Alternatives_0 ) ) ;
+ public final void rule__TypeExpCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10705:1: ( ( ( rule__TypeExpCS__Alternatives_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10706:1: ( ( rule__TypeExpCS__Alternatives_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10706:1: ( ( rule__TypeExpCS__Alternatives_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10707:1: ( rule__TypeExpCS__Alternatives_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeExpCSAccess().getAlternatives_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10708:1: ( rule__TypeExpCS__Alternatives_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10708:2: rule__TypeExpCS__Alternatives_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TypeExpCS__Alternatives_0_in_rule__TypeExpCS__Group__0__Impl21877);
+ rule__TypeExpCS__Alternatives_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeExpCSAccess().getAlternatives_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TypeExpCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__TypeExpCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10718:1: rule__TypeExpCS__Group__1 : rule__TypeExpCS__Group__1__Impl ;
+ public final void rule__TypeExpCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10722:1: ( rule__TypeExpCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10723:2: rule__TypeExpCS__Group__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TypeExpCS__Group__1__Impl_in_rule__TypeExpCS__Group__121907);
+ rule__TypeExpCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TypeExpCS__Group__1"
+
+
+ // $ANTLR start "rule__TypeExpCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10729:1: rule__TypeExpCS__Group__1__Impl : ( ( rule__TypeExpCS__MultiplicityAssignment_1 )? ) ;
+ public final void rule__TypeExpCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10733:1: ( ( ( rule__TypeExpCS__MultiplicityAssignment_1 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10734:1: ( ( rule__TypeExpCS__MultiplicityAssignment_1 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10734:1: ( ( rule__TypeExpCS__MultiplicityAssignment_1 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10735:1: ( rule__TypeExpCS__MultiplicityAssignment_1 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeExpCSAccess().getMultiplicityAssignment_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10736:1: ( rule__TypeExpCS__MultiplicityAssignment_1 )?
+ int alt83=2;
+ int LA83_0 = input.LA(1);
+
+ if ( (LA83_0==79) ) {
+ alt83=1;
+ }
+ switch (alt83) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10736:2: rule__TypeExpCS__MultiplicityAssignment_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__TypeExpCS__MultiplicityAssignment_1_in_rule__TypeExpCS__Group__1__Impl21934);
+ rule__TypeExpCS__MultiplicityAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeExpCSAccess().getMultiplicityAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TypeExpCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__ExpCS__Group_0__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10750:1: rule__ExpCS__Group_0__0 : rule__ExpCS__Group_0__0__Impl rule__ExpCS__Group_0__1 ;
+ public final void rule__ExpCS__Group_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10754:1: ( rule__ExpCS__Group_0__0__Impl rule__ExpCS__Group_0__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10755:2: rule__ExpCS__Group_0__0__Impl rule__ExpCS__Group_0__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_0__0__Impl_in_rule__ExpCS__Group_0__021969);
+ rule__ExpCS__Group_0__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_0__1_in_rule__ExpCS__Group_0__021972);
+ rule__ExpCS__Group_0__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_0__0"
+
+
+ // $ANTLR start "rule__ExpCS__Group_0__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10762:1: rule__ExpCS__Group_0__0__Impl : ( () ) ;
+ public final void rule__ExpCS__Group_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10766:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10767:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10767:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10768:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getInfixExpCSAction_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10769:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10771:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getInfixExpCSAction_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_0__0__Impl"
+
+
+ // $ANTLR start "rule__ExpCS__Group_0__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10781:1: rule__ExpCS__Group_0__1 : rule__ExpCS__Group_0__1__Impl rule__ExpCS__Group_0__2 ;
+ public final void rule__ExpCS__Group_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10785:1: ( rule__ExpCS__Group_0__1__Impl rule__ExpCS__Group_0__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10786:2: rule__ExpCS__Group_0__1__Impl rule__ExpCS__Group_0__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_0__1__Impl_in_rule__ExpCS__Group_0__122030);
+ rule__ExpCS__Group_0__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_0__2_in_rule__ExpCS__Group_0__122033);
+ rule__ExpCS__Group_0__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_0__1"
+
+
+ // $ANTLR start "rule__ExpCS__Group_0__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10793:1: rule__ExpCS__Group_0__1__Impl : ( ( ( rule__ExpCS__Group_0_1__0 ) ) ( ( rule__ExpCS__Group_0_1__0 )* ) ) ;
+ public final void rule__ExpCS__Group_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10797:1: ( ( ( ( rule__ExpCS__Group_0_1__0 ) ) ( ( rule__ExpCS__Group_0_1__0 )* ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10798:1: ( ( ( rule__ExpCS__Group_0_1__0 ) ) ( ( rule__ExpCS__Group_0_1__0 )* ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10798:1: ( ( ( rule__ExpCS__Group_0_1__0 ) ) ( ( rule__ExpCS__Group_0_1__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10799:1: ( ( rule__ExpCS__Group_0_1__0 ) ) ( ( rule__ExpCS__Group_0_1__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10799:1: ( ( rule__ExpCS__Group_0_1__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10800:1: ( rule__ExpCS__Group_0_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getGroup_0_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10801:1: ( rule__ExpCS__Group_0_1__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10801:2: rule__ExpCS__Group_0_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_0_1__0_in_rule__ExpCS__Group_0__1__Impl22062);
+ rule__ExpCS__Group_0_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getGroup_0_1());
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10804:1: ( ( rule__ExpCS__Group_0_1__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10805:1: ( rule__ExpCS__Group_0_1__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getGroup_0_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10806:1: ( rule__ExpCS__Group_0_1__0 )*
+ loop84:
+ do {
+ int alt84=2;
+ alt84 = dfa84.predict(input);
+ switch (alt84) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10806:2: rule__ExpCS__Group_0_1__0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_0_1__0_in_rule__ExpCS__Group_0__1__Impl22074);
+ rule__ExpCS__Group_0_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop84;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getGroup_0_1());
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_0__1__Impl"
+
+
+ // $ANTLR start "rule__ExpCS__Group_0__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10817:1: rule__ExpCS__Group_0__2 : rule__ExpCS__Group_0__2__Impl ;
+ public final void rule__ExpCS__Group_0__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10821:1: ( rule__ExpCS__Group_0__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10822:2: rule__ExpCS__Group_0__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_0__2__Impl_in_rule__ExpCS__Group_0__222107);
+ rule__ExpCS__Group_0__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_0__2"
+
+
+ // $ANTLR start "rule__ExpCS__Group_0__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10828:1: rule__ExpCS__Group_0__2__Impl : ( ( rule__ExpCS__OwnedExpressionAssignment_0_2 ) ) ;
+ public final void rule__ExpCS__Group_0__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10832:1: ( ( ( rule__ExpCS__OwnedExpressionAssignment_0_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10833:1: ( ( rule__ExpCS__OwnedExpressionAssignment_0_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10833:1: ( ( rule__ExpCS__OwnedExpressionAssignment_0_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10834:1: ( rule__ExpCS__OwnedExpressionAssignment_0_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_0_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10835:1: ( rule__ExpCS__OwnedExpressionAssignment_0_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10835:2: rule__ExpCS__OwnedExpressionAssignment_0_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__OwnedExpressionAssignment_0_2_in_rule__ExpCS__Group_0__2__Impl22134);
+ rule__ExpCS__OwnedExpressionAssignment_0_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_0_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_0__2__Impl"
+
+
+ // $ANTLR start "rule__ExpCS__Group_0_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10851:1: rule__ExpCS__Group_0_1__0 : rule__ExpCS__Group_0_1__0__Impl rule__ExpCS__Group_0_1__1 ;
+ public final void rule__ExpCS__Group_0_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10855:1: ( rule__ExpCS__Group_0_1__0__Impl rule__ExpCS__Group_0_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10856:2: rule__ExpCS__Group_0_1__0__Impl rule__ExpCS__Group_0_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_0_1__0__Impl_in_rule__ExpCS__Group_0_1__022170);
+ rule__ExpCS__Group_0_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_0_1__1_in_rule__ExpCS__Group_0_1__022173);
+ rule__ExpCS__Group_0_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_0_1__0"
+
+
+ // $ANTLR start "rule__ExpCS__Group_0_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10863:1: rule__ExpCS__Group_0_1__0__Impl : ( ( rule__ExpCS__OwnedExpressionAssignment_0_1_0 ) ) ;
+ public final void rule__ExpCS__Group_0_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10867:1: ( ( ( rule__ExpCS__OwnedExpressionAssignment_0_1_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10868:1: ( ( rule__ExpCS__OwnedExpressionAssignment_0_1_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10868:1: ( ( rule__ExpCS__OwnedExpressionAssignment_0_1_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10869:1: ( rule__ExpCS__OwnedExpressionAssignment_0_1_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_0_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10870:1: ( rule__ExpCS__OwnedExpressionAssignment_0_1_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10870:2: rule__ExpCS__OwnedExpressionAssignment_0_1_0
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__OwnedExpressionAssignment_0_1_0_in_rule__ExpCS__Group_0_1__0__Impl22200);
+ rule__ExpCS__OwnedExpressionAssignment_0_1_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_0_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_0_1__0__Impl"
+
+
+ // $ANTLR start "rule__ExpCS__Group_0_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10880:1: rule__ExpCS__Group_0_1__1 : rule__ExpCS__Group_0_1__1__Impl ;
+ public final void rule__ExpCS__Group_0_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10884:1: ( rule__ExpCS__Group_0_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10885:2: rule__ExpCS__Group_0_1__1__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_0_1__1__Impl_in_rule__ExpCS__Group_0_1__122230);
+ rule__ExpCS__Group_0_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_0_1__1"
+
+
+ // $ANTLR start "rule__ExpCS__Group_0_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10891:1: rule__ExpCS__Group_0_1__1__Impl : ( ( rule__ExpCS__OwnedOperatorAssignment_0_1_1 ) ) ;
+ public final void rule__ExpCS__Group_0_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10895:1: ( ( ( rule__ExpCS__OwnedOperatorAssignment_0_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10896:1: ( ( rule__ExpCS__OwnedOperatorAssignment_0_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10896:1: ( ( rule__ExpCS__OwnedOperatorAssignment_0_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10897:1: ( rule__ExpCS__OwnedOperatorAssignment_0_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_0_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10898:1: ( rule__ExpCS__OwnedOperatorAssignment_0_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10898:2: rule__ExpCS__OwnedOperatorAssignment_0_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__OwnedOperatorAssignment_0_1_1_in_rule__ExpCS__Group_0_1__1__Impl22257);
+ rule__ExpCS__OwnedOperatorAssignment_0_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_0_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_0_1__1__Impl"
+
+
+ // $ANTLR start "rule__ExpCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10912:1: rule__ExpCS__Group_1__0 : rule__ExpCS__Group_1__0__Impl rule__ExpCS__Group_1__1 ;
+ public final void rule__ExpCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10916:1: ( rule__ExpCS__Group_1__0__Impl rule__ExpCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10917:2: rule__ExpCS__Group_1__0__Impl rule__ExpCS__Group_1__1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_1__0__Impl_in_rule__ExpCS__Group_1__022291);
+ rule__ExpCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_1__1_in_rule__ExpCS__Group_1__022294);
+ rule__ExpCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_1__0"
+
+
+ // $ANTLR start "rule__ExpCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10924:1: rule__ExpCS__Group_1__0__Impl : ( () ) ;
+ public final void rule__ExpCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10928:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10929:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10929:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10930:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getPrefixExpCSAction_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10931:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10933:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getPrefixExpCSAction_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__ExpCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10943:1: rule__ExpCS__Group_1__1 : rule__ExpCS__Group_1__1__Impl rule__ExpCS__Group_1__2 ;
+ public final void rule__ExpCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10947:1: ( rule__ExpCS__Group_1__1__Impl rule__ExpCS__Group_1__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10948:2: rule__ExpCS__Group_1__1__Impl rule__ExpCS__Group_1__2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_1__1__Impl_in_rule__ExpCS__Group_1__122352);
+ rule__ExpCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_1__2_in_rule__ExpCS__Group_1__122355);
+ rule__ExpCS__Group_1__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_1__1"
+
+
+ // $ANTLR start "rule__ExpCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10955:1: rule__ExpCS__Group_1__1__Impl : ( ( ( rule__ExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__ExpCS__OwnedOperatorAssignment_1_1 )* ) ) ;
+ public final void rule__ExpCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10959:1: ( ( ( ( rule__ExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__ExpCS__OwnedOperatorAssignment_1_1 )* ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10960:1: ( ( ( rule__ExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__ExpCS__OwnedOperatorAssignment_1_1 )* ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10960:1: ( ( ( rule__ExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__ExpCS__OwnedOperatorAssignment_1_1 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10961:1: ( ( rule__ExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__ExpCS__OwnedOperatorAssignment_1_1 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10961:1: ( ( rule__ExpCS__OwnedOperatorAssignment_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10962:1: ( rule__ExpCS__OwnedOperatorAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10963:1: ( rule__ExpCS__OwnedOperatorAssignment_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10963:2: rule__ExpCS__OwnedOperatorAssignment_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__OwnedOperatorAssignment_1_1_in_rule__ExpCS__Group_1__1__Impl22384);
+ rule__ExpCS__OwnedOperatorAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_1_1());
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10966:1: ( ( rule__ExpCS__OwnedOperatorAssignment_1_1 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10967:1: ( rule__ExpCS__OwnedOperatorAssignment_1_1 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10968:1: ( rule__ExpCS__OwnedOperatorAssignment_1_1 )*
+ loop85:
+ do {
+ int alt85=2;
+ int LA85_0 = input.LA(1);
+
+ if ( ((LA85_0>=39 && LA85_0<=40)) ) {
+ alt85=1;
+ }
+
+
+ switch (alt85) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10968:2: rule__ExpCS__OwnedOperatorAssignment_1_1
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__OwnedOperatorAssignment_1_1_in_rule__ExpCS__Group_1__1__Impl22396);
+ rule__ExpCS__OwnedOperatorAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop85;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__ExpCS__Group_1__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10979:1: rule__ExpCS__Group_1__2 : rule__ExpCS__Group_1__2__Impl ;
+ public final void rule__ExpCS__Group_1__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10983:1: ( rule__ExpCS__Group_1__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10984:2: rule__ExpCS__Group_1__2__Impl
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_1__2__Impl_in_rule__ExpCS__Group_1__222429);
+ rule__ExpCS__Group_1__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_1__2"
+
+
+ // $ANTLR start "rule__ExpCS__Group_1__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10990:1: rule__ExpCS__Group_1__2__Impl : ( ( rule__ExpCS__OwnedExpressionAssignment_1_2 ) ) ;
+ public final void rule__ExpCS__Group_1__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10994:1: ( ( ( rule__ExpCS__OwnedExpressionAssignment_1_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10995:1: ( ( rule__ExpCS__OwnedExpressionAssignment_1_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10995:1: ( ( rule__ExpCS__OwnedExpressionAssignment_1_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10996:1: ( rule__ExpCS__OwnedExpressionAssignment_1_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_1_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10997:1: ( rule__ExpCS__OwnedExpressionAssignment_1_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10997:2: rule__ExpCS__OwnedExpressionAssignment_1_2
+ {
+ pushFollow(FollowSets000.FOLLOW_rule__ExpCS__OwnedExpressionAssignment_1_2_in_rule__ExpCS__Group_1__2__Impl22456);
+ rule__ExpCS__OwnedExpressionAssignment_1_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_1_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__Group_1__2__Impl"
+
+
+ // $ANTLR start "rule__PrefixedExpCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11013:1: rule__PrefixedExpCS__Group_1__0 : rule__PrefixedExpCS__Group_1__0__Impl rule__PrefixedExpCS__Group_1__1 ;
+ public final void rule__PrefixedExpCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11017:1: ( rule__PrefixedExpCS__Group_1__0__Impl rule__PrefixedExpCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11018:2: rule__PrefixedExpCS__Group_1__0__Impl rule__PrefixedExpCS__Group_1__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpCS__Group_1__0__Impl_in_rule__PrefixedExpCS__Group_1__022492);
+ rule__PrefixedExpCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpCS__Group_1__1_in_rule__PrefixedExpCS__Group_1__022495);
+ rule__PrefixedExpCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpCS__Group_1__0"
+
+
+ // $ANTLR start "rule__PrefixedExpCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11025:1: rule__PrefixedExpCS__Group_1__0__Impl : ( () ) ;
+ public final void rule__PrefixedExpCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11029:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11030:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11030:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11031:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpCSAccess().getPrefixExpCSAction_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11032:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11034:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpCSAccess().getPrefixExpCSAction_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__PrefixedExpCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11044:1: rule__PrefixedExpCS__Group_1__1 : rule__PrefixedExpCS__Group_1__1__Impl rule__PrefixedExpCS__Group_1__2 ;
+ public final void rule__PrefixedExpCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11048:1: ( rule__PrefixedExpCS__Group_1__1__Impl rule__PrefixedExpCS__Group_1__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11049:2: rule__PrefixedExpCS__Group_1__1__Impl rule__PrefixedExpCS__Group_1__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpCS__Group_1__1__Impl_in_rule__PrefixedExpCS__Group_1__122553);
+ rule__PrefixedExpCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpCS__Group_1__2_in_rule__PrefixedExpCS__Group_1__122556);
+ rule__PrefixedExpCS__Group_1__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpCS__Group_1__1"
+
+
+ // $ANTLR start "rule__PrefixedExpCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11056:1: rule__PrefixedExpCS__Group_1__1__Impl : ( ( ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 )* ) ) ;
+ public final void rule__PrefixedExpCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11060:1: ( ( ( ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 )* ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11061:1: ( ( ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 )* ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11061:1: ( ( ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11062:1: ( ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11062:1: ( ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11063:1: ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11064:1: ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11064:2: rule__PrefixedExpCS__OwnedOperatorAssignment_1_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpCS__OwnedOperatorAssignment_1_1_in_rule__PrefixedExpCS__Group_1__1__Impl22585);
+ rule__PrefixedExpCS__OwnedOperatorAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorAssignment_1_1());
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11067:1: ( ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11068:1: ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11069:1: ( rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 )*
+ loop86:
+ do {
+ int alt86=2;
+ int LA86_0 = input.LA(1);
+
+ if ( ((LA86_0>=39 && LA86_0<=40)) ) {
+ alt86=1;
+ }
+
+
+ switch (alt86) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11069:2: rule__PrefixedExpCS__OwnedOperatorAssignment_1_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpCS__OwnedOperatorAssignment_1_1_in_rule__PrefixedExpCS__Group_1__1__Impl22597);
+ rule__PrefixedExpCS__OwnedOperatorAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop86;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__PrefixedExpCS__Group_1__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11080:1: rule__PrefixedExpCS__Group_1__2 : rule__PrefixedExpCS__Group_1__2__Impl ;
+ public final void rule__PrefixedExpCS__Group_1__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11084:1: ( rule__PrefixedExpCS__Group_1__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11085:2: rule__PrefixedExpCS__Group_1__2__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpCS__Group_1__2__Impl_in_rule__PrefixedExpCS__Group_1__222630);
+ rule__PrefixedExpCS__Group_1__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpCS__Group_1__2"
+
+
+ // $ANTLR start "rule__PrefixedExpCS__Group_1__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11091:1: rule__PrefixedExpCS__Group_1__2__Impl : ( ( rule__PrefixedExpCS__OwnedExpressionAssignment_1_2 ) ) ;
+ public final void rule__PrefixedExpCS__Group_1__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11095:1: ( ( ( rule__PrefixedExpCS__OwnedExpressionAssignment_1_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11096:1: ( ( rule__PrefixedExpCS__OwnedExpressionAssignment_1_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11096:1: ( ( rule__PrefixedExpCS__OwnedExpressionAssignment_1_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11097:1: ( rule__PrefixedExpCS__OwnedExpressionAssignment_1_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpCSAccess().getOwnedExpressionAssignment_1_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11098:1: ( rule__PrefixedExpCS__OwnedExpressionAssignment_1_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11098:2: rule__PrefixedExpCS__OwnedExpressionAssignment_1_2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpCS__OwnedExpressionAssignment_1_2_in_rule__PrefixedExpCS__Group_1__2__Impl22657);
+ rule__PrefixedExpCS__OwnedExpressionAssignment_1_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpCSAccess().getOwnedExpressionAssignment_1_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpCS__Group_1__2__Impl"
+
+
+ // $ANTLR start "rule__PrefixedExpOrLetExpCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11114:1: rule__PrefixedExpOrLetExpCS__Group_1__0 : rule__PrefixedExpOrLetExpCS__Group_1__0__Impl rule__PrefixedExpOrLetExpCS__Group_1__1 ;
+ public final void rule__PrefixedExpOrLetExpCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11118:1: ( rule__PrefixedExpOrLetExpCS__Group_1__0__Impl rule__PrefixedExpOrLetExpCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11119:2: rule__PrefixedExpOrLetExpCS__Group_1__0__Impl rule__PrefixedExpOrLetExpCS__Group_1__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpOrLetExpCS__Group_1__0__Impl_in_rule__PrefixedExpOrLetExpCS__Group_1__022693);
+ rule__PrefixedExpOrLetExpCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpOrLetExpCS__Group_1__1_in_rule__PrefixedExpOrLetExpCS__Group_1__022696);
+ rule__PrefixedExpOrLetExpCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpOrLetExpCS__Group_1__0"
+
+
+ // $ANTLR start "rule__PrefixedExpOrLetExpCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11126:1: rule__PrefixedExpOrLetExpCS__Group_1__0__Impl : ( () ) ;
+ public final void rule__PrefixedExpOrLetExpCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11130:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11131:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11131:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11132:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrefixExpCSAction_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11133:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11135:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrefixExpCSAction_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpOrLetExpCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__PrefixedExpOrLetExpCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11145:1: rule__PrefixedExpOrLetExpCS__Group_1__1 : rule__PrefixedExpOrLetExpCS__Group_1__1__Impl rule__PrefixedExpOrLetExpCS__Group_1__2 ;
+ public final void rule__PrefixedExpOrLetExpCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11149:1: ( rule__PrefixedExpOrLetExpCS__Group_1__1__Impl rule__PrefixedExpOrLetExpCS__Group_1__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11150:2: rule__PrefixedExpOrLetExpCS__Group_1__1__Impl rule__PrefixedExpOrLetExpCS__Group_1__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpOrLetExpCS__Group_1__1__Impl_in_rule__PrefixedExpOrLetExpCS__Group_1__122754);
+ rule__PrefixedExpOrLetExpCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpOrLetExpCS__Group_1__2_in_rule__PrefixedExpOrLetExpCS__Group_1__122757);
+ rule__PrefixedExpOrLetExpCS__Group_1__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpOrLetExpCS__Group_1__1"
+
+
+ // $ANTLR start "rule__PrefixedExpOrLetExpCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11157:1: rule__PrefixedExpOrLetExpCS__Group_1__1__Impl : ( ( ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 )* ) ) ;
+ public final void rule__PrefixedExpOrLetExpCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11161:1: ( ( ( ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 )* ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11162:1: ( ( ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 )* ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11162:1: ( ( ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11163:1: ( ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 ) ) ( ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11163:1: ( ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11164:1: ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11165:1: ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11165:2: rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1_in_rule__PrefixedExpOrLetExpCS__Group_1__1__Impl22786);
+ rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorAssignment_1_1());
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11168:1: ( ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11169:1: ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11170:1: ( rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 )*
+ loop87:
+ do {
+ int alt87=2;
+ int LA87_0 = input.LA(1);
+
+ if ( ((LA87_0>=39 && LA87_0<=40)) ) {
+ alt87=1;
+ }
+
+
+ switch (alt87) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11170:2: rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1_in_rule__PrefixedExpOrLetExpCS__Group_1__1__Impl22798);
+ rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop87;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpOrLetExpCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__PrefixedExpOrLetExpCS__Group_1__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11181:1: rule__PrefixedExpOrLetExpCS__Group_1__2 : rule__PrefixedExpOrLetExpCS__Group_1__2__Impl ;
+ public final void rule__PrefixedExpOrLetExpCS__Group_1__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11185:1: ( rule__PrefixedExpOrLetExpCS__Group_1__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11186:2: rule__PrefixedExpOrLetExpCS__Group_1__2__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpOrLetExpCS__Group_1__2__Impl_in_rule__PrefixedExpOrLetExpCS__Group_1__222831);
+ rule__PrefixedExpOrLetExpCS__Group_1__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpOrLetExpCS__Group_1__2"
+
+
+ // $ANTLR start "rule__PrefixedExpOrLetExpCS__Group_1__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11192:1: rule__PrefixedExpOrLetExpCS__Group_1__2__Impl : ( ( rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2 ) ) ;
+ public final void rule__PrefixedExpOrLetExpCS__Group_1__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11196:1: ( ( ( rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11197:1: ( ( rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11197:1: ( ( rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11198:1: ( rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedExpressionAssignment_1_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11199:1: ( rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11199:2: rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2_in_rule__PrefixedExpOrLetExpCS__Group_1__2__Impl22858);
+ rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedExpressionAssignment_1_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpOrLetExpCS__Group_1__2__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11215:1: rule__PrimaryExpCS__Group_0__0 : rule__PrimaryExpCS__Group_0__0__Impl rule__PrimaryExpCS__Group_0__1 ;
+ public final void rule__PrimaryExpCS__Group_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11219:1: ( rule__PrimaryExpCS__Group_0__0__Impl rule__PrimaryExpCS__Group_0__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11220:2: rule__PrimaryExpCS__Group_0__0__Impl rule__PrimaryExpCS__Group_0__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__0__Impl_in_rule__PrimaryExpCS__Group_0__022894);
+ rule__PrimaryExpCS__Group_0__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__1_in_rule__PrimaryExpCS__Group_0__022897);
+ rule__PrimaryExpCS__Group_0__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11227:1: rule__PrimaryExpCS__Group_0__0__Impl : ( () ) ;
+ public final void rule__PrimaryExpCS__Group_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11231:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11232:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11232:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11233:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11234:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11236:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11246:1: rule__PrimaryExpCS__Group_0__1 : rule__PrimaryExpCS__Group_0__1__Impl rule__PrimaryExpCS__Group_0__2 ;
+ public final void rule__PrimaryExpCS__Group_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11250:1: ( rule__PrimaryExpCS__Group_0__1__Impl rule__PrimaryExpCS__Group_0__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11251:2: rule__PrimaryExpCS__Group_0__1__Impl rule__PrimaryExpCS__Group_0__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__1__Impl_in_rule__PrimaryExpCS__Group_0__122955);
+ rule__PrimaryExpCS__Group_0__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__2_in_rule__PrimaryExpCS__Group_0__122958);
+ rule__PrimaryExpCS__Group_0__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11258:1: rule__PrimaryExpCS__Group_0__1__Impl : ( ( rule__PrimaryExpCS__PathNameAssignment_0_1 ) ) ;
+ public final void rule__PrimaryExpCS__Group_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11262:1: ( ( ( rule__PrimaryExpCS__PathNameAssignment_0_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11263:1: ( ( rule__PrimaryExpCS__PathNameAssignment_0_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11263:1: ( ( rule__PrimaryExpCS__PathNameAssignment_0_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11264:1: ( rule__PrimaryExpCS__PathNameAssignment_0_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_0_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11265:1: ( rule__PrimaryExpCS__PathNameAssignment_0_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11265:2: rule__PrimaryExpCS__PathNameAssignment_0_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__PathNameAssignment_0_1_in_rule__PrimaryExpCS__Group_0__1__Impl22985);
+ rule__PrimaryExpCS__PathNameAssignment_0_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_0_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11275:1: rule__PrimaryExpCS__Group_0__2 : rule__PrimaryExpCS__Group_0__2__Impl rule__PrimaryExpCS__Group_0__3 ;
+ public final void rule__PrimaryExpCS__Group_0__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11279:1: ( rule__PrimaryExpCS__Group_0__2__Impl rule__PrimaryExpCS__Group_0__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11280:2: rule__PrimaryExpCS__Group_0__2__Impl rule__PrimaryExpCS__Group_0__3
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__2__Impl_in_rule__PrimaryExpCS__Group_0__223015);
+ rule__PrimaryExpCS__Group_0__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__3_in_rule__PrimaryExpCS__Group_0__223018);
+ rule__PrimaryExpCS__Group_0__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__2"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11287:1: rule__PrimaryExpCS__Group_0__2__Impl : ( '[' ) ;
+ public final void rule__PrimaryExpCS__Group_0__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11291:1: ( ( '[' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11292:1: ( '[' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11292:1: ( '[' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11293:1: '['
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getLeftSquareBracketKeyword_0_2());
+ }
+ match(input,79,FollowSets001.FOLLOW_79_in_rule__PrimaryExpCS__Group_0__2__Impl23046); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getLeftSquareBracketKeyword_0_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__2__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11306:1: rule__PrimaryExpCS__Group_0__3 : rule__PrimaryExpCS__Group_0__3__Impl rule__PrimaryExpCS__Group_0__4 ;
+ public final void rule__PrimaryExpCS__Group_0__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11310:1: ( rule__PrimaryExpCS__Group_0__3__Impl rule__PrimaryExpCS__Group_0__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11311:2: rule__PrimaryExpCS__Group_0__3__Impl rule__PrimaryExpCS__Group_0__4
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__3__Impl_in_rule__PrimaryExpCS__Group_0__323077);
+ rule__PrimaryExpCS__Group_0__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__4_in_rule__PrimaryExpCS__Group_0__323080);
+ rule__PrimaryExpCS__Group_0__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__3"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11318:1: rule__PrimaryExpCS__Group_0__3__Impl : ( ( rule__PrimaryExpCS__FirstIndexesAssignment_0_3 ) ) ;
+ public final void rule__PrimaryExpCS__Group_0__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11322:1: ( ( ( rule__PrimaryExpCS__FirstIndexesAssignment_0_3 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11323:1: ( ( rule__PrimaryExpCS__FirstIndexesAssignment_0_3 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11323:1: ( ( rule__PrimaryExpCS__FirstIndexesAssignment_0_3 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11324:1: ( rule__PrimaryExpCS__FirstIndexesAssignment_0_3 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesAssignment_0_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11325:1: ( rule__PrimaryExpCS__FirstIndexesAssignment_0_3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11325:2: rule__PrimaryExpCS__FirstIndexesAssignment_0_3
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__FirstIndexesAssignment_0_3_in_rule__PrimaryExpCS__Group_0__3__Impl23107);
+ rule__PrimaryExpCS__FirstIndexesAssignment_0_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesAssignment_0_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__3__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11335:1: rule__PrimaryExpCS__Group_0__4 : rule__PrimaryExpCS__Group_0__4__Impl rule__PrimaryExpCS__Group_0__5 ;
+ public final void rule__PrimaryExpCS__Group_0__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11339:1: ( rule__PrimaryExpCS__Group_0__4__Impl rule__PrimaryExpCS__Group_0__5 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11340:2: rule__PrimaryExpCS__Group_0__4__Impl rule__PrimaryExpCS__Group_0__5
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__4__Impl_in_rule__PrimaryExpCS__Group_0__423137);
+ rule__PrimaryExpCS__Group_0__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__5_in_rule__PrimaryExpCS__Group_0__423140);
+ rule__PrimaryExpCS__Group_0__5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__4"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11347:1: rule__PrimaryExpCS__Group_0__4__Impl : ( ( rule__PrimaryExpCS__Group_0_4__0 )* ) ;
+ public final void rule__PrimaryExpCS__Group_0__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11351:1: ( ( ( rule__PrimaryExpCS__Group_0_4__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11352:1: ( ( rule__PrimaryExpCS__Group_0_4__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11352:1: ( ( rule__PrimaryExpCS__Group_0_4__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11353:1: ( rule__PrimaryExpCS__Group_0_4__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_0_4());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11354:1: ( rule__PrimaryExpCS__Group_0_4__0 )*
+ loop88:
+ do {
+ int alt88=2;
+ int LA88_0 = input.LA(1);
+
+ if ( (LA88_0==73) ) {
+ alt88=1;
+ }
+
+
+ switch (alt88) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11354:2: rule__PrimaryExpCS__Group_0_4__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_4__0_in_rule__PrimaryExpCS__Group_0__4__Impl23167);
+ rule__PrimaryExpCS__Group_0_4__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop88;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getGroup_0_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__4__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__5"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11364:1: rule__PrimaryExpCS__Group_0__5 : rule__PrimaryExpCS__Group_0__5__Impl rule__PrimaryExpCS__Group_0__6 ;
+ public final void rule__PrimaryExpCS__Group_0__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11368:1: ( rule__PrimaryExpCS__Group_0__5__Impl rule__PrimaryExpCS__Group_0__6 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11369:2: rule__PrimaryExpCS__Group_0__5__Impl rule__PrimaryExpCS__Group_0__6
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__5__Impl_in_rule__PrimaryExpCS__Group_0__523198);
+ rule__PrimaryExpCS__Group_0__5__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__6_in_rule__PrimaryExpCS__Group_0__523201);
+ rule__PrimaryExpCS__Group_0__6();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__5"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__5__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11376:1: rule__PrimaryExpCS__Group_0__5__Impl : ( ']' ) ;
+ public final void rule__PrimaryExpCS__Group_0__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11380:1: ( ( ']' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11381:1: ( ']' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11381:1: ( ']' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11382:1: ']'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getRightSquareBracketKeyword_0_5());
+ }
+ match(input,80,FollowSets001.FOLLOW_80_in_rule__PrimaryExpCS__Group_0__5__Impl23229); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getRightSquareBracketKeyword_0_5());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__5__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__6"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11395:1: rule__PrimaryExpCS__Group_0__6 : rule__PrimaryExpCS__Group_0__6__Impl rule__PrimaryExpCS__Group_0__7 ;
+ public final void rule__PrimaryExpCS__Group_0__6() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11399:1: ( rule__PrimaryExpCS__Group_0__6__Impl rule__PrimaryExpCS__Group_0__7 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11400:2: rule__PrimaryExpCS__Group_0__6__Impl rule__PrimaryExpCS__Group_0__7
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__6__Impl_in_rule__PrimaryExpCS__Group_0__623260);
+ rule__PrimaryExpCS__Group_0__6__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__7_in_rule__PrimaryExpCS__Group_0__623263);
+ rule__PrimaryExpCS__Group_0__7();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__6"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__6__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11407:1: rule__PrimaryExpCS__Group_0__6__Impl : ( ( rule__PrimaryExpCS__Group_0_6__0 )? ) ;
+ public final void rule__PrimaryExpCS__Group_0__6__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11411:1: ( ( ( rule__PrimaryExpCS__Group_0_6__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11412:1: ( ( rule__PrimaryExpCS__Group_0_6__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11412:1: ( ( rule__PrimaryExpCS__Group_0_6__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11413:1: ( rule__PrimaryExpCS__Group_0_6__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_0_6());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11414:1: ( rule__PrimaryExpCS__Group_0_6__0 )?
+ int alt89=2;
+ int LA89_0 = input.LA(1);
+
+ if ( (LA89_0==79) ) {
+ alt89=1;
+ }
+ switch (alt89) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11414:2: rule__PrimaryExpCS__Group_0_6__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_6__0_in_rule__PrimaryExpCS__Group_0__6__Impl23290);
+ rule__PrimaryExpCS__Group_0_6__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getGroup_0_6());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__6__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__7"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11424:1: rule__PrimaryExpCS__Group_0__7 : rule__PrimaryExpCS__Group_0__7__Impl ;
+ public final void rule__PrimaryExpCS__Group_0__7() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11428:1: ( rule__PrimaryExpCS__Group_0__7__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11429:2: rule__PrimaryExpCS__Group_0__7__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__7__Impl_in_rule__PrimaryExpCS__Group_0__723321);
+ rule__PrimaryExpCS__Group_0__7__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__7"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0__7__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11435:1: rule__PrimaryExpCS__Group_0__7__Impl : ( ( rule__PrimaryExpCS__Group_0_7__0 )? ) ;
+ public final void rule__PrimaryExpCS__Group_0__7__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11439:1: ( ( ( rule__PrimaryExpCS__Group_0_7__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11440:1: ( ( rule__PrimaryExpCS__Group_0_7__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11440:1: ( ( rule__PrimaryExpCS__Group_0_7__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11441:1: ( rule__PrimaryExpCS__Group_0_7__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_0_7());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11442:1: ( rule__PrimaryExpCS__Group_0_7__0 )?
+ int alt90=2;
+ int LA90_0 = input.LA(1);
+
+ if ( (LA90_0==93) ) {
+ alt90=1;
+ }
+ switch (alt90) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11442:2: rule__PrimaryExpCS__Group_0_7__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_7__0_in_rule__PrimaryExpCS__Group_0__7__Impl23348);
+ rule__PrimaryExpCS__Group_0_7__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getGroup_0_7());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0__7__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_4__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11468:1: rule__PrimaryExpCS__Group_0_4__0 : rule__PrimaryExpCS__Group_0_4__0__Impl rule__PrimaryExpCS__Group_0_4__1 ;
+ public final void rule__PrimaryExpCS__Group_0_4__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11472:1: ( rule__PrimaryExpCS__Group_0_4__0__Impl rule__PrimaryExpCS__Group_0_4__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11473:2: rule__PrimaryExpCS__Group_0_4__0__Impl rule__PrimaryExpCS__Group_0_4__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_4__0__Impl_in_rule__PrimaryExpCS__Group_0_4__023395);
+ rule__PrimaryExpCS__Group_0_4__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_4__1_in_rule__PrimaryExpCS__Group_0_4__023398);
+ rule__PrimaryExpCS__Group_0_4__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_4__0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_4__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11480:1: rule__PrimaryExpCS__Group_0_4__0__Impl : ( ',' ) ;
+ public final void rule__PrimaryExpCS__Group_0_4__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11484:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11485:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11485:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11486:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_0_4_0());
+ }
+ match(input,73,FollowSets001.FOLLOW_73_in_rule__PrimaryExpCS__Group_0_4__0__Impl23426); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_0_4_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_4__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_4__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11499:1: rule__PrimaryExpCS__Group_0_4__1 : rule__PrimaryExpCS__Group_0_4__1__Impl ;
+ public final void rule__PrimaryExpCS__Group_0_4__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11503:1: ( rule__PrimaryExpCS__Group_0_4__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11504:2: rule__PrimaryExpCS__Group_0_4__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_4__1__Impl_in_rule__PrimaryExpCS__Group_0_4__123457);
+ rule__PrimaryExpCS__Group_0_4__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_4__1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_4__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11510:1: rule__PrimaryExpCS__Group_0_4__1__Impl : ( ( rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1 ) ) ;
+ public final void rule__PrimaryExpCS__Group_0_4__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11514:1: ( ( ( rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11515:1: ( ( rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11515:1: ( ( rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11516:1: ( rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesAssignment_0_4_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11517:1: ( rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11517:2: rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1_in_rule__PrimaryExpCS__Group_0_4__1__Impl23484);
+ rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesAssignment_0_4_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_4__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_6__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11531:1: rule__PrimaryExpCS__Group_0_6__0 : rule__PrimaryExpCS__Group_0_6__0__Impl rule__PrimaryExpCS__Group_0_6__1 ;
+ public final void rule__PrimaryExpCS__Group_0_6__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11535:1: ( rule__PrimaryExpCS__Group_0_6__0__Impl rule__PrimaryExpCS__Group_0_6__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11536:2: rule__PrimaryExpCS__Group_0_6__0__Impl rule__PrimaryExpCS__Group_0_6__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_6__0__Impl_in_rule__PrimaryExpCS__Group_0_6__023518);
+ rule__PrimaryExpCS__Group_0_6__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_6__1_in_rule__PrimaryExpCS__Group_0_6__023521);
+ rule__PrimaryExpCS__Group_0_6__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_6__0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_6__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11543:1: rule__PrimaryExpCS__Group_0_6__0__Impl : ( '[' ) ;
+ public final void rule__PrimaryExpCS__Group_0_6__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11547:1: ( ( '[' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11548:1: ( '[' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11548:1: ( '[' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11549:1: '['
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getLeftSquareBracketKeyword_0_6_0());
+ }
+ match(input,79,FollowSets001.FOLLOW_79_in_rule__PrimaryExpCS__Group_0_6__0__Impl23549); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getLeftSquareBracketKeyword_0_6_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_6__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_6__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11562:1: rule__PrimaryExpCS__Group_0_6__1 : rule__PrimaryExpCS__Group_0_6__1__Impl rule__PrimaryExpCS__Group_0_6__2 ;
+ public final void rule__PrimaryExpCS__Group_0_6__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11566:1: ( rule__PrimaryExpCS__Group_0_6__1__Impl rule__PrimaryExpCS__Group_0_6__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11567:2: rule__PrimaryExpCS__Group_0_6__1__Impl rule__PrimaryExpCS__Group_0_6__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_6__1__Impl_in_rule__PrimaryExpCS__Group_0_6__123580);
+ rule__PrimaryExpCS__Group_0_6__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_6__2_in_rule__PrimaryExpCS__Group_0_6__123583);
+ rule__PrimaryExpCS__Group_0_6__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_6__1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_6__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11574:1: rule__PrimaryExpCS__Group_0_6__1__Impl : ( ( rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1 ) ) ;
+ public final void rule__PrimaryExpCS__Group_0_6__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11578:1: ( ( ( rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11579:1: ( ( rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11579:1: ( ( rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11580:1: ( rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesAssignment_0_6_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11581:1: ( rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11581:2: rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1_in_rule__PrimaryExpCS__Group_0_6__1__Impl23610);
+ rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesAssignment_0_6_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_6__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_6__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11591:1: rule__PrimaryExpCS__Group_0_6__2 : rule__PrimaryExpCS__Group_0_6__2__Impl rule__PrimaryExpCS__Group_0_6__3 ;
+ public final void rule__PrimaryExpCS__Group_0_6__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11595:1: ( rule__PrimaryExpCS__Group_0_6__2__Impl rule__PrimaryExpCS__Group_0_6__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11596:2: rule__PrimaryExpCS__Group_0_6__2__Impl rule__PrimaryExpCS__Group_0_6__3
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_6__2__Impl_in_rule__PrimaryExpCS__Group_0_6__223640);
+ rule__PrimaryExpCS__Group_0_6__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_6__3_in_rule__PrimaryExpCS__Group_0_6__223643);
+ rule__PrimaryExpCS__Group_0_6__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_6__2"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_6__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11603:1: rule__PrimaryExpCS__Group_0_6__2__Impl : ( ( rule__PrimaryExpCS__Group_0_6_2__0 )* ) ;
+ public final void rule__PrimaryExpCS__Group_0_6__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11607:1: ( ( ( rule__PrimaryExpCS__Group_0_6_2__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11608:1: ( ( rule__PrimaryExpCS__Group_0_6_2__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11608:1: ( ( rule__PrimaryExpCS__Group_0_6_2__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11609:1: ( rule__PrimaryExpCS__Group_0_6_2__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_0_6_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11610:1: ( rule__PrimaryExpCS__Group_0_6_2__0 )*
+ loop91:
+ do {
+ int alt91=2;
+ int LA91_0 = input.LA(1);
+
+ if ( (LA91_0==73) ) {
+ alt91=1;
+ }
+
+
+ switch (alt91) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11610:2: rule__PrimaryExpCS__Group_0_6_2__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_6_2__0_in_rule__PrimaryExpCS__Group_0_6__2__Impl23670);
+ rule__PrimaryExpCS__Group_0_6_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop91;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getGroup_0_6_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_6__2__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_6__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11620:1: rule__PrimaryExpCS__Group_0_6__3 : rule__PrimaryExpCS__Group_0_6__3__Impl ;
+ public final void rule__PrimaryExpCS__Group_0_6__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11624:1: ( rule__PrimaryExpCS__Group_0_6__3__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11625:2: rule__PrimaryExpCS__Group_0_6__3__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_6__3__Impl_in_rule__PrimaryExpCS__Group_0_6__323701);
+ rule__PrimaryExpCS__Group_0_6__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_6__3"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_6__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11631:1: rule__PrimaryExpCS__Group_0_6__3__Impl : ( ']' ) ;
+ public final void rule__PrimaryExpCS__Group_0_6__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11635:1: ( ( ']' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11636:1: ( ']' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11636:1: ( ']' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11637:1: ']'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getRightSquareBracketKeyword_0_6_3());
+ }
+ match(input,80,FollowSets001.FOLLOW_80_in_rule__PrimaryExpCS__Group_0_6__3__Impl23729); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getRightSquareBracketKeyword_0_6_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_6__3__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_6_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11658:1: rule__PrimaryExpCS__Group_0_6_2__0 : rule__PrimaryExpCS__Group_0_6_2__0__Impl rule__PrimaryExpCS__Group_0_6_2__1 ;
+ public final void rule__PrimaryExpCS__Group_0_6_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11662:1: ( rule__PrimaryExpCS__Group_0_6_2__0__Impl rule__PrimaryExpCS__Group_0_6_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11663:2: rule__PrimaryExpCS__Group_0_6_2__0__Impl rule__PrimaryExpCS__Group_0_6_2__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_6_2__0__Impl_in_rule__PrimaryExpCS__Group_0_6_2__023768);
+ rule__PrimaryExpCS__Group_0_6_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_6_2__1_in_rule__PrimaryExpCS__Group_0_6_2__023771);
+ rule__PrimaryExpCS__Group_0_6_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_6_2__0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_6_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11670:1: rule__PrimaryExpCS__Group_0_6_2__0__Impl : ( ',' ) ;
+ public final void rule__PrimaryExpCS__Group_0_6_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11674:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11675:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11675:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11676:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_0_6_2_0());
+ }
+ match(input,73,FollowSets001.FOLLOW_73_in_rule__PrimaryExpCS__Group_0_6_2__0__Impl23799); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_0_6_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_6_2__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_6_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11689:1: rule__PrimaryExpCS__Group_0_6_2__1 : rule__PrimaryExpCS__Group_0_6_2__1__Impl ;
+ public final void rule__PrimaryExpCS__Group_0_6_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11693:1: ( rule__PrimaryExpCS__Group_0_6_2__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11694:2: rule__PrimaryExpCS__Group_0_6_2__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_6_2__1__Impl_in_rule__PrimaryExpCS__Group_0_6_2__123830);
+ rule__PrimaryExpCS__Group_0_6_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_6_2__1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_6_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11700:1: rule__PrimaryExpCS__Group_0_6_2__1__Impl : ( ( rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1 ) ) ;
+ public final void rule__PrimaryExpCS__Group_0_6_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11704:1: ( ( ( rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11705:1: ( ( rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11705:1: ( ( rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11706:1: ( rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesAssignment_0_6_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11707:1: ( rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11707:2: rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1_in_rule__PrimaryExpCS__Group_0_6_2__1__Impl23857);
+ rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesAssignment_0_6_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_6_2__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_7__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11721:1: rule__PrimaryExpCS__Group_0_7__0 : rule__PrimaryExpCS__Group_0_7__0__Impl rule__PrimaryExpCS__Group_0_7__1 ;
+ public final void rule__PrimaryExpCS__Group_0_7__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11725:1: ( rule__PrimaryExpCS__Group_0_7__0__Impl rule__PrimaryExpCS__Group_0_7__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11726:2: rule__PrimaryExpCS__Group_0_7__0__Impl rule__PrimaryExpCS__Group_0_7__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_7__0__Impl_in_rule__PrimaryExpCS__Group_0_7__023891);
+ rule__PrimaryExpCS__Group_0_7__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_7__1_in_rule__PrimaryExpCS__Group_0_7__023894);
+ rule__PrimaryExpCS__Group_0_7__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_7__0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_7__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11733:1: rule__PrimaryExpCS__Group_0_7__0__Impl : ( ( rule__PrimaryExpCS__AtPreAssignment_0_7_0 ) ) ;
+ public final void rule__PrimaryExpCS__Group_0_7__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11737:1: ( ( ( rule__PrimaryExpCS__AtPreAssignment_0_7_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11738:1: ( ( rule__PrimaryExpCS__AtPreAssignment_0_7_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11738:1: ( ( rule__PrimaryExpCS__AtPreAssignment_0_7_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11739:1: ( rule__PrimaryExpCS__AtPreAssignment_0_7_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_0_7_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11740:1: ( rule__PrimaryExpCS__AtPreAssignment_0_7_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11740:2: rule__PrimaryExpCS__AtPreAssignment_0_7_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__AtPreAssignment_0_7_0_in_rule__PrimaryExpCS__Group_0_7__0__Impl23921);
+ rule__PrimaryExpCS__AtPreAssignment_0_7_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_0_7_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_7__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_7__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11750:1: rule__PrimaryExpCS__Group_0_7__1 : rule__PrimaryExpCS__Group_0_7__1__Impl ;
+ public final void rule__PrimaryExpCS__Group_0_7__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11754:1: ( rule__PrimaryExpCS__Group_0_7__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11755:2: rule__PrimaryExpCS__Group_0_7__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0_7__1__Impl_in_rule__PrimaryExpCS__Group_0_7__123951);
+ rule__PrimaryExpCS__Group_0_7__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_7__1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_0_7__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11761:1: rule__PrimaryExpCS__Group_0_7__1__Impl : ( 'pre' ) ;
+ public final void rule__PrimaryExpCS__Group_0_7__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11765:1: ( ( 'pre' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11766:1: ( 'pre' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11766:1: ( 'pre' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11767:1: 'pre'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getPreKeyword_0_7_1());
+ }
+ match(input,83,FollowSets001.FOLLOW_83_in_rule__PrimaryExpCS__Group_0_7__1__Impl23979); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getPreKeyword_0_7_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_0_7__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11784:1: rule__PrimaryExpCS__Group_1__0 : rule__PrimaryExpCS__Group_1__0__Impl rule__PrimaryExpCS__Group_1__1 ;
+ public final void rule__PrimaryExpCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11788:1: ( rule__PrimaryExpCS__Group_1__0__Impl rule__PrimaryExpCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11789:2: rule__PrimaryExpCS__Group_1__0__Impl rule__PrimaryExpCS__Group_1__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1__0__Impl_in_rule__PrimaryExpCS__Group_1__024014);
+ rule__PrimaryExpCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1__1_in_rule__PrimaryExpCS__Group_1__024017);
+ rule__PrimaryExpCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1__0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11796:1: rule__PrimaryExpCS__Group_1__0__Impl : ( () ) ;
+ public final void rule__PrimaryExpCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11800:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11801:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11801:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11802:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11803:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11805:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11815:1: rule__PrimaryExpCS__Group_1__1 : rule__PrimaryExpCS__Group_1__1__Impl rule__PrimaryExpCS__Group_1__2 ;
+ public final void rule__PrimaryExpCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11819:1: ( rule__PrimaryExpCS__Group_1__1__Impl rule__PrimaryExpCS__Group_1__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11820:2: rule__PrimaryExpCS__Group_1__1__Impl rule__PrimaryExpCS__Group_1__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1__1__Impl_in_rule__PrimaryExpCS__Group_1__124075);
+ rule__PrimaryExpCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1__2_in_rule__PrimaryExpCS__Group_1__124078);
+ rule__PrimaryExpCS__Group_1__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1__1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11827:1: rule__PrimaryExpCS__Group_1__1__Impl : ( ( rule__PrimaryExpCS__PathNameAssignment_1_1 ) ) ;
+ public final void rule__PrimaryExpCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11831:1: ( ( ( rule__PrimaryExpCS__PathNameAssignment_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11832:1: ( ( rule__PrimaryExpCS__PathNameAssignment_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11832:1: ( ( rule__PrimaryExpCS__PathNameAssignment_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11833:1: ( rule__PrimaryExpCS__PathNameAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11834:1: ( rule__PrimaryExpCS__PathNameAssignment_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11834:2: rule__PrimaryExpCS__PathNameAssignment_1_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__PathNameAssignment_1_1_in_rule__PrimaryExpCS__Group_1__1__Impl24105);
+ rule__PrimaryExpCS__PathNameAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11844:1: rule__PrimaryExpCS__Group_1__2 : rule__PrimaryExpCS__Group_1__2__Impl rule__PrimaryExpCS__Group_1__3 ;
+ public final void rule__PrimaryExpCS__Group_1__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11848:1: ( rule__PrimaryExpCS__Group_1__2__Impl rule__PrimaryExpCS__Group_1__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11849:2: rule__PrimaryExpCS__Group_1__2__Impl rule__PrimaryExpCS__Group_1__3
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1__2__Impl_in_rule__PrimaryExpCS__Group_1__224135);
+ rule__PrimaryExpCS__Group_1__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1__3_in_rule__PrimaryExpCS__Group_1__224138);
+ rule__PrimaryExpCS__Group_1__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1__2"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11856:1: rule__PrimaryExpCS__Group_1__2__Impl : ( '{' ) ;
+ public final void rule__PrimaryExpCS__Group_1__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11860:1: ( ( '{' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11861:1: ( '{' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11861:1: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11862:1: '{'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getLeftCurlyBracketKeyword_1_2());
+ }
+ match(input,71,FollowSets001.FOLLOW_71_in_rule__PrimaryExpCS__Group_1__2__Impl24166); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getLeftCurlyBracketKeyword_1_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1__2__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11875:1: rule__PrimaryExpCS__Group_1__3 : rule__PrimaryExpCS__Group_1__3__Impl rule__PrimaryExpCS__Group_1__4 ;
+ public final void rule__PrimaryExpCS__Group_1__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11879:1: ( rule__PrimaryExpCS__Group_1__3__Impl rule__PrimaryExpCS__Group_1__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11880:2: rule__PrimaryExpCS__Group_1__3__Impl rule__PrimaryExpCS__Group_1__4
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1__3__Impl_in_rule__PrimaryExpCS__Group_1__324197);
+ rule__PrimaryExpCS__Group_1__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1__4_in_rule__PrimaryExpCS__Group_1__324200);
+ rule__PrimaryExpCS__Group_1__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1__3"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11887:1: rule__PrimaryExpCS__Group_1__3__Impl : ( ( rule__PrimaryExpCS__OwnedPartsAssignment_1_3 ) ) ;
+ public final void rule__PrimaryExpCS__Group_1__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11891:1: ( ( ( rule__PrimaryExpCS__OwnedPartsAssignment_1_3 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11892:1: ( ( rule__PrimaryExpCS__OwnedPartsAssignment_1_3 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11892:1: ( ( rule__PrimaryExpCS__OwnedPartsAssignment_1_3 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11893:1: ( rule__PrimaryExpCS__OwnedPartsAssignment_1_3 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsAssignment_1_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11894:1: ( rule__PrimaryExpCS__OwnedPartsAssignment_1_3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11894:2: rule__PrimaryExpCS__OwnedPartsAssignment_1_3
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__OwnedPartsAssignment_1_3_in_rule__PrimaryExpCS__Group_1__3__Impl24227);
+ rule__PrimaryExpCS__OwnedPartsAssignment_1_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsAssignment_1_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1__3__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11904:1: rule__PrimaryExpCS__Group_1__4 : rule__PrimaryExpCS__Group_1__4__Impl rule__PrimaryExpCS__Group_1__5 ;
+ public final void rule__PrimaryExpCS__Group_1__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11908:1: ( rule__PrimaryExpCS__Group_1__4__Impl rule__PrimaryExpCS__Group_1__5 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11909:2: rule__PrimaryExpCS__Group_1__4__Impl rule__PrimaryExpCS__Group_1__5
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1__4__Impl_in_rule__PrimaryExpCS__Group_1__424257);
+ rule__PrimaryExpCS__Group_1__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1__5_in_rule__PrimaryExpCS__Group_1__424260);
+ rule__PrimaryExpCS__Group_1__5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1__4"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11916:1: rule__PrimaryExpCS__Group_1__4__Impl : ( ( rule__PrimaryExpCS__Group_1_4__0 )* ) ;
+ public final void rule__PrimaryExpCS__Group_1__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11920:1: ( ( ( rule__PrimaryExpCS__Group_1_4__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11921:1: ( ( rule__PrimaryExpCS__Group_1_4__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11921:1: ( ( rule__PrimaryExpCS__Group_1_4__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11922:1: ( rule__PrimaryExpCS__Group_1_4__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_1_4());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11923:1: ( rule__PrimaryExpCS__Group_1_4__0 )*
+ loop92:
+ do {
+ int alt92=2;
+ int LA92_0 = input.LA(1);
+
+ if ( (LA92_0==73) ) {
+ alt92=1;
+ }
+
+
+ switch (alt92) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11923:2: rule__PrimaryExpCS__Group_1_4__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1_4__0_in_rule__PrimaryExpCS__Group_1__4__Impl24287);
+ rule__PrimaryExpCS__Group_1_4__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop92;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getGroup_1_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1__4__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1__5"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11933:1: rule__PrimaryExpCS__Group_1__5 : rule__PrimaryExpCS__Group_1__5__Impl ;
+ public final void rule__PrimaryExpCS__Group_1__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11937:1: ( rule__PrimaryExpCS__Group_1__5__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11938:2: rule__PrimaryExpCS__Group_1__5__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1__5__Impl_in_rule__PrimaryExpCS__Group_1__524318);
+ rule__PrimaryExpCS__Group_1__5__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1__5"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1__5__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11944:1: rule__PrimaryExpCS__Group_1__5__Impl : ( '}' ) ;
+ public final void rule__PrimaryExpCS__Group_1__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11948:1: ( ( '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11949:1: ( '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11949:1: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11950:1: '}'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getRightCurlyBracketKeyword_1_5());
+ }
+ match(input,72,FollowSets001.FOLLOW_72_in_rule__PrimaryExpCS__Group_1__5__Impl24346); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getRightCurlyBracketKeyword_1_5());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1__5__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1_4__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11975:1: rule__PrimaryExpCS__Group_1_4__0 : rule__PrimaryExpCS__Group_1_4__0__Impl rule__PrimaryExpCS__Group_1_4__1 ;
+ public final void rule__PrimaryExpCS__Group_1_4__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11979:1: ( rule__PrimaryExpCS__Group_1_4__0__Impl rule__PrimaryExpCS__Group_1_4__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11980:2: rule__PrimaryExpCS__Group_1_4__0__Impl rule__PrimaryExpCS__Group_1_4__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1_4__0__Impl_in_rule__PrimaryExpCS__Group_1_4__024389);
+ rule__PrimaryExpCS__Group_1_4__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1_4__1_in_rule__PrimaryExpCS__Group_1_4__024392);
+ rule__PrimaryExpCS__Group_1_4__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1_4__0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1_4__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11987:1: rule__PrimaryExpCS__Group_1_4__0__Impl : ( ',' ) ;
+ public final void rule__PrimaryExpCS__Group_1_4__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11991:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11992:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11992:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:11993:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_1_4_0());
+ }
+ match(input,73,FollowSets001.FOLLOW_73_in_rule__PrimaryExpCS__Group_1_4__0__Impl24420); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_1_4_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1_4__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1_4__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12006:1: rule__PrimaryExpCS__Group_1_4__1 : rule__PrimaryExpCS__Group_1_4__1__Impl ;
+ public final void rule__PrimaryExpCS__Group_1_4__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12010:1: ( rule__PrimaryExpCS__Group_1_4__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12011:2: rule__PrimaryExpCS__Group_1_4__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1_4__1__Impl_in_rule__PrimaryExpCS__Group_1_4__124451);
+ rule__PrimaryExpCS__Group_1_4__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1_4__1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_1_4__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12017:1: rule__PrimaryExpCS__Group_1_4__1__Impl : ( ( rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1 ) ) ;
+ public final void rule__PrimaryExpCS__Group_1_4__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12021:1: ( ( ( rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12022:1: ( ( rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12022:1: ( ( rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12023:1: ( rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsAssignment_1_4_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12024:1: ( rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12024:2: rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1_in_rule__PrimaryExpCS__Group_1_4__1__Impl24478);
+ rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsAssignment_1_4_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_1_4__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12038:1: rule__PrimaryExpCS__Group_2__0 : rule__PrimaryExpCS__Group_2__0__Impl rule__PrimaryExpCS__Group_2__1 ;
+ public final void rule__PrimaryExpCS__Group_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12042:1: ( rule__PrimaryExpCS__Group_2__0__Impl rule__PrimaryExpCS__Group_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12043:2: rule__PrimaryExpCS__Group_2__0__Impl rule__PrimaryExpCS__Group_2__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2__0__Impl_in_rule__PrimaryExpCS__Group_2__024512);
+ rule__PrimaryExpCS__Group_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2__1_in_rule__PrimaryExpCS__Group_2__024515);
+ rule__PrimaryExpCS__Group_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2__0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12050:1: rule__PrimaryExpCS__Group_2__0__Impl : ( () ) ;
+ public final void rule__PrimaryExpCS__Group_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12054:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12055:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12055:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12056:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12057:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12059:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12069:1: rule__PrimaryExpCS__Group_2__1 : rule__PrimaryExpCS__Group_2__1__Impl rule__PrimaryExpCS__Group_2__2 ;
+ public final void rule__PrimaryExpCS__Group_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12073:1: ( rule__PrimaryExpCS__Group_2__1__Impl rule__PrimaryExpCS__Group_2__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12074:2: rule__PrimaryExpCS__Group_2__1__Impl rule__PrimaryExpCS__Group_2__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2__1__Impl_in_rule__PrimaryExpCS__Group_2__124573);
+ rule__PrimaryExpCS__Group_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2__2_in_rule__PrimaryExpCS__Group_2__124576);
+ rule__PrimaryExpCS__Group_2__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2__1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12081:1: rule__PrimaryExpCS__Group_2__1__Impl : ( ( rule__PrimaryExpCS__PathNameAssignment_2_1 ) ) ;
+ public final void rule__PrimaryExpCS__Group_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12085:1: ( ( ( rule__PrimaryExpCS__PathNameAssignment_2_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12086:1: ( ( rule__PrimaryExpCS__PathNameAssignment_2_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12086:1: ( ( rule__PrimaryExpCS__PathNameAssignment_2_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12087:1: ( rule__PrimaryExpCS__PathNameAssignment_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12088:1: ( rule__PrimaryExpCS__PathNameAssignment_2_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12088:2: rule__PrimaryExpCS__PathNameAssignment_2_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__PathNameAssignment_2_1_in_rule__PrimaryExpCS__Group_2__1__Impl24603);
+ rule__PrimaryExpCS__PathNameAssignment_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12098:1: rule__PrimaryExpCS__Group_2__2 : rule__PrimaryExpCS__Group_2__2__Impl rule__PrimaryExpCS__Group_2__3 ;
+ public final void rule__PrimaryExpCS__Group_2__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12102:1: ( rule__PrimaryExpCS__Group_2__2__Impl rule__PrimaryExpCS__Group_2__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12103:2: rule__PrimaryExpCS__Group_2__2__Impl rule__PrimaryExpCS__Group_2__3
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2__2__Impl_in_rule__PrimaryExpCS__Group_2__224633);
+ rule__PrimaryExpCS__Group_2__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2__3_in_rule__PrimaryExpCS__Group_2__224636);
+ rule__PrimaryExpCS__Group_2__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2__2"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12110:1: rule__PrimaryExpCS__Group_2__2__Impl : ( ( rule__PrimaryExpCS__Group_2_2__0 )? ) ;
+ public final void rule__PrimaryExpCS__Group_2__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12114:1: ( ( ( rule__PrimaryExpCS__Group_2_2__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12115:1: ( ( rule__PrimaryExpCS__Group_2_2__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12115:1: ( ( rule__PrimaryExpCS__Group_2_2__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12116:1: ( rule__PrimaryExpCS__Group_2_2__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_2_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12117:1: ( rule__PrimaryExpCS__Group_2_2__0 )?
+ int alt93=2;
+ int LA93_0 = input.LA(1);
+
+ if ( (LA93_0==93) ) {
+ alt93=1;
+ }
+ switch (alt93) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12117:2: rule__PrimaryExpCS__Group_2_2__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_2__0_in_rule__PrimaryExpCS__Group_2__2__Impl24663);
+ rule__PrimaryExpCS__Group_2_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getGroup_2_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2__2__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12127:1: rule__PrimaryExpCS__Group_2__3 : rule__PrimaryExpCS__Group_2__3__Impl rule__PrimaryExpCS__Group_2__4 ;
+ public final void rule__PrimaryExpCS__Group_2__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12131:1: ( rule__PrimaryExpCS__Group_2__3__Impl rule__PrimaryExpCS__Group_2__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12132:2: rule__PrimaryExpCS__Group_2__3__Impl rule__PrimaryExpCS__Group_2__4
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2__3__Impl_in_rule__PrimaryExpCS__Group_2__324694);
+ rule__PrimaryExpCS__Group_2__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2__4_in_rule__PrimaryExpCS__Group_2__324697);
+ rule__PrimaryExpCS__Group_2__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2__3"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12139:1: rule__PrimaryExpCS__Group_2__3__Impl : ( '(' ) ;
+ public final void rule__PrimaryExpCS__Group_2__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12143:1: ( ( '(' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12144:1: ( '(' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12144:1: ( '(' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12145:1: '('
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getLeftParenthesisKeyword_2_3());
+ }
+ match(input,69,FollowSets001.FOLLOW_69_in_rule__PrimaryExpCS__Group_2__3__Impl24725); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getLeftParenthesisKeyword_2_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2__3__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12158:1: rule__PrimaryExpCS__Group_2__4 : rule__PrimaryExpCS__Group_2__4__Impl rule__PrimaryExpCS__Group_2__5 ;
+ public final void rule__PrimaryExpCS__Group_2__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12162:1: ( rule__PrimaryExpCS__Group_2__4__Impl rule__PrimaryExpCS__Group_2__5 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12163:2: rule__PrimaryExpCS__Group_2__4__Impl rule__PrimaryExpCS__Group_2__5
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2__4__Impl_in_rule__PrimaryExpCS__Group_2__424756);
+ rule__PrimaryExpCS__Group_2__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2__5_in_rule__PrimaryExpCS__Group_2__424759);
+ rule__PrimaryExpCS__Group_2__5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2__4"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12170:1: rule__PrimaryExpCS__Group_2__4__Impl : ( ( rule__PrimaryExpCS__Group_2_4__0 )? ) ;
+ public final void rule__PrimaryExpCS__Group_2__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12174:1: ( ( ( rule__PrimaryExpCS__Group_2_4__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12175:1: ( ( rule__PrimaryExpCS__Group_2_4__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12175:1: ( ( rule__PrimaryExpCS__Group_2_4__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12176:1: ( rule__PrimaryExpCS__Group_2_4__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12177:1: ( rule__PrimaryExpCS__Group_2_4__0 )?
+ int alt94=2;
+ int LA94_0 = input.LA(1);
+
+ if ( ((LA94_0>=RULE_INT && LA94_0<=RULE_ESCAPED_ID)||(LA94_0>=18 && LA94_0<=37)||(LA94_0>=39 && LA94_0<=40)||(LA94_0>=54 && LA94_0<=67)||LA94_0==69||(LA94_0>=81 && LA94_0<=82)||LA94_0==84||LA94_0==88||(LA94_0>=90 && LA94_0<=92)) ) {
+ alt94=1;
+ }
+ switch (alt94) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12177:2: rule__PrimaryExpCS__Group_2_4__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4__0_in_rule__PrimaryExpCS__Group_2__4__Impl24786);
+ rule__PrimaryExpCS__Group_2_4__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2__4__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2__5"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12187:1: rule__PrimaryExpCS__Group_2__5 : rule__PrimaryExpCS__Group_2__5__Impl ;
+ public final void rule__PrimaryExpCS__Group_2__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12191:1: ( rule__PrimaryExpCS__Group_2__5__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12192:2: rule__PrimaryExpCS__Group_2__5__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2__5__Impl_in_rule__PrimaryExpCS__Group_2__524817);
+ rule__PrimaryExpCS__Group_2__5__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2__5"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2__5__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12198:1: rule__PrimaryExpCS__Group_2__5__Impl : ( ')' ) ;
+ public final void rule__PrimaryExpCS__Group_2__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12202:1: ( ( ')' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12203:1: ( ')' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12203:1: ( ')' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12204:1: ')'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getRightParenthesisKeyword_2_5());
+ }
+ match(input,70,FollowSets001.FOLLOW_70_in_rule__PrimaryExpCS__Group_2__5__Impl24845); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getRightParenthesisKeyword_2_5());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2__5__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12229:1: rule__PrimaryExpCS__Group_2_2__0 : rule__PrimaryExpCS__Group_2_2__0__Impl rule__PrimaryExpCS__Group_2_2__1 ;
+ public final void rule__PrimaryExpCS__Group_2_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12233:1: ( rule__PrimaryExpCS__Group_2_2__0__Impl rule__PrimaryExpCS__Group_2_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12234:2: rule__PrimaryExpCS__Group_2_2__0__Impl rule__PrimaryExpCS__Group_2_2__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_2__0__Impl_in_rule__PrimaryExpCS__Group_2_2__024888);
+ rule__PrimaryExpCS__Group_2_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_2__1_in_rule__PrimaryExpCS__Group_2_2__024891);
+ rule__PrimaryExpCS__Group_2_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_2__0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12241:1: rule__PrimaryExpCS__Group_2_2__0__Impl : ( ( rule__PrimaryExpCS__AtPreAssignment_2_2_0 ) ) ;
+ public final void rule__PrimaryExpCS__Group_2_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12245:1: ( ( ( rule__PrimaryExpCS__AtPreAssignment_2_2_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12246:1: ( ( rule__PrimaryExpCS__AtPreAssignment_2_2_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12246:1: ( ( rule__PrimaryExpCS__AtPreAssignment_2_2_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12247:1: ( rule__PrimaryExpCS__AtPreAssignment_2_2_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_2_2_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12248:1: ( rule__PrimaryExpCS__AtPreAssignment_2_2_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12248:2: rule__PrimaryExpCS__AtPreAssignment_2_2_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__AtPreAssignment_2_2_0_in_rule__PrimaryExpCS__Group_2_2__0__Impl24918);
+ rule__PrimaryExpCS__AtPreAssignment_2_2_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_2_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_2__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12258:1: rule__PrimaryExpCS__Group_2_2__1 : rule__PrimaryExpCS__Group_2_2__1__Impl ;
+ public final void rule__PrimaryExpCS__Group_2_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12262:1: ( rule__PrimaryExpCS__Group_2_2__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12263:2: rule__PrimaryExpCS__Group_2_2__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_2__1__Impl_in_rule__PrimaryExpCS__Group_2_2__124948);
+ rule__PrimaryExpCS__Group_2_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_2__1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12269:1: rule__PrimaryExpCS__Group_2_2__1__Impl : ( 'pre' ) ;
+ public final void rule__PrimaryExpCS__Group_2_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12273:1: ( ( 'pre' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12274:1: ( 'pre' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12274:1: ( 'pre' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12275:1: 'pre'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getPreKeyword_2_2_1());
+ }
+ match(input,83,FollowSets001.FOLLOW_83_in_rule__PrimaryExpCS__Group_2_2__1__Impl24976); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getPreKeyword_2_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_2__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12292:1: rule__PrimaryExpCS__Group_2_4__0 : rule__PrimaryExpCS__Group_2_4__0__Impl rule__PrimaryExpCS__Group_2_4__1 ;
+ public final void rule__PrimaryExpCS__Group_2_4__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12296:1: ( rule__PrimaryExpCS__Group_2_4__0__Impl rule__PrimaryExpCS__Group_2_4__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12297:2: rule__PrimaryExpCS__Group_2_4__0__Impl rule__PrimaryExpCS__Group_2_4__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4__0__Impl_in_rule__PrimaryExpCS__Group_2_4__025011);
+ rule__PrimaryExpCS__Group_2_4__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4__1_in_rule__PrimaryExpCS__Group_2_4__025014);
+ rule__PrimaryExpCS__Group_2_4__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4__0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12304:1: rule__PrimaryExpCS__Group_2_4__0__Impl : ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_0 ) ) ;
+ public final void rule__PrimaryExpCS__Group_2_4__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12308:1: ( ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12309:1: ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12309:1: ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12310:1: ( rule__PrimaryExpCS__ArgumentAssignment_2_4_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12311:1: ( rule__PrimaryExpCS__ArgumentAssignment_2_4_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12311:2: rule__PrimaryExpCS__ArgumentAssignment_2_4_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__ArgumentAssignment_2_4_0_in_rule__PrimaryExpCS__Group_2_4__0__Impl25041);
+ rule__PrimaryExpCS__ArgumentAssignment_2_4_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12321:1: rule__PrimaryExpCS__Group_2_4__1 : rule__PrimaryExpCS__Group_2_4__1__Impl rule__PrimaryExpCS__Group_2_4__2 ;
+ public final void rule__PrimaryExpCS__Group_2_4__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12325:1: ( rule__PrimaryExpCS__Group_2_4__1__Impl rule__PrimaryExpCS__Group_2_4__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12326:2: rule__PrimaryExpCS__Group_2_4__1__Impl rule__PrimaryExpCS__Group_2_4__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4__1__Impl_in_rule__PrimaryExpCS__Group_2_4__125071);
+ rule__PrimaryExpCS__Group_2_4__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4__2_in_rule__PrimaryExpCS__Group_2_4__125074);
+ rule__PrimaryExpCS__Group_2_4__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4__1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12333:1: rule__PrimaryExpCS__Group_2_4__1__Impl : ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_1 )* ) ;
+ public final void rule__PrimaryExpCS__Group_2_4__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12337:1: ( ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_1 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12338:1: ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_1 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12338:1: ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_1 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12339:1: ( rule__PrimaryExpCS__ArgumentAssignment_2_4_1 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12340:1: ( rule__PrimaryExpCS__ArgumentAssignment_2_4_1 )*
+ loop95:
+ do {
+ int alt95=2;
+ int LA95_0 = input.LA(1);
+
+ if ( (LA95_0==73) ) {
+ alt95=1;
+ }
+
+
+ switch (alt95) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12340:2: rule__PrimaryExpCS__ArgumentAssignment_2_4_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__ArgumentAssignment_2_4_1_in_rule__PrimaryExpCS__Group_2_4__1__Impl25101);
+ rule__PrimaryExpCS__ArgumentAssignment_2_4_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop95;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12350:1: rule__PrimaryExpCS__Group_2_4__2 : rule__PrimaryExpCS__Group_2_4__2__Impl rule__PrimaryExpCS__Group_2_4__3 ;
+ public final void rule__PrimaryExpCS__Group_2_4__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12354:1: ( rule__PrimaryExpCS__Group_2_4__2__Impl rule__PrimaryExpCS__Group_2_4__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12355:2: rule__PrimaryExpCS__Group_2_4__2__Impl rule__PrimaryExpCS__Group_2_4__3
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4__2__Impl_in_rule__PrimaryExpCS__Group_2_4__225132);
+ rule__PrimaryExpCS__Group_2_4__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4__3_in_rule__PrimaryExpCS__Group_2_4__225135);
+ rule__PrimaryExpCS__Group_2_4__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4__2"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12362:1: rule__PrimaryExpCS__Group_2_4__2__Impl : ( ( rule__PrimaryExpCS__Group_2_4_2__0 )? ) ;
+ public final void rule__PrimaryExpCS__Group_2_4__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12366:1: ( ( ( rule__PrimaryExpCS__Group_2_4_2__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12367:1: ( ( rule__PrimaryExpCS__Group_2_4_2__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12367:1: ( ( rule__PrimaryExpCS__Group_2_4_2__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12368:1: ( rule__PrimaryExpCS__Group_2_4_2__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12369:1: ( rule__PrimaryExpCS__Group_2_4_2__0 )?
+ int alt96=2;
+ int LA96_0 = input.LA(1);
+
+ if ( (LA96_0==17) ) {
+ alt96=1;
+ }
+ switch (alt96) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12369:2: rule__PrimaryExpCS__Group_2_4_2__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4_2__0_in_rule__PrimaryExpCS__Group_2_4__2__Impl25162);
+ rule__PrimaryExpCS__Group_2_4_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4__2__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12379:1: rule__PrimaryExpCS__Group_2_4__3 : rule__PrimaryExpCS__Group_2_4__3__Impl ;
+ public final void rule__PrimaryExpCS__Group_2_4__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12383:1: ( rule__PrimaryExpCS__Group_2_4__3__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12384:2: rule__PrimaryExpCS__Group_2_4__3__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4__3__Impl_in_rule__PrimaryExpCS__Group_2_4__325193);
+ rule__PrimaryExpCS__Group_2_4__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4__3"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12390:1: rule__PrimaryExpCS__Group_2_4__3__Impl : ( ( rule__PrimaryExpCS__Group_2_4_3__0 )? ) ;
+ public final void rule__PrimaryExpCS__Group_2_4__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12394:1: ( ( ( rule__PrimaryExpCS__Group_2_4_3__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12395:1: ( ( rule__PrimaryExpCS__Group_2_4_3__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12395:1: ( ( rule__PrimaryExpCS__Group_2_4_3__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12396:1: ( rule__PrimaryExpCS__Group_2_4_3__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12397:1: ( rule__PrimaryExpCS__Group_2_4_3__0 )?
+ int alt97=2;
+ int LA97_0 = input.LA(1);
+
+ if ( (LA97_0==94) ) {
+ alt97=1;
+ }
+ switch (alt97) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12397:2: rule__PrimaryExpCS__Group_2_4_3__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4_3__0_in_rule__PrimaryExpCS__Group_2_4__3__Impl25220);
+ rule__PrimaryExpCS__Group_2_4_3__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getGroup_2_4_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4__3__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12415:1: rule__PrimaryExpCS__Group_2_4_2__0 : rule__PrimaryExpCS__Group_2_4_2__0__Impl rule__PrimaryExpCS__Group_2_4_2__1 ;
+ public final void rule__PrimaryExpCS__Group_2_4_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12419:1: ( rule__PrimaryExpCS__Group_2_4_2__0__Impl rule__PrimaryExpCS__Group_2_4_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12420:2: rule__PrimaryExpCS__Group_2_4_2__0__Impl rule__PrimaryExpCS__Group_2_4_2__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4_2__0__Impl_in_rule__PrimaryExpCS__Group_2_4_2__025259);
+ rule__PrimaryExpCS__Group_2_4_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4_2__1_in_rule__PrimaryExpCS__Group_2_4_2__025262);
+ rule__PrimaryExpCS__Group_2_4_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4_2__0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12427:1: rule__PrimaryExpCS__Group_2_4_2__0__Impl : ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0 ) ) ;
+ public final void rule__PrimaryExpCS__Group_2_4_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12431:1: ( ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12432:1: ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12432:1: ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12433:1: ( rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_2_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12434:1: ( rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12434:2: rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0_in_rule__PrimaryExpCS__Group_2_4_2__0__Impl25289);
+ rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4_2__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12444:1: rule__PrimaryExpCS__Group_2_4_2__1 : rule__PrimaryExpCS__Group_2_4_2__1__Impl ;
+ public final void rule__PrimaryExpCS__Group_2_4_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12448:1: ( rule__PrimaryExpCS__Group_2_4_2__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12449:2: rule__PrimaryExpCS__Group_2_4_2__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4_2__1__Impl_in_rule__PrimaryExpCS__Group_2_4_2__125319);
+ rule__PrimaryExpCS__Group_2_4_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4_2__1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12455:1: rule__PrimaryExpCS__Group_2_4_2__1__Impl : ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1 )* ) ;
+ public final void rule__PrimaryExpCS__Group_2_4_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12459:1: ( ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12460:1: ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12460:1: ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12461:1: ( rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12462:1: ( rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1 )*
+ loop98:
+ do {
+ int alt98=2;
+ int LA98_0 = input.LA(1);
+
+ if ( (LA98_0==73) ) {
+ alt98=1;
+ }
+
+
+ switch (alt98) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12462:2: rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1_in_rule__PrimaryExpCS__Group_2_4_2__1__Impl25346);
+ rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop98;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4_2__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4_3__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12476:1: rule__PrimaryExpCS__Group_2_4_3__0 : rule__PrimaryExpCS__Group_2_4_3__0__Impl rule__PrimaryExpCS__Group_2_4_3__1 ;
+ public final void rule__PrimaryExpCS__Group_2_4_3__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12480:1: ( rule__PrimaryExpCS__Group_2_4_3__0__Impl rule__PrimaryExpCS__Group_2_4_3__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12481:2: rule__PrimaryExpCS__Group_2_4_3__0__Impl rule__PrimaryExpCS__Group_2_4_3__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4_3__0__Impl_in_rule__PrimaryExpCS__Group_2_4_3__025381);
+ rule__PrimaryExpCS__Group_2_4_3__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4_3__1_in_rule__PrimaryExpCS__Group_2_4_3__025384);
+ rule__PrimaryExpCS__Group_2_4_3__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4_3__0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4_3__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12488:1: rule__PrimaryExpCS__Group_2_4_3__0__Impl : ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0 ) ) ;
+ public final void rule__PrimaryExpCS__Group_2_4_3__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12492:1: ( ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12493:1: ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12493:1: ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12494:1: ( rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_3_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12495:1: ( rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12495:2: rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0_in_rule__PrimaryExpCS__Group_2_4_3__0__Impl25411);
+ rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4_3__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4_3__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12505:1: rule__PrimaryExpCS__Group_2_4_3__1 : rule__PrimaryExpCS__Group_2_4_3__1__Impl ;
+ public final void rule__PrimaryExpCS__Group_2_4_3__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12509:1: ( rule__PrimaryExpCS__Group_2_4_3__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12510:2: rule__PrimaryExpCS__Group_2_4_3__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2_4_3__1__Impl_in_rule__PrimaryExpCS__Group_2_4_3__125441);
+ rule__PrimaryExpCS__Group_2_4_3__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4_3__1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_2_4_3__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12516:1: rule__PrimaryExpCS__Group_2_4_3__1__Impl : ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1 )* ) ;
+ public final void rule__PrimaryExpCS__Group_2_4_3__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12520:1: ( ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12521:1: ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12521:1: ( ( rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12522:1: ( rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_3_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12523:1: ( rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1 )*
+ loop99:
+ do {
+ int alt99=2;
+ int LA99_0 = input.LA(1);
+
+ if ( (LA99_0==73) ) {
+ alt99=1;
+ }
+
+
+ switch (alt99) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12523:2: rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1_in_rule__PrimaryExpCS__Group_2_4_3__1__Impl25468);
+ rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop99;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_3_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_2_4_3__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_3__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12537:1: rule__PrimaryExpCS__Group_3__0 : rule__PrimaryExpCS__Group_3__0__Impl rule__PrimaryExpCS__Group_3__1 ;
+ public final void rule__PrimaryExpCS__Group_3__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12541:1: ( rule__PrimaryExpCS__Group_3__0__Impl rule__PrimaryExpCS__Group_3__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12542:2: rule__PrimaryExpCS__Group_3__0__Impl rule__PrimaryExpCS__Group_3__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_3__0__Impl_in_rule__PrimaryExpCS__Group_3__025503);
+ rule__PrimaryExpCS__Group_3__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_3__1_in_rule__PrimaryExpCS__Group_3__025506);
+ rule__PrimaryExpCS__Group_3__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_3__0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_3__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12549:1: rule__PrimaryExpCS__Group_3__0__Impl : ( () ) ;
+ public final void rule__PrimaryExpCS__Group_3__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12553:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12554:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12554:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12555:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12556:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12558:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_3__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_3__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12568:1: rule__PrimaryExpCS__Group_3__1 : rule__PrimaryExpCS__Group_3__1__Impl rule__PrimaryExpCS__Group_3__2 ;
+ public final void rule__PrimaryExpCS__Group_3__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12572:1: ( rule__PrimaryExpCS__Group_3__1__Impl rule__PrimaryExpCS__Group_3__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12573:2: rule__PrimaryExpCS__Group_3__1__Impl rule__PrimaryExpCS__Group_3__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_3__1__Impl_in_rule__PrimaryExpCS__Group_3__125564);
+ rule__PrimaryExpCS__Group_3__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_3__2_in_rule__PrimaryExpCS__Group_3__125567);
+ rule__PrimaryExpCS__Group_3__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_3__1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_3__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12580:1: rule__PrimaryExpCS__Group_3__1__Impl : ( ( rule__PrimaryExpCS__PathNameAssignment_3_1 ) ) ;
+ public final void rule__PrimaryExpCS__Group_3__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12584:1: ( ( ( rule__PrimaryExpCS__PathNameAssignment_3_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12585:1: ( ( rule__PrimaryExpCS__PathNameAssignment_3_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12585:1: ( ( rule__PrimaryExpCS__PathNameAssignment_3_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12586:1: ( rule__PrimaryExpCS__PathNameAssignment_3_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_3_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12587:1: ( rule__PrimaryExpCS__PathNameAssignment_3_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12587:2: rule__PrimaryExpCS__PathNameAssignment_3_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__PathNameAssignment_3_1_in_rule__PrimaryExpCS__Group_3__1__Impl25594);
+ rule__PrimaryExpCS__PathNameAssignment_3_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_3_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_3__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_3__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12597:1: rule__PrimaryExpCS__Group_3__2 : rule__PrimaryExpCS__Group_3__2__Impl ;
+ public final void rule__PrimaryExpCS__Group_3__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12601:1: ( rule__PrimaryExpCS__Group_3__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12602:2: rule__PrimaryExpCS__Group_3__2__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_3__2__Impl_in_rule__PrimaryExpCS__Group_3__225624);
+ rule__PrimaryExpCS__Group_3__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_3__2"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_3__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12608:1: rule__PrimaryExpCS__Group_3__2__Impl : ( ( rule__PrimaryExpCS__Group_3_2__0 )? ) ;
+ public final void rule__PrimaryExpCS__Group_3__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12612:1: ( ( ( rule__PrimaryExpCS__Group_3_2__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12613:1: ( ( rule__PrimaryExpCS__Group_3_2__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12613:1: ( ( rule__PrimaryExpCS__Group_3_2__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12614:1: ( rule__PrimaryExpCS__Group_3_2__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_3_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12615:1: ( rule__PrimaryExpCS__Group_3_2__0 )?
+ int alt100=2;
+ int LA100_0 = input.LA(1);
+
+ if ( (LA100_0==93) ) {
+ alt100=1;
+ }
+ switch (alt100) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12615:2: rule__PrimaryExpCS__Group_3_2__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_3_2__0_in_rule__PrimaryExpCS__Group_3__2__Impl25651);
+ rule__PrimaryExpCS__Group_3_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getGroup_3_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_3__2__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_3_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12631:1: rule__PrimaryExpCS__Group_3_2__0 : rule__PrimaryExpCS__Group_3_2__0__Impl rule__PrimaryExpCS__Group_3_2__1 ;
+ public final void rule__PrimaryExpCS__Group_3_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12635:1: ( rule__PrimaryExpCS__Group_3_2__0__Impl rule__PrimaryExpCS__Group_3_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12636:2: rule__PrimaryExpCS__Group_3_2__0__Impl rule__PrimaryExpCS__Group_3_2__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_3_2__0__Impl_in_rule__PrimaryExpCS__Group_3_2__025688);
+ rule__PrimaryExpCS__Group_3_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_3_2__1_in_rule__PrimaryExpCS__Group_3_2__025691);
+ rule__PrimaryExpCS__Group_3_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_3_2__0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_3_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12643:1: rule__PrimaryExpCS__Group_3_2__0__Impl : ( ( rule__PrimaryExpCS__AtPreAssignment_3_2_0 ) ) ;
+ public final void rule__PrimaryExpCS__Group_3_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12647:1: ( ( ( rule__PrimaryExpCS__AtPreAssignment_3_2_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12648:1: ( ( rule__PrimaryExpCS__AtPreAssignment_3_2_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12648:1: ( ( rule__PrimaryExpCS__AtPreAssignment_3_2_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12649:1: ( rule__PrimaryExpCS__AtPreAssignment_3_2_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_3_2_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12650:1: ( rule__PrimaryExpCS__AtPreAssignment_3_2_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12650:2: rule__PrimaryExpCS__AtPreAssignment_3_2_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__AtPreAssignment_3_2_0_in_rule__PrimaryExpCS__Group_3_2__0__Impl25718);
+ rule__PrimaryExpCS__AtPreAssignment_3_2_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_3_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_3_2__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_3_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12660:1: rule__PrimaryExpCS__Group_3_2__1 : rule__PrimaryExpCS__Group_3_2__1__Impl ;
+ public final void rule__PrimaryExpCS__Group_3_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12664:1: ( rule__PrimaryExpCS__Group_3_2__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12665:2: rule__PrimaryExpCS__Group_3_2__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_3_2__1__Impl_in_rule__PrimaryExpCS__Group_3_2__125748);
+ rule__PrimaryExpCS__Group_3_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_3_2__1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__Group_3_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12671:1: rule__PrimaryExpCS__Group_3_2__1__Impl : ( 'pre' ) ;
+ public final void rule__PrimaryExpCS__Group_3_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12675:1: ( ( 'pre' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12676:1: ( 'pre' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12676:1: ( 'pre' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12677:1: 'pre'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getPreKeyword_3_2_1());
+ }
+ match(input,83,FollowSets001.FOLLOW_83_in_rule__PrimaryExpCS__Group_3_2__1__Impl25776); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getPreKeyword_3_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__Group_3_2__1__Impl"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12694:1: rule__NavigatingArgCS__Group__0 : rule__NavigatingArgCS__Group__0__Impl rule__NavigatingArgCS__Group__1 ;
+ public final void rule__NavigatingArgCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12698:1: ( rule__NavigatingArgCS__Group__0__Impl rule__NavigatingArgCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12699:2: rule__NavigatingArgCS__Group__0__Impl rule__NavigatingArgCS__Group__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group__0__Impl_in_rule__NavigatingArgCS__Group__025811);
+ rule__NavigatingArgCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group__1_in_rule__NavigatingArgCS__Group__025814);
+ rule__NavigatingArgCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__Group__0"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12706:1: rule__NavigatingArgCS__Group__0__Impl : ( ( rule__NavigatingArgCS__NameAssignment_0 ) ) ;
+ public final void rule__NavigatingArgCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12710:1: ( ( ( rule__NavigatingArgCS__NameAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12711:1: ( ( rule__NavigatingArgCS__NameAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12711:1: ( ( rule__NavigatingArgCS__NameAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12712:1: ( rule__NavigatingArgCS__NameAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingArgCSAccess().getNameAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12713:1: ( rule__NavigatingArgCS__NameAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12713:2: rule__NavigatingArgCS__NameAssignment_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__NameAssignment_0_in_rule__NavigatingArgCS__Group__0__Impl25841);
+ rule__NavigatingArgCS__NameAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingArgCSAccess().getNameAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12723:1: rule__NavigatingArgCS__Group__1 : rule__NavigatingArgCS__Group__1__Impl ;
+ public final void rule__NavigatingArgCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12727:1: ( rule__NavigatingArgCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12728:2: rule__NavigatingArgCS__Group__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group__1__Impl_in_rule__NavigatingArgCS__Group__125871);
+ rule__NavigatingArgCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__Group__1"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12734:1: rule__NavigatingArgCS__Group__1__Impl : ( ( rule__NavigatingArgCS__Group_1__0 )? ) ;
+ public final void rule__NavigatingArgCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12738:1: ( ( ( rule__NavigatingArgCS__Group_1__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12739:1: ( ( rule__NavigatingArgCS__Group_1__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12739:1: ( ( rule__NavigatingArgCS__Group_1__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12740:1: ( rule__NavigatingArgCS__Group_1__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingArgCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12741:1: ( rule__NavigatingArgCS__Group_1__0 )?
+ int alt101=2;
+ int LA101_0 = input.LA(1);
+
+ if ( (LA101_0==74) ) {
+ alt101=1;
+ }
+ switch (alt101) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12741:2: rule__NavigatingArgCS__Group_1__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1__0_in_rule__NavigatingArgCS__Group__1__Impl25898);
+ rule__NavigatingArgCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingArgCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12755:1: rule__NavigatingArgCS__Group_1__0 : rule__NavigatingArgCS__Group_1__0__Impl rule__NavigatingArgCS__Group_1__1 ;
+ public final void rule__NavigatingArgCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12759:1: ( rule__NavigatingArgCS__Group_1__0__Impl rule__NavigatingArgCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12760:2: rule__NavigatingArgCS__Group_1__0__Impl rule__NavigatingArgCS__Group_1__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1__0__Impl_in_rule__NavigatingArgCS__Group_1__025933);
+ rule__NavigatingArgCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1__1_in_rule__NavigatingArgCS__Group_1__025936);
+ rule__NavigatingArgCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__Group_1__0"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12767:1: rule__NavigatingArgCS__Group_1__0__Impl : ( ':' ) ;
+ public final void rule__NavigatingArgCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12771:1: ( ( ':' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12772:1: ( ':' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12772:1: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12773:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingArgCSAccess().getColonKeyword_1_0());
+ }
+ match(input,74,FollowSets001.FOLLOW_74_in_rule__NavigatingArgCS__Group_1__0__Impl25964); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingArgCSAccess().getColonKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12786:1: rule__NavigatingArgCS__Group_1__1 : rule__NavigatingArgCS__Group_1__1__Impl rule__NavigatingArgCS__Group_1__2 ;
+ public final void rule__NavigatingArgCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12790:1: ( rule__NavigatingArgCS__Group_1__1__Impl rule__NavigatingArgCS__Group_1__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12791:2: rule__NavigatingArgCS__Group_1__1__Impl rule__NavigatingArgCS__Group_1__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1__1__Impl_in_rule__NavigatingArgCS__Group_1__125995);
+ rule__NavigatingArgCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1__2_in_rule__NavigatingArgCS__Group_1__125998);
+ rule__NavigatingArgCS__Group_1__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__Group_1__1"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12798:1: rule__NavigatingArgCS__Group_1__1__Impl : ( ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 ) ) ;
+ public final void rule__NavigatingArgCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12802:1: ( ( ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12803:1: ( ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12803:1: ( ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12804:1: ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12805:1: ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12805:2: rule__NavigatingArgCS__OwnedTypeAssignment_1_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__OwnedTypeAssignment_1_1_in_rule__NavigatingArgCS__Group_1__1__Impl26025);
+ rule__NavigatingArgCS__OwnedTypeAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__Group_1__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12815:1: rule__NavigatingArgCS__Group_1__2 : rule__NavigatingArgCS__Group_1__2__Impl ;
+ public final void rule__NavigatingArgCS__Group_1__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12819:1: ( rule__NavigatingArgCS__Group_1__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12820:2: rule__NavigatingArgCS__Group_1__2__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1__2__Impl_in_rule__NavigatingArgCS__Group_1__226055);
+ rule__NavigatingArgCS__Group_1__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__Group_1__2"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__Group_1__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12826:1: rule__NavigatingArgCS__Group_1__2__Impl : ( ( rule__NavigatingArgCS__Group_1_2__0 )? ) ;
+ public final void rule__NavigatingArgCS__Group_1__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12830:1: ( ( ( rule__NavigatingArgCS__Group_1_2__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12831:1: ( ( rule__NavigatingArgCS__Group_1_2__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12831:1: ( ( rule__NavigatingArgCS__Group_1_2__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12832:1: ( rule__NavigatingArgCS__Group_1_2__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingArgCSAccess().getGroup_1_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12833:1: ( rule__NavigatingArgCS__Group_1_2__0 )?
+ int alt102=2;
+ int LA102_0 = input.LA(1);
+
+ if ( (LA102_0==46) ) {
+ alt102=1;
+ }
+ switch (alt102) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12833:2: rule__NavigatingArgCS__Group_1_2__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1_2__0_in_rule__NavigatingArgCS__Group_1__2__Impl26082);
+ rule__NavigatingArgCS__Group_1_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingArgCSAccess().getGroup_1_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__Group_1__2__Impl"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__Group_1_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12849:1: rule__NavigatingArgCS__Group_1_2__0 : rule__NavigatingArgCS__Group_1_2__0__Impl rule__NavigatingArgCS__Group_1_2__1 ;
+ public final void rule__NavigatingArgCS__Group_1_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12853:1: ( rule__NavigatingArgCS__Group_1_2__0__Impl rule__NavigatingArgCS__Group_1_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12854:2: rule__NavigatingArgCS__Group_1_2__0__Impl rule__NavigatingArgCS__Group_1_2__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1_2__0__Impl_in_rule__NavigatingArgCS__Group_1_2__026119);
+ rule__NavigatingArgCS__Group_1_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1_2__1_in_rule__NavigatingArgCS__Group_1_2__026122);
+ rule__NavigatingArgCS__Group_1_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__Group_1_2__0"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__Group_1_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12861:1: rule__NavigatingArgCS__Group_1_2__0__Impl : ( '=' ) ;
+ public final void rule__NavigatingArgCS__Group_1_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12865:1: ( ( '=' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12866:1: ( '=' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12866:1: ( '=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12867:1: '='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_1_2_0());
+ }
+ match(input,46,FollowSets001.FOLLOW_46_in_rule__NavigatingArgCS__Group_1_2__0__Impl26150); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_1_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__Group_1_2__0__Impl"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__Group_1_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12880:1: rule__NavigatingArgCS__Group_1_2__1 : rule__NavigatingArgCS__Group_1_2__1__Impl ;
+ public final void rule__NavigatingArgCS__Group_1_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12884:1: ( rule__NavigatingArgCS__Group_1_2__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12885:2: rule__NavigatingArgCS__Group_1_2__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1_2__1__Impl_in_rule__NavigatingArgCS__Group_1_2__126181);
+ rule__NavigatingArgCS__Group_1_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__Group_1_2__1"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__Group_1_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12891:1: rule__NavigatingArgCS__Group_1_2__1__Impl : ( ( rule__NavigatingArgCS__InitAssignment_1_2_1 ) ) ;
+ public final void rule__NavigatingArgCS__Group_1_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12895:1: ( ( ( rule__NavigatingArgCS__InitAssignment_1_2_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12896:1: ( ( rule__NavigatingArgCS__InitAssignment_1_2_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12896:1: ( ( rule__NavigatingArgCS__InitAssignment_1_2_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12897:1: ( rule__NavigatingArgCS__InitAssignment_1_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingArgCSAccess().getInitAssignment_1_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12898:1: ( rule__NavigatingArgCS__InitAssignment_1_2_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12898:2: rule__NavigatingArgCS__InitAssignment_1_2_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__InitAssignment_1_2_1_in_rule__NavigatingArgCS__Group_1_2__1__Impl26208);
+ rule__NavigatingArgCS__InitAssignment_1_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingArgCSAccess().getInitAssignment_1_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__Group_1_2__1__Impl"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12912:1: rule__NavigatingBarArgCS__Group__0 : rule__NavigatingBarArgCS__Group__0__Impl rule__NavigatingBarArgCS__Group__1 ;
+ public final void rule__NavigatingBarArgCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12916:1: ( rule__NavigatingBarArgCS__Group__0__Impl rule__NavigatingBarArgCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12917:2: rule__NavigatingBarArgCS__Group__0__Impl rule__NavigatingBarArgCS__Group__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__0__Impl_in_rule__NavigatingBarArgCS__Group__026242);
+ rule__NavigatingBarArgCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__1_in_rule__NavigatingBarArgCS__Group__026245);
+ rule__NavigatingBarArgCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group__0"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12924:1: rule__NavigatingBarArgCS__Group__0__Impl : ( ( rule__NavigatingBarArgCS__PrefixAssignment_0 ) ) ;
+ public final void rule__NavigatingBarArgCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12928:1: ( ( ( rule__NavigatingBarArgCS__PrefixAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12929:1: ( ( rule__NavigatingBarArgCS__PrefixAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12929:1: ( ( rule__NavigatingBarArgCS__PrefixAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12930:1: ( rule__NavigatingBarArgCS__PrefixAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSAccess().getPrefixAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12931:1: ( rule__NavigatingBarArgCS__PrefixAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12931:2: rule__NavigatingBarArgCS__PrefixAssignment_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__PrefixAssignment_0_in_rule__NavigatingBarArgCS__Group__0__Impl26272);
+ rule__NavigatingBarArgCS__PrefixAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSAccess().getPrefixAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12941:1: rule__NavigatingBarArgCS__Group__1 : rule__NavigatingBarArgCS__Group__1__Impl rule__NavigatingBarArgCS__Group__2 ;
+ public final void rule__NavigatingBarArgCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12945:1: ( rule__NavigatingBarArgCS__Group__1__Impl rule__NavigatingBarArgCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12946:2: rule__NavigatingBarArgCS__Group__1__Impl rule__NavigatingBarArgCS__Group__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__1__Impl_in_rule__NavigatingBarArgCS__Group__126302);
+ rule__NavigatingBarArgCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__2_in_rule__NavigatingBarArgCS__Group__126305);
+ rule__NavigatingBarArgCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group__1"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12953:1: rule__NavigatingBarArgCS__Group__1__Impl : ( ( rule__NavigatingBarArgCS__NameAssignment_1 ) ) ;
+ public final void rule__NavigatingBarArgCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12957:1: ( ( ( rule__NavigatingBarArgCS__NameAssignment_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12958:1: ( ( rule__NavigatingBarArgCS__NameAssignment_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12958:1: ( ( rule__NavigatingBarArgCS__NameAssignment_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12959:1: ( rule__NavigatingBarArgCS__NameAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSAccess().getNameAssignment_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12960:1: ( rule__NavigatingBarArgCS__NameAssignment_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12960:2: rule__NavigatingBarArgCS__NameAssignment_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__NameAssignment_1_in_rule__NavigatingBarArgCS__Group__1__Impl26332);
+ rule__NavigatingBarArgCS__NameAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSAccess().getNameAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12970:1: rule__NavigatingBarArgCS__Group__2 : rule__NavigatingBarArgCS__Group__2__Impl ;
+ public final void rule__NavigatingBarArgCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12974:1: ( rule__NavigatingBarArgCS__Group__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12975:2: rule__NavigatingBarArgCS__Group__2__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__2__Impl_in_rule__NavigatingBarArgCS__Group__226362);
+ rule__NavigatingBarArgCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group__2"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12981:1: rule__NavigatingBarArgCS__Group__2__Impl : ( ( rule__NavigatingBarArgCS__Group_2__0 )? ) ;
+ public final void rule__NavigatingBarArgCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12985:1: ( ( ( rule__NavigatingBarArgCS__Group_2__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12986:1: ( ( rule__NavigatingBarArgCS__Group_2__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12986:1: ( ( rule__NavigatingBarArgCS__Group_2__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12987:1: ( rule__NavigatingBarArgCS__Group_2__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSAccess().getGroup_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12988:1: ( rule__NavigatingBarArgCS__Group_2__0 )?
+ int alt103=2;
+ int LA103_0 = input.LA(1);
+
+ if ( (LA103_0==74) ) {
+ alt103=1;
+ }
+ switch (alt103) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:12988:2: rule__NavigatingBarArgCS__Group_2__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__0_in_rule__NavigatingBarArgCS__Group__2__Impl26389);
+ rule__NavigatingBarArgCS__Group_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSAccess().getGroup_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13004:1: rule__NavigatingBarArgCS__Group_2__0 : rule__NavigatingBarArgCS__Group_2__0__Impl rule__NavigatingBarArgCS__Group_2__1 ;
+ public final void rule__NavigatingBarArgCS__Group_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13008:1: ( rule__NavigatingBarArgCS__Group_2__0__Impl rule__NavigatingBarArgCS__Group_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13009:2: rule__NavigatingBarArgCS__Group_2__0__Impl rule__NavigatingBarArgCS__Group_2__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__0__Impl_in_rule__NavigatingBarArgCS__Group_2__026426);
+ rule__NavigatingBarArgCS__Group_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__1_in_rule__NavigatingBarArgCS__Group_2__026429);
+ rule__NavigatingBarArgCS__Group_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group_2__0"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13016:1: rule__NavigatingBarArgCS__Group_2__0__Impl : ( ':' ) ;
+ public final void rule__NavigatingBarArgCS__Group_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13020:1: ( ( ':' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13021:1: ( ':' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13021:1: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13022:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSAccess().getColonKeyword_2_0());
+ }
+ match(input,74,FollowSets001.FOLLOW_74_in_rule__NavigatingBarArgCS__Group_2__0__Impl26457); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSAccess().getColonKeyword_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group_2__0__Impl"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13035:1: rule__NavigatingBarArgCS__Group_2__1 : rule__NavigatingBarArgCS__Group_2__1__Impl rule__NavigatingBarArgCS__Group_2__2 ;
+ public final void rule__NavigatingBarArgCS__Group_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13039:1: ( rule__NavigatingBarArgCS__Group_2__1__Impl rule__NavigatingBarArgCS__Group_2__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13040:2: rule__NavigatingBarArgCS__Group_2__1__Impl rule__NavigatingBarArgCS__Group_2__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__1__Impl_in_rule__NavigatingBarArgCS__Group_2__126488);
+ rule__NavigatingBarArgCS__Group_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__2_in_rule__NavigatingBarArgCS__Group_2__126491);
+ rule__NavigatingBarArgCS__Group_2__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group_2__1"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13047:1: rule__NavigatingBarArgCS__Group_2__1__Impl : ( ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 ) ) ;
+ public final void rule__NavigatingBarArgCS__Group_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13051:1: ( ( ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13052:1: ( ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13052:1: ( ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13053:1: ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeAssignment_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13054:1: ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13054:2: rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1_in_rule__NavigatingBarArgCS__Group_2__1__Impl26518);
+ rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeAssignment_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group_2__1__Impl"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group_2__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13064:1: rule__NavigatingBarArgCS__Group_2__2 : rule__NavigatingBarArgCS__Group_2__2__Impl ;
+ public final void rule__NavigatingBarArgCS__Group_2__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13068:1: ( rule__NavigatingBarArgCS__Group_2__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13069:2: rule__NavigatingBarArgCS__Group_2__2__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__2__Impl_in_rule__NavigatingBarArgCS__Group_2__226548);
+ rule__NavigatingBarArgCS__Group_2__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group_2__2"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group_2__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13075:1: rule__NavigatingBarArgCS__Group_2__2__Impl : ( ( rule__NavigatingBarArgCS__Group_2_2__0 )? ) ;
+ public final void rule__NavigatingBarArgCS__Group_2__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13079:1: ( ( ( rule__NavigatingBarArgCS__Group_2_2__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13080:1: ( ( rule__NavigatingBarArgCS__Group_2_2__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13080:1: ( ( rule__NavigatingBarArgCS__Group_2_2__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13081:1: ( rule__NavigatingBarArgCS__Group_2_2__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSAccess().getGroup_2_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13082:1: ( rule__NavigatingBarArgCS__Group_2_2__0 )?
+ int alt104=2;
+ int LA104_0 = input.LA(1);
+
+ if ( (LA104_0==46) ) {
+ alt104=1;
+ }
+ switch (alt104) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13082:2: rule__NavigatingBarArgCS__Group_2_2__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2_2__0_in_rule__NavigatingBarArgCS__Group_2__2__Impl26575);
+ rule__NavigatingBarArgCS__Group_2_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSAccess().getGroup_2_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group_2__2__Impl"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group_2_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13098:1: rule__NavigatingBarArgCS__Group_2_2__0 : rule__NavigatingBarArgCS__Group_2_2__0__Impl rule__NavigatingBarArgCS__Group_2_2__1 ;
+ public final void rule__NavigatingBarArgCS__Group_2_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13102:1: ( rule__NavigatingBarArgCS__Group_2_2__0__Impl rule__NavigatingBarArgCS__Group_2_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13103:2: rule__NavigatingBarArgCS__Group_2_2__0__Impl rule__NavigatingBarArgCS__Group_2_2__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2_2__0__Impl_in_rule__NavigatingBarArgCS__Group_2_2__026612);
+ rule__NavigatingBarArgCS__Group_2_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2_2__1_in_rule__NavigatingBarArgCS__Group_2_2__026615);
+ rule__NavigatingBarArgCS__Group_2_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group_2_2__0"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group_2_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13110:1: rule__NavigatingBarArgCS__Group_2_2__0__Impl : ( '=' ) ;
+ public final void rule__NavigatingBarArgCS__Group_2_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13114:1: ( ( '=' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13115:1: ( '=' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13115:1: ( '=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13116:1: '='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSAccess().getEqualsSignKeyword_2_2_0());
+ }
+ match(input,46,FollowSets001.FOLLOW_46_in_rule__NavigatingBarArgCS__Group_2_2__0__Impl26643); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSAccess().getEqualsSignKeyword_2_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group_2_2__0__Impl"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group_2_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13129:1: rule__NavigatingBarArgCS__Group_2_2__1 : rule__NavigatingBarArgCS__Group_2_2__1__Impl ;
+ public final void rule__NavigatingBarArgCS__Group_2_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13133:1: ( rule__NavigatingBarArgCS__Group_2_2__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13134:2: rule__NavigatingBarArgCS__Group_2_2__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2_2__1__Impl_in_rule__NavigatingBarArgCS__Group_2_2__126674);
+ rule__NavigatingBarArgCS__Group_2_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group_2_2__1"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__Group_2_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13140:1: rule__NavigatingBarArgCS__Group_2_2__1__Impl : ( ( rule__NavigatingBarArgCS__InitAssignment_2_2_1 ) ) ;
+ public final void rule__NavigatingBarArgCS__Group_2_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13144:1: ( ( ( rule__NavigatingBarArgCS__InitAssignment_2_2_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13145:1: ( ( rule__NavigatingBarArgCS__InitAssignment_2_2_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13145:1: ( ( rule__NavigatingBarArgCS__InitAssignment_2_2_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13146:1: ( rule__NavigatingBarArgCS__InitAssignment_2_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSAccess().getInitAssignment_2_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13147:1: ( rule__NavigatingBarArgCS__InitAssignment_2_2_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13147:2: rule__NavigatingBarArgCS__InitAssignment_2_2_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__InitAssignment_2_2_1_in_rule__NavigatingBarArgCS__Group_2_2__1__Impl26701);
+ rule__NavigatingBarArgCS__InitAssignment_2_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSAccess().getInitAssignment_2_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__Group_2_2__1__Impl"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13161:1: rule__NavigatingCommaArgCS__Group__0 : rule__NavigatingCommaArgCS__Group__0__Impl rule__NavigatingCommaArgCS__Group__1 ;
+ public final void rule__NavigatingCommaArgCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13165:1: ( rule__NavigatingCommaArgCS__Group__0__Impl rule__NavigatingCommaArgCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13166:2: rule__NavigatingCommaArgCS__Group__0__Impl rule__NavigatingCommaArgCS__Group__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__0__Impl_in_rule__NavigatingCommaArgCS__Group__026735);
+ rule__NavigatingCommaArgCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__1_in_rule__NavigatingCommaArgCS__Group__026738);
+ rule__NavigatingCommaArgCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group__0"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13173:1: rule__NavigatingCommaArgCS__Group__0__Impl : ( ( rule__NavigatingCommaArgCS__PrefixAssignment_0 ) ) ;
+ public final void rule__NavigatingCommaArgCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13177:1: ( ( ( rule__NavigatingCommaArgCS__PrefixAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13178:1: ( ( rule__NavigatingCommaArgCS__PrefixAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13178:1: ( ( rule__NavigatingCommaArgCS__PrefixAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13179:1: ( rule__NavigatingCommaArgCS__PrefixAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13180:1: ( rule__NavigatingCommaArgCS__PrefixAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13180:2: rule__NavigatingCommaArgCS__PrefixAssignment_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__PrefixAssignment_0_in_rule__NavigatingCommaArgCS__Group__0__Impl26765);
+ rule__NavigatingCommaArgCS__PrefixAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13190:1: rule__NavigatingCommaArgCS__Group__1 : rule__NavigatingCommaArgCS__Group__1__Impl rule__NavigatingCommaArgCS__Group__2 ;
+ public final void rule__NavigatingCommaArgCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13194:1: ( rule__NavigatingCommaArgCS__Group__1__Impl rule__NavigatingCommaArgCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13195:2: rule__NavigatingCommaArgCS__Group__1__Impl rule__NavigatingCommaArgCS__Group__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__1__Impl_in_rule__NavigatingCommaArgCS__Group__126795);
+ rule__NavigatingCommaArgCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__2_in_rule__NavigatingCommaArgCS__Group__126798);
+ rule__NavigatingCommaArgCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group__1"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13202:1: rule__NavigatingCommaArgCS__Group__1__Impl : ( ( rule__NavigatingCommaArgCS__NameAssignment_1 ) ) ;
+ public final void rule__NavigatingCommaArgCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13206:1: ( ( ( rule__NavigatingCommaArgCS__NameAssignment_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13207:1: ( ( rule__NavigatingCommaArgCS__NameAssignment_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13207:1: ( ( rule__NavigatingCommaArgCS__NameAssignment_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13208:1: ( rule__NavigatingCommaArgCS__NameAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSAccess().getNameAssignment_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13209:1: ( rule__NavigatingCommaArgCS__NameAssignment_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13209:2: rule__NavigatingCommaArgCS__NameAssignment_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__NameAssignment_1_in_rule__NavigatingCommaArgCS__Group__1__Impl26825);
+ rule__NavigatingCommaArgCS__NameAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSAccess().getNameAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13219:1: rule__NavigatingCommaArgCS__Group__2 : rule__NavigatingCommaArgCS__Group__2__Impl ;
+ public final void rule__NavigatingCommaArgCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13223:1: ( rule__NavigatingCommaArgCS__Group__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13224:2: rule__NavigatingCommaArgCS__Group__2__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__2__Impl_in_rule__NavigatingCommaArgCS__Group__226855);
+ rule__NavigatingCommaArgCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group__2"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13230:1: rule__NavigatingCommaArgCS__Group__2__Impl : ( ( rule__NavigatingCommaArgCS__Group_2__0 )? ) ;
+ public final void rule__NavigatingCommaArgCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13234:1: ( ( ( rule__NavigatingCommaArgCS__Group_2__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13235:1: ( ( rule__NavigatingCommaArgCS__Group_2__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13235:1: ( ( rule__NavigatingCommaArgCS__Group_2__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13236:1: ( rule__NavigatingCommaArgCS__Group_2__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13237:1: ( rule__NavigatingCommaArgCS__Group_2__0 )?
+ int alt105=2;
+ int LA105_0 = input.LA(1);
+
+ if ( (LA105_0==74) ) {
+ alt105=1;
+ }
+ switch (alt105) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13237:2: rule__NavigatingCommaArgCS__Group_2__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2__0_in_rule__NavigatingCommaArgCS__Group__2__Impl26882);
+ rule__NavigatingCommaArgCS__Group_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13253:1: rule__NavigatingCommaArgCS__Group_2__0 : rule__NavigatingCommaArgCS__Group_2__0__Impl rule__NavigatingCommaArgCS__Group_2__1 ;
+ public final void rule__NavigatingCommaArgCS__Group_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13257:1: ( rule__NavigatingCommaArgCS__Group_2__0__Impl rule__NavigatingCommaArgCS__Group_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13258:2: rule__NavigatingCommaArgCS__Group_2__0__Impl rule__NavigatingCommaArgCS__Group_2__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2__0__Impl_in_rule__NavigatingCommaArgCS__Group_2__026919);
+ rule__NavigatingCommaArgCS__Group_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2__1_in_rule__NavigatingCommaArgCS__Group_2__026922);
+ rule__NavigatingCommaArgCS__Group_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group_2__0"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13265:1: rule__NavigatingCommaArgCS__Group_2__0__Impl : ( ':' ) ;
+ public final void rule__NavigatingCommaArgCS__Group_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13269:1: ( ( ':' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13270:1: ( ':' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13270:1: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13271:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_0());
+ }
+ match(input,74,FollowSets001.FOLLOW_74_in_rule__NavigatingCommaArgCS__Group_2__0__Impl26950); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group_2__0__Impl"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13284:1: rule__NavigatingCommaArgCS__Group_2__1 : rule__NavigatingCommaArgCS__Group_2__1__Impl rule__NavigatingCommaArgCS__Group_2__2 ;
+ public final void rule__NavigatingCommaArgCS__Group_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13288:1: ( rule__NavigatingCommaArgCS__Group_2__1__Impl rule__NavigatingCommaArgCS__Group_2__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13289:2: rule__NavigatingCommaArgCS__Group_2__1__Impl rule__NavigatingCommaArgCS__Group_2__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2__1__Impl_in_rule__NavigatingCommaArgCS__Group_2__126981);
+ rule__NavigatingCommaArgCS__Group_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2__2_in_rule__NavigatingCommaArgCS__Group_2__126984);
+ rule__NavigatingCommaArgCS__Group_2__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group_2__1"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13296:1: rule__NavigatingCommaArgCS__Group_2__1__Impl : ( ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1 ) ) ;
+ public final void rule__NavigatingCommaArgCS__Group_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13300:1: ( ( ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13301:1: ( ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13301:1: ( ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13302:1: ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeAssignment_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13303:1: ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13303:2: rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1_in_rule__NavigatingCommaArgCS__Group_2__1__Impl27011);
+ rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeAssignment_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group_2__1__Impl"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group_2__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13313:1: rule__NavigatingCommaArgCS__Group_2__2 : rule__NavigatingCommaArgCS__Group_2__2__Impl ;
+ public final void rule__NavigatingCommaArgCS__Group_2__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13317:1: ( rule__NavigatingCommaArgCS__Group_2__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13318:2: rule__NavigatingCommaArgCS__Group_2__2__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2__2__Impl_in_rule__NavigatingCommaArgCS__Group_2__227041);
+ rule__NavigatingCommaArgCS__Group_2__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group_2__2"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group_2__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13324:1: rule__NavigatingCommaArgCS__Group_2__2__Impl : ( ( rule__NavigatingCommaArgCS__Group_2_2__0 )? ) ;
+ public final void rule__NavigatingCommaArgCS__Group_2__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13328:1: ( ( ( rule__NavigatingCommaArgCS__Group_2_2__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13329:1: ( ( rule__NavigatingCommaArgCS__Group_2_2__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13329:1: ( ( rule__NavigatingCommaArgCS__Group_2_2__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13330:1: ( rule__NavigatingCommaArgCS__Group_2_2__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13331:1: ( rule__NavigatingCommaArgCS__Group_2_2__0 )?
+ int alt106=2;
+ int LA106_0 = input.LA(1);
+
+ if ( (LA106_0==46) ) {
+ alt106=1;
+ }
+ switch (alt106) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13331:2: rule__NavigatingCommaArgCS__Group_2_2__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_2__0_in_rule__NavigatingCommaArgCS__Group_2__2__Impl27068);
+ rule__NavigatingCommaArgCS__Group_2_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group_2__2__Impl"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13347:1: rule__NavigatingCommaArgCS__Group_2_2__0 : rule__NavigatingCommaArgCS__Group_2_2__0__Impl rule__NavigatingCommaArgCS__Group_2_2__1 ;
+ public final void rule__NavigatingCommaArgCS__Group_2_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13351:1: ( rule__NavigatingCommaArgCS__Group_2_2__0__Impl rule__NavigatingCommaArgCS__Group_2_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13352:2: rule__NavigatingCommaArgCS__Group_2_2__0__Impl rule__NavigatingCommaArgCS__Group_2_2__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_2__0__Impl_in_rule__NavigatingCommaArgCS__Group_2_2__027105);
+ rule__NavigatingCommaArgCS__Group_2_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_2__1_in_rule__NavigatingCommaArgCS__Group_2_2__027108);
+ rule__NavigatingCommaArgCS__Group_2_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group_2_2__0"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13359:1: rule__NavigatingCommaArgCS__Group_2_2__0__Impl : ( '=' ) ;
+ public final void rule__NavigatingCommaArgCS__Group_2_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13363:1: ( ( '=' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13364:1: ( '=' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13364:1: ( '=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13365:1: '='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_2_0());
+ }
+ match(input,46,FollowSets001.FOLLOW_46_in_rule__NavigatingCommaArgCS__Group_2_2__0__Impl27136); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group_2_2__0__Impl"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13378:1: rule__NavigatingCommaArgCS__Group_2_2__1 : rule__NavigatingCommaArgCS__Group_2_2__1__Impl ;
+ public final void rule__NavigatingCommaArgCS__Group_2_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13382:1: ( rule__NavigatingCommaArgCS__Group_2_2__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13383:2: rule__NavigatingCommaArgCS__Group_2_2__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_2__1__Impl_in_rule__NavigatingCommaArgCS__Group_2_2__127167);
+ rule__NavigatingCommaArgCS__Group_2_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group_2_2__1"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13389:1: rule__NavigatingCommaArgCS__Group_2_2__1__Impl : ( ( rule__NavigatingCommaArgCS__InitAssignment_2_2_1 ) ) ;
+ public final void rule__NavigatingCommaArgCS__Group_2_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13393:1: ( ( ( rule__NavigatingCommaArgCS__InitAssignment_2_2_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13394:1: ( ( rule__NavigatingCommaArgCS__InitAssignment_2_2_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13394:1: ( ( rule__NavigatingCommaArgCS__InitAssignment_2_2_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13395:1: ( rule__NavigatingCommaArgCS__InitAssignment_2_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSAccess().getInitAssignment_2_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13396:1: ( rule__NavigatingCommaArgCS__InitAssignment_2_2_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13396:2: rule__NavigatingCommaArgCS__InitAssignment_2_2_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__InitAssignment_2_2_1_in_rule__NavigatingCommaArgCS__Group_2_2__1__Impl27194);
+ rule__NavigatingCommaArgCS__InitAssignment_2_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSAccess().getInitAssignment_2_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__Group_2_2__1__Impl"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13410:1: rule__NavigatingSemiArgCS__Group__0 : rule__NavigatingSemiArgCS__Group__0__Impl rule__NavigatingSemiArgCS__Group__1 ;
+ public final void rule__NavigatingSemiArgCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13414:1: ( rule__NavigatingSemiArgCS__Group__0__Impl rule__NavigatingSemiArgCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13415:2: rule__NavigatingSemiArgCS__Group__0__Impl rule__NavigatingSemiArgCS__Group__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__0__Impl_in_rule__NavigatingSemiArgCS__Group__027228);
+ rule__NavigatingSemiArgCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__1_in_rule__NavigatingSemiArgCS__Group__027231);
+ rule__NavigatingSemiArgCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group__0"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13422:1: rule__NavigatingSemiArgCS__Group__0__Impl : ( ( rule__NavigatingSemiArgCS__PrefixAssignment_0 ) ) ;
+ public final void rule__NavigatingSemiArgCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13426:1: ( ( ( rule__NavigatingSemiArgCS__PrefixAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13427:1: ( ( rule__NavigatingSemiArgCS__PrefixAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13427:1: ( ( rule__NavigatingSemiArgCS__PrefixAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13428:1: ( rule__NavigatingSemiArgCS__PrefixAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13429:1: ( rule__NavigatingSemiArgCS__PrefixAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13429:2: rule__NavigatingSemiArgCS__PrefixAssignment_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__PrefixAssignment_0_in_rule__NavigatingSemiArgCS__Group__0__Impl27258);
+ rule__NavigatingSemiArgCS__PrefixAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13439:1: rule__NavigatingSemiArgCS__Group__1 : rule__NavigatingSemiArgCS__Group__1__Impl rule__NavigatingSemiArgCS__Group__2 ;
+ public final void rule__NavigatingSemiArgCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13443:1: ( rule__NavigatingSemiArgCS__Group__1__Impl rule__NavigatingSemiArgCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13444:2: rule__NavigatingSemiArgCS__Group__1__Impl rule__NavigatingSemiArgCS__Group__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__1__Impl_in_rule__NavigatingSemiArgCS__Group__127288);
+ rule__NavigatingSemiArgCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__2_in_rule__NavigatingSemiArgCS__Group__127291);
+ rule__NavigatingSemiArgCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group__1"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13451:1: rule__NavigatingSemiArgCS__Group__1__Impl : ( ( rule__NavigatingSemiArgCS__NameAssignment_1 ) ) ;
+ public final void rule__NavigatingSemiArgCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13455:1: ( ( ( rule__NavigatingSemiArgCS__NameAssignment_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13456:1: ( ( rule__NavigatingSemiArgCS__NameAssignment_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13456:1: ( ( rule__NavigatingSemiArgCS__NameAssignment_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13457:1: ( rule__NavigatingSemiArgCS__NameAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSAccess().getNameAssignment_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13458:1: ( rule__NavigatingSemiArgCS__NameAssignment_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13458:2: rule__NavigatingSemiArgCS__NameAssignment_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__NameAssignment_1_in_rule__NavigatingSemiArgCS__Group__1__Impl27318);
+ rule__NavigatingSemiArgCS__NameAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSAccess().getNameAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13468:1: rule__NavigatingSemiArgCS__Group__2 : rule__NavigatingSemiArgCS__Group__2__Impl ;
+ public final void rule__NavigatingSemiArgCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13472:1: ( rule__NavigatingSemiArgCS__Group__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13473:2: rule__NavigatingSemiArgCS__Group__2__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__2__Impl_in_rule__NavigatingSemiArgCS__Group__227348);
+ rule__NavigatingSemiArgCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group__2"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13479:1: rule__NavigatingSemiArgCS__Group__2__Impl : ( ( rule__NavigatingSemiArgCS__Group_2__0 )? ) ;
+ public final void rule__NavigatingSemiArgCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13483:1: ( ( ( rule__NavigatingSemiArgCS__Group_2__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13484:1: ( ( rule__NavigatingSemiArgCS__Group_2__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13484:1: ( ( rule__NavigatingSemiArgCS__Group_2__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13485:1: ( rule__NavigatingSemiArgCS__Group_2__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSAccess().getGroup_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13486:1: ( rule__NavigatingSemiArgCS__Group_2__0 )?
+ int alt107=2;
+ int LA107_0 = input.LA(1);
+
+ if ( (LA107_0==74) ) {
+ alt107=1;
+ }
+ switch (alt107) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13486:2: rule__NavigatingSemiArgCS__Group_2__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__0_in_rule__NavigatingSemiArgCS__Group__2__Impl27375);
+ rule__NavigatingSemiArgCS__Group_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSAccess().getGroup_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13502:1: rule__NavigatingSemiArgCS__Group_2__0 : rule__NavigatingSemiArgCS__Group_2__0__Impl rule__NavigatingSemiArgCS__Group_2__1 ;
+ public final void rule__NavigatingSemiArgCS__Group_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13506:1: ( rule__NavigatingSemiArgCS__Group_2__0__Impl rule__NavigatingSemiArgCS__Group_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13507:2: rule__NavigatingSemiArgCS__Group_2__0__Impl rule__NavigatingSemiArgCS__Group_2__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__0__Impl_in_rule__NavigatingSemiArgCS__Group_2__027412);
+ rule__NavigatingSemiArgCS__Group_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__1_in_rule__NavigatingSemiArgCS__Group_2__027415);
+ rule__NavigatingSemiArgCS__Group_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group_2__0"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13514:1: rule__NavigatingSemiArgCS__Group_2__0__Impl : ( ':' ) ;
+ public final void rule__NavigatingSemiArgCS__Group_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13518:1: ( ( ':' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13519:1: ( ':' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13519:1: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13520:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSAccess().getColonKeyword_2_0());
+ }
+ match(input,74,FollowSets001.FOLLOW_74_in_rule__NavigatingSemiArgCS__Group_2__0__Impl27443); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSAccess().getColonKeyword_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group_2__0__Impl"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13533:1: rule__NavigatingSemiArgCS__Group_2__1 : rule__NavigatingSemiArgCS__Group_2__1__Impl rule__NavigatingSemiArgCS__Group_2__2 ;
+ public final void rule__NavigatingSemiArgCS__Group_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13537:1: ( rule__NavigatingSemiArgCS__Group_2__1__Impl rule__NavigatingSemiArgCS__Group_2__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13538:2: rule__NavigatingSemiArgCS__Group_2__1__Impl rule__NavigatingSemiArgCS__Group_2__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__1__Impl_in_rule__NavigatingSemiArgCS__Group_2__127474);
+ rule__NavigatingSemiArgCS__Group_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__2_in_rule__NavigatingSemiArgCS__Group_2__127477);
+ rule__NavigatingSemiArgCS__Group_2__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group_2__1"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13545:1: rule__NavigatingSemiArgCS__Group_2__1__Impl : ( ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 ) ) ;
+ public final void rule__NavigatingSemiArgCS__Group_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13549:1: ( ( ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13550:1: ( ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13550:1: ( ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13551:1: ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeAssignment_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13552:1: ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13552:2: rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1_in_rule__NavigatingSemiArgCS__Group_2__1__Impl27504);
+ rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeAssignment_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group_2__1__Impl"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group_2__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13562:1: rule__NavigatingSemiArgCS__Group_2__2 : rule__NavigatingSemiArgCS__Group_2__2__Impl ;
+ public final void rule__NavigatingSemiArgCS__Group_2__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13566:1: ( rule__NavigatingSemiArgCS__Group_2__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13567:2: rule__NavigatingSemiArgCS__Group_2__2__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__2__Impl_in_rule__NavigatingSemiArgCS__Group_2__227534);
+ rule__NavigatingSemiArgCS__Group_2__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group_2__2"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group_2__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13573:1: rule__NavigatingSemiArgCS__Group_2__2__Impl : ( ( rule__NavigatingSemiArgCS__Group_2_2__0 )? ) ;
+ public final void rule__NavigatingSemiArgCS__Group_2__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13577:1: ( ( ( rule__NavigatingSemiArgCS__Group_2_2__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13578:1: ( ( rule__NavigatingSemiArgCS__Group_2_2__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13578:1: ( ( rule__NavigatingSemiArgCS__Group_2_2__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13579:1: ( rule__NavigatingSemiArgCS__Group_2_2__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSAccess().getGroup_2_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13580:1: ( rule__NavigatingSemiArgCS__Group_2_2__0 )?
+ int alt108=2;
+ int LA108_0 = input.LA(1);
+
+ if ( (LA108_0==46) ) {
+ alt108=1;
+ }
+ switch (alt108) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13580:2: rule__NavigatingSemiArgCS__Group_2_2__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__0_in_rule__NavigatingSemiArgCS__Group_2__2__Impl27561);
+ rule__NavigatingSemiArgCS__Group_2_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSAccess().getGroup_2_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group_2__2__Impl"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group_2_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13596:1: rule__NavigatingSemiArgCS__Group_2_2__0 : rule__NavigatingSemiArgCS__Group_2_2__0__Impl rule__NavigatingSemiArgCS__Group_2_2__1 ;
+ public final void rule__NavigatingSemiArgCS__Group_2_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13600:1: ( rule__NavigatingSemiArgCS__Group_2_2__0__Impl rule__NavigatingSemiArgCS__Group_2_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13601:2: rule__NavigatingSemiArgCS__Group_2_2__0__Impl rule__NavigatingSemiArgCS__Group_2_2__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__0__Impl_in_rule__NavigatingSemiArgCS__Group_2_2__027598);
+ rule__NavigatingSemiArgCS__Group_2_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__1_in_rule__NavigatingSemiArgCS__Group_2_2__027601);
+ rule__NavigatingSemiArgCS__Group_2_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group_2_2__0"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group_2_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13608:1: rule__NavigatingSemiArgCS__Group_2_2__0__Impl : ( '=' ) ;
+ public final void rule__NavigatingSemiArgCS__Group_2_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13612:1: ( ( '=' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13613:1: ( '=' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13613:1: ( '=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13614:1: '='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSAccess().getEqualsSignKeyword_2_2_0());
+ }
+ match(input,46,FollowSets001.FOLLOW_46_in_rule__NavigatingSemiArgCS__Group_2_2__0__Impl27629); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSAccess().getEqualsSignKeyword_2_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group_2_2__0__Impl"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group_2_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13627:1: rule__NavigatingSemiArgCS__Group_2_2__1 : rule__NavigatingSemiArgCS__Group_2_2__1__Impl ;
+ public final void rule__NavigatingSemiArgCS__Group_2_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13631:1: ( rule__NavigatingSemiArgCS__Group_2_2__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13632:2: rule__NavigatingSemiArgCS__Group_2_2__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__1__Impl_in_rule__NavigatingSemiArgCS__Group_2_2__127660);
+ rule__NavigatingSemiArgCS__Group_2_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group_2_2__1"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__Group_2_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13638:1: rule__NavigatingSemiArgCS__Group_2_2__1__Impl : ( ( rule__NavigatingSemiArgCS__InitAssignment_2_2_1 ) ) ;
+ public final void rule__NavigatingSemiArgCS__Group_2_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13642:1: ( ( ( rule__NavigatingSemiArgCS__InitAssignment_2_2_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13643:1: ( ( rule__NavigatingSemiArgCS__InitAssignment_2_2_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13643:1: ( ( rule__NavigatingSemiArgCS__InitAssignment_2_2_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13644:1: ( rule__NavigatingSemiArgCS__InitAssignment_2_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSAccess().getInitAssignment_2_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13645:1: ( rule__NavigatingSemiArgCS__InitAssignment_2_2_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13645:2: rule__NavigatingSemiArgCS__InitAssignment_2_2_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__InitAssignment_2_2_1_in_rule__NavigatingSemiArgCS__Group_2_2__1__Impl27687);
+ rule__NavigatingSemiArgCS__InitAssignment_2_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSAccess().getInitAssignment_2_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__Group_2_2__1__Impl"
+
+
+ // $ANTLR start "rule__IfExpCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13659:1: rule__IfExpCS__Group__0 : rule__IfExpCS__Group__0__Impl rule__IfExpCS__Group__1 ;
+ public final void rule__IfExpCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13663:1: ( rule__IfExpCS__Group__0__Impl rule__IfExpCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13664:2: rule__IfExpCS__Group__0__Impl rule__IfExpCS__Group__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__0__Impl_in_rule__IfExpCS__Group__027721);
+ rule__IfExpCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__1_in_rule__IfExpCS__Group__027724);
+ rule__IfExpCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__Group__0"
+
+
+ // $ANTLR start "rule__IfExpCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13671:1: rule__IfExpCS__Group__0__Impl : ( 'if' ) ;
+ public final void rule__IfExpCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13675:1: ( ( 'if' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13676:1: ( 'if' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13676:1: ( 'if' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13677:1: 'if'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIfExpCSAccess().getIfKeyword_0());
+ }
+ match(input,84,FollowSets001.FOLLOW_84_in_rule__IfExpCS__Group__0__Impl27752); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIfExpCSAccess().getIfKeyword_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__IfExpCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13690:1: rule__IfExpCS__Group__1 : rule__IfExpCS__Group__1__Impl rule__IfExpCS__Group__2 ;
+ public final void rule__IfExpCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13694:1: ( rule__IfExpCS__Group__1__Impl rule__IfExpCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13695:2: rule__IfExpCS__Group__1__Impl rule__IfExpCS__Group__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__1__Impl_in_rule__IfExpCS__Group__127783);
+ rule__IfExpCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__2_in_rule__IfExpCS__Group__127786);
+ rule__IfExpCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__Group__1"
+
+
+ // $ANTLR start "rule__IfExpCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13702:1: rule__IfExpCS__Group__1__Impl : ( ( rule__IfExpCS__ConditionAssignment_1 ) ) ;
+ public final void rule__IfExpCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13706:1: ( ( ( rule__IfExpCS__ConditionAssignment_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13707:1: ( ( rule__IfExpCS__ConditionAssignment_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13707:1: ( ( rule__IfExpCS__ConditionAssignment_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13708:1: ( rule__IfExpCS__ConditionAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIfExpCSAccess().getConditionAssignment_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13709:1: ( rule__IfExpCS__ConditionAssignment_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13709:2: rule__IfExpCS__ConditionAssignment_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__ConditionAssignment_1_in_rule__IfExpCS__Group__1__Impl27813);
+ rule__IfExpCS__ConditionAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIfExpCSAccess().getConditionAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__IfExpCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13719:1: rule__IfExpCS__Group__2 : rule__IfExpCS__Group__2__Impl rule__IfExpCS__Group__3 ;
+ public final void rule__IfExpCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13723:1: ( rule__IfExpCS__Group__2__Impl rule__IfExpCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13724:2: rule__IfExpCS__Group__2__Impl rule__IfExpCS__Group__3
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__2__Impl_in_rule__IfExpCS__Group__227843);
+ rule__IfExpCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__3_in_rule__IfExpCS__Group__227846);
+ rule__IfExpCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__Group__2"
+
+
+ // $ANTLR start "rule__IfExpCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13731:1: rule__IfExpCS__Group__2__Impl : ( 'then' ) ;
+ public final void rule__IfExpCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13735:1: ( ( 'then' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13736:1: ( 'then' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13736:1: ( 'then' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13737:1: 'then'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIfExpCSAccess().getThenKeyword_2());
+ }
+ match(input,85,FollowSets001.FOLLOW_85_in_rule__IfExpCS__Group__2__Impl27874); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIfExpCSAccess().getThenKeyword_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__IfExpCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13750:1: rule__IfExpCS__Group__3 : rule__IfExpCS__Group__3__Impl rule__IfExpCS__Group__4 ;
+ public final void rule__IfExpCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13754:1: ( rule__IfExpCS__Group__3__Impl rule__IfExpCS__Group__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13755:2: rule__IfExpCS__Group__3__Impl rule__IfExpCS__Group__4
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__3__Impl_in_rule__IfExpCS__Group__327905);
+ rule__IfExpCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__4_in_rule__IfExpCS__Group__327908);
+ rule__IfExpCS__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__Group__3"
+
+
+ // $ANTLR start "rule__IfExpCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13762:1: rule__IfExpCS__Group__3__Impl : ( ( rule__IfExpCS__ThenExpressionAssignment_3 ) ) ;
+ public final void rule__IfExpCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13766:1: ( ( ( rule__IfExpCS__ThenExpressionAssignment_3 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13767:1: ( ( rule__IfExpCS__ThenExpressionAssignment_3 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13767:1: ( ( rule__IfExpCS__ThenExpressionAssignment_3 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13768:1: ( rule__IfExpCS__ThenExpressionAssignment_3 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIfExpCSAccess().getThenExpressionAssignment_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13769:1: ( rule__IfExpCS__ThenExpressionAssignment_3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13769:2: rule__IfExpCS__ThenExpressionAssignment_3
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__ThenExpressionAssignment_3_in_rule__IfExpCS__Group__3__Impl27935);
+ rule__IfExpCS__ThenExpressionAssignment_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIfExpCSAccess().getThenExpressionAssignment_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__IfExpCS__Group__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13779:1: rule__IfExpCS__Group__4 : rule__IfExpCS__Group__4__Impl rule__IfExpCS__Group__5 ;
+ public final void rule__IfExpCS__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13783:1: ( rule__IfExpCS__Group__4__Impl rule__IfExpCS__Group__5 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13784:2: rule__IfExpCS__Group__4__Impl rule__IfExpCS__Group__5
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__4__Impl_in_rule__IfExpCS__Group__427965);
+ rule__IfExpCS__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__5_in_rule__IfExpCS__Group__427968);
+ rule__IfExpCS__Group__5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__Group__4"
+
+
+ // $ANTLR start "rule__IfExpCS__Group__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13791:1: rule__IfExpCS__Group__4__Impl : ( 'else' ) ;
+ public final void rule__IfExpCS__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13795:1: ( ( 'else' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13796:1: ( 'else' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13796:1: ( 'else' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13797:1: 'else'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIfExpCSAccess().getElseKeyword_4());
+ }
+ match(input,86,FollowSets001.FOLLOW_86_in_rule__IfExpCS__Group__4__Impl27996); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIfExpCSAccess().getElseKeyword_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__Group__4__Impl"
+
+
+ // $ANTLR start "rule__IfExpCS__Group__5"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13810:1: rule__IfExpCS__Group__5 : rule__IfExpCS__Group__5__Impl rule__IfExpCS__Group__6 ;
+ public final void rule__IfExpCS__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13814:1: ( rule__IfExpCS__Group__5__Impl rule__IfExpCS__Group__6 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13815:2: rule__IfExpCS__Group__5__Impl rule__IfExpCS__Group__6
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__5__Impl_in_rule__IfExpCS__Group__528027);
+ rule__IfExpCS__Group__5__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__6_in_rule__IfExpCS__Group__528030);
+ rule__IfExpCS__Group__6();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__Group__5"
+
+
+ // $ANTLR start "rule__IfExpCS__Group__5__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13822:1: rule__IfExpCS__Group__5__Impl : ( ( rule__IfExpCS__ElseExpressionAssignment_5 ) ) ;
+ public final void rule__IfExpCS__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13826:1: ( ( ( rule__IfExpCS__ElseExpressionAssignment_5 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13827:1: ( ( rule__IfExpCS__ElseExpressionAssignment_5 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13827:1: ( ( rule__IfExpCS__ElseExpressionAssignment_5 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13828:1: ( rule__IfExpCS__ElseExpressionAssignment_5 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIfExpCSAccess().getElseExpressionAssignment_5());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13829:1: ( rule__IfExpCS__ElseExpressionAssignment_5 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13829:2: rule__IfExpCS__ElseExpressionAssignment_5
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__ElseExpressionAssignment_5_in_rule__IfExpCS__Group__5__Impl28057);
+ rule__IfExpCS__ElseExpressionAssignment_5();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIfExpCSAccess().getElseExpressionAssignment_5());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__Group__5__Impl"
+
+
+ // $ANTLR start "rule__IfExpCS__Group__6"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13839:1: rule__IfExpCS__Group__6 : rule__IfExpCS__Group__6__Impl ;
+ public final void rule__IfExpCS__Group__6() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13843:1: ( rule__IfExpCS__Group__6__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13844:2: rule__IfExpCS__Group__6__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__6__Impl_in_rule__IfExpCS__Group__628087);
+ rule__IfExpCS__Group__6__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__Group__6"
+
+
+ // $ANTLR start "rule__IfExpCS__Group__6__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13850:1: rule__IfExpCS__Group__6__Impl : ( 'endif' ) ;
+ public final void rule__IfExpCS__Group__6__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13854:1: ( ( 'endif' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13855:1: ( 'endif' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13855:1: ( 'endif' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13856:1: 'endif'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIfExpCSAccess().getEndifKeyword_6());
+ }
+ match(input,87,FollowSets001.FOLLOW_87_in_rule__IfExpCS__Group__6__Impl28115); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIfExpCSAccess().getEndifKeyword_6());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__Group__6__Impl"
+
+
+ // $ANTLR start "rule__LetExpCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13883:1: rule__LetExpCS__Group__0 : rule__LetExpCS__Group__0__Impl rule__LetExpCS__Group__1 ;
+ public final void rule__LetExpCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13887:1: ( rule__LetExpCS__Group__0__Impl rule__LetExpCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13888:2: rule__LetExpCS__Group__0__Impl rule__LetExpCS__Group__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__0__Impl_in_rule__LetExpCS__Group__028160);
+ rule__LetExpCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__1_in_rule__LetExpCS__Group__028163);
+ rule__LetExpCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__Group__0"
+
+
+ // $ANTLR start "rule__LetExpCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13895:1: rule__LetExpCS__Group__0__Impl : ( 'let' ) ;
+ public final void rule__LetExpCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13899:1: ( ( 'let' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13900:1: ( 'let' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13900:1: ( 'let' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13901:1: 'let'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetExpCSAccess().getLetKeyword_0());
+ }
+ match(input,88,FollowSets001.FOLLOW_88_in_rule__LetExpCS__Group__0__Impl28191); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetExpCSAccess().getLetKeyword_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__LetExpCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13914:1: rule__LetExpCS__Group__1 : rule__LetExpCS__Group__1__Impl rule__LetExpCS__Group__2 ;
+ public final void rule__LetExpCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13918:1: ( rule__LetExpCS__Group__1__Impl rule__LetExpCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13919:2: rule__LetExpCS__Group__1__Impl rule__LetExpCS__Group__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__1__Impl_in_rule__LetExpCS__Group__128222);
+ rule__LetExpCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__2_in_rule__LetExpCS__Group__128225);
+ rule__LetExpCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__Group__1"
+
+
+ // $ANTLR start "rule__LetExpCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13926:1: rule__LetExpCS__Group__1__Impl : ( ( rule__LetExpCS__VariableAssignment_1 ) ) ;
+ public final void rule__LetExpCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13930:1: ( ( ( rule__LetExpCS__VariableAssignment_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13931:1: ( ( rule__LetExpCS__VariableAssignment_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13931:1: ( ( rule__LetExpCS__VariableAssignment_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13932:1: ( rule__LetExpCS__VariableAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetExpCSAccess().getVariableAssignment_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13933:1: ( rule__LetExpCS__VariableAssignment_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13933:2: rule__LetExpCS__VariableAssignment_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__VariableAssignment_1_in_rule__LetExpCS__Group__1__Impl28252);
+ rule__LetExpCS__VariableAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetExpCSAccess().getVariableAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__LetExpCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13943:1: rule__LetExpCS__Group__2 : rule__LetExpCS__Group__2__Impl rule__LetExpCS__Group__3 ;
+ public final void rule__LetExpCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13947:1: ( rule__LetExpCS__Group__2__Impl rule__LetExpCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13948:2: rule__LetExpCS__Group__2__Impl rule__LetExpCS__Group__3
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__2__Impl_in_rule__LetExpCS__Group__228282);
+ rule__LetExpCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__3_in_rule__LetExpCS__Group__228285);
+ rule__LetExpCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__Group__2"
+
+
+ // $ANTLR start "rule__LetExpCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13955:1: rule__LetExpCS__Group__2__Impl : ( ( rule__LetExpCS__Group_2__0 )* ) ;
+ public final void rule__LetExpCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13959:1: ( ( ( rule__LetExpCS__Group_2__0 )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13960:1: ( ( rule__LetExpCS__Group_2__0 )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13960:1: ( ( rule__LetExpCS__Group_2__0 )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13961:1: ( rule__LetExpCS__Group_2__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetExpCSAccess().getGroup_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13962:1: ( rule__LetExpCS__Group_2__0 )*
+ loop109:
+ do {
+ int alt109=2;
+ int LA109_0 = input.LA(1);
+
+ if ( (LA109_0==73) ) {
+ alt109=1;
+ }
+
+
+ switch (alt109) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13962:2: rule__LetExpCS__Group_2__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group_2__0_in_rule__LetExpCS__Group__2__Impl28312);
+ rule__LetExpCS__Group_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop109;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetExpCSAccess().getGroup_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__LetExpCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13972:1: rule__LetExpCS__Group__3 : rule__LetExpCS__Group__3__Impl rule__LetExpCS__Group__4 ;
+ public final void rule__LetExpCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13976:1: ( rule__LetExpCS__Group__3__Impl rule__LetExpCS__Group__4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13977:2: rule__LetExpCS__Group__3__Impl rule__LetExpCS__Group__4
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__3__Impl_in_rule__LetExpCS__Group__328343);
+ rule__LetExpCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__4_in_rule__LetExpCS__Group__328346);
+ rule__LetExpCS__Group__4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__Group__3"
+
+
+ // $ANTLR start "rule__LetExpCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13984:1: rule__LetExpCS__Group__3__Impl : ( 'in' ) ;
+ public final void rule__LetExpCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13988:1: ( ( 'in' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13989:1: ( 'in' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13989:1: ( 'in' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:13990:1: 'in'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetExpCSAccess().getInKeyword_3());
+ }
+ match(input,89,FollowSets001.FOLLOW_89_in_rule__LetExpCS__Group__3__Impl28374); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetExpCSAccess().getInKeyword_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__LetExpCS__Group__4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14003:1: rule__LetExpCS__Group__4 : rule__LetExpCS__Group__4__Impl ;
+ public final void rule__LetExpCS__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14007:1: ( rule__LetExpCS__Group__4__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14008:2: rule__LetExpCS__Group__4__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__4__Impl_in_rule__LetExpCS__Group__428405);
+ rule__LetExpCS__Group__4__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__Group__4"
+
+
+ // $ANTLR start "rule__LetExpCS__Group__4__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14014:1: rule__LetExpCS__Group__4__Impl : ( ( rule__LetExpCS__InAssignment_4 ) ) ;
+ public final void rule__LetExpCS__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14018:1: ( ( ( rule__LetExpCS__InAssignment_4 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14019:1: ( ( rule__LetExpCS__InAssignment_4 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14019:1: ( ( rule__LetExpCS__InAssignment_4 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14020:1: ( rule__LetExpCS__InAssignment_4 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetExpCSAccess().getInAssignment_4());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14021:1: ( rule__LetExpCS__InAssignment_4 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14021:2: rule__LetExpCS__InAssignment_4
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__InAssignment_4_in_rule__LetExpCS__Group__4__Impl28432);
+ rule__LetExpCS__InAssignment_4();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetExpCSAccess().getInAssignment_4());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__Group__4__Impl"
+
+
+ // $ANTLR start "rule__LetExpCS__Group_2__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14041:1: rule__LetExpCS__Group_2__0 : rule__LetExpCS__Group_2__0__Impl rule__LetExpCS__Group_2__1 ;
+ public final void rule__LetExpCS__Group_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14045:1: ( rule__LetExpCS__Group_2__0__Impl rule__LetExpCS__Group_2__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14046:2: rule__LetExpCS__Group_2__0__Impl rule__LetExpCS__Group_2__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group_2__0__Impl_in_rule__LetExpCS__Group_2__028472);
+ rule__LetExpCS__Group_2__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group_2__1_in_rule__LetExpCS__Group_2__028475);
+ rule__LetExpCS__Group_2__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__Group_2__0"
+
+
+ // $ANTLR start "rule__LetExpCS__Group_2__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14053:1: rule__LetExpCS__Group_2__0__Impl : ( ',' ) ;
+ public final void rule__LetExpCS__Group_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14057:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14058:1: ( ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14058:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14059:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0());
+ }
+ match(input,73,FollowSets001.FOLLOW_73_in_rule__LetExpCS__Group_2__0__Impl28503); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__Group_2__0__Impl"
+
+
+ // $ANTLR start "rule__LetExpCS__Group_2__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14072:1: rule__LetExpCS__Group_2__1 : rule__LetExpCS__Group_2__1__Impl ;
+ public final void rule__LetExpCS__Group_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14076:1: ( rule__LetExpCS__Group_2__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14077:2: rule__LetExpCS__Group_2__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group_2__1__Impl_in_rule__LetExpCS__Group_2__128534);
+ rule__LetExpCS__Group_2__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__Group_2__1"
+
+
+ // $ANTLR start "rule__LetExpCS__Group_2__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14083:1: rule__LetExpCS__Group_2__1__Impl : ( ( rule__LetExpCS__VariableAssignment_2_1 ) ) ;
+ public final void rule__LetExpCS__Group_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14087:1: ( ( ( rule__LetExpCS__VariableAssignment_2_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14088:1: ( ( rule__LetExpCS__VariableAssignment_2_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14088:1: ( ( rule__LetExpCS__VariableAssignment_2_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14089:1: ( rule__LetExpCS__VariableAssignment_2_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetExpCSAccess().getVariableAssignment_2_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14090:1: ( rule__LetExpCS__VariableAssignment_2_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14090:2: rule__LetExpCS__VariableAssignment_2_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__VariableAssignment_2_1_in_rule__LetExpCS__Group_2__1__Impl28561);
+ rule__LetExpCS__VariableAssignment_2_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetExpCSAccess().getVariableAssignment_2_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__Group_2__1__Impl"
+
+
+ // $ANTLR start "rule__LetVariableCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14104:1: rule__LetVariableCS__Group__0 : rule__LetVariableCS__Group__0__Impl rule__LetVariableCS__Group__1 ;
+ public final void rule__LetVariableCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14108:1: ( rule__LetVariableCS__Group__0__Impl rule__LetVariableCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14109:2: rule__LetVariableCS__Group__0__Impl rule__LetVariableCS__Group__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__0__Impl_in_rule__LetVariableCS__Group__028595);
+ rule__LetVariableCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__1_in_rule__LetVariableCS__Group__028598);
+ rule__LetVariableCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__Group__0"
+
+
+ // $ANTLR start "rule__LetVariableCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14116:1: rule__LetVariableCS__Group__0__Impl : ( ( rule__LetVariableCS__NameAssignment_0 ) ) ;
+ public final void rule__LetVariableCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14120:1: ( ( ( rule__LetVariableCS__NameAssignment_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14121:1: ( ( rule__LetVariableCS__NameAssignment_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14121:1: ( ( rule__LetVariableCS__NameAssignment_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14122:1: ( rule__LetVariableCS__NameAssignment_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetVariableCSAccess().getNameAssignment_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14123:1: ( rule__LetVariableCS__NameAssignment_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14123:2: rule__LetVariableCS__NameAssignment_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__NameAssignment_0_in_rule__LetVariableCS__Group__0__Impl28625);
+ rule__LetVariableCS__NameAssignment_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetVariableCSAccess().getNameAssignment_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__LetVariableCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14133:1: rule__LetVariableCS__Group__1 : rule__LetVariableCS__Group__1__Impl rule__LetVariableCS__Group__2 ;
+ public final void rule__LetVariableCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14137:1: ( rule__LetVariableCS__Group__1__Impl rule__LetVariableCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14138:2: rule__LetVariableCS__Group__1__Impl rule__LetVariableCS__Group__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__1__Impl_in_rule__LetVariableCS__Group__128655);
+ rule__LetVariableCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__2_in_rule__LetVariableCS__Group__128658);
+ rule__LetVariableCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__Group__1"
+
+
+ // $ANTLR start "rule__LetVariableCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14145:1: rule__LetVariableCS__Group__1__Impl : ( ( rule__LetVariableCS__Group_1__0 )? ) ;
+ public final void rule__LetVariableCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14149:1: ( ( ( rule__LetVariableCS__Group_1__0 )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14150:1: ( ( rule__LetVariableCS__Group_1__0 )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14150:1: ( ( rule__LetVariableCS__Group_1__0 )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14151:1: ( rule__LetVariableCS__Group_1__0 )?
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetVariableCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14152:1: ( rule__LetVariableCS__Group_1__0 )?
+ int alt110=2;
+ int LA110_0 = input.LA(1);
+
+ if ( (LA110_0==74) ) {
+ alt110=1;
+ }
+ switch (alt110) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14152:2: rule__LetVariableCS__Group_1__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group_1__0_in_rule__LetVariableCS__Group__1__Impl28685);
+ rule__LetVariableCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetVariableCSAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__LetVariableCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14162:1: rule__LetVariableCS__Group__2 : rule__LetVariableCS__Group__2__Impl rule__LetVariableCS__Group__3 ;
+ public final void rule__LetVariableCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14166:1: ( rule__LetVariableCS__Group__2__Impl rule__LetVariableCS__Group__3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14167:2: rule__LetVariableCS__Group__2__Impl rule__LetVariableCS__Group__3
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__2__Impl_in_rule__LetVariableCS__Group__228716);
+ rule__LetVariableCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__3_in_rule__LetVariableCS__Group__228719);
+ rule__LetVariableCS__Group__3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__Group__2"
+
+
+ // $ANTLR start "rule__LetVariableCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14174:1: rule__LetVariableCS__Group__2__Impl : ( '=' ) ;
+ public final void rule__LetVariableCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14178:1: ( ( '=' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14179:1: ( '=' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14179:1: ( '=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14180:1: '='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetVariableCSAccess().getEqualsSignKeyword_2());
+ }
+ match(input,46,FollowSets001.FOLLOW_46_in_rule__LetVariableCS__Group__2__Impl28747); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetVariableCSAccess().getEqualsSignKeyword_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__LetVariableCS__Group__3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14193:1: rule__LetVariableCS__Group__3 : rule__LetVariableCS__Group__3__Impl ;
+ public final void rule__LetVariableCS__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14197:1: ( rule__LetVariableCS__Group__3__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14198:2: rule__LetVariableCS__Group__3__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__3__Impl_in_rule__LetVariableCS__Group__328778);
+ rule__LetVariableCS__Group__3__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__Group__3"
+
+
+ // $ANTLR start "rule__LetVariableCS__Group__3__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14204:1: rule__LetVariableCS__Group__3__Impl : ( ( rule__LetVariableCS__InitExpressionAssignment_3 ) ) ;
+ public final void rule__LetVariableCS__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14208:1: ( ( ( rule__LetVariableCS__InitExpressionAssignment_3 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14209:1: ( ( rule__LetVariableCS__InitExpressionAssignment_3 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14209:1: ( ( rule__LetVariableCS__InitExpressionAssignment_3 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14210:1: ( rule__LetVariableCS__InitExpressionAssignment_3 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetVariableCSAccess().getInitExpressionAssignment_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14211:1: ( rule__LetVariableCS__InitExpressionAssignment_3 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14211:2: rule__LetVariableCS__InitExpressionAssignment_3
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__InitExpressionAssignment_3_in_rule__LetVariableCS__Group__3__Impl28805);
+ rule__LetVariableCS__InitExpressionAssignment_3();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetVariableCSAccess().getInitExpressionAssignment_3());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__Group__3__Impl"
+
+
+ // $ANTLR start "rule__LetVariableCS__Group_1__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14229:1: rule__LetVariableCS__Group_1__0 : rule__LetVariableCS__Group_1__0__Impl rule__LetVariableCS__Group_1__1 ;
+ public final void rule__LetVariableCS__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14233:1: ( rule__LetVariableCS__Group_1__0__Impl rule__LetVariableCS__Group_1__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14234:2: rule__LetVariableCS__Group_1__0__Impl rule__LetVariableCS__Group_1__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group_1__0__Impl_in_rule__LetVariableCS__Group_1__028843);
+ rule__LetVariableCS__Group_1__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group_1__1_in_rule__LetVariableCS__Group_1__028846);
+ rule__LetVariableCS__Group_1__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__Group_1__0"
+
+
+ // $ANTLR start "rule__LetVariableCS__Group_1__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14241:1: rule__LetVariableCS__Group_1__0__Impl : ( ':' ) ;
+ public final void rule__LetVariableCS__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14245:1: ( ( ':' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14246:1: ( ':' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14246:1: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14247:1: ':'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetVariableCSAccess().getColonKeyword_1_0());
+ }
+ match(input,74,FollowSets001.FOLLOW_74_in_rule__LetVariableCS__Group_1__0__Impl28874); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetVariableCSAccess().getColonKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__LetVariableCS__Group_1__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14260:1: rule__LetVariableCS__Group_1__1 : rule__LetVariableCS__Group_1__1__Impl ;
+ public final void rule__LetVariableCS__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14264:1: ( rule__LetVariableCS__Group_1__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14265:2: rule__LetVariableCS__Group_1__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group_1__1__Impl_in_rule__LetVariableCS__Group_1__128905);
+ rule__LetVariableCS__Group_1__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__Group_1__1"
+
+
+ // $ANTLR start "rule__LetVariableCS__Group_1__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14271:1: rule__LetVariableCS__Group_1__1__Impl : ( ( rule__LetVariableCS__OwnedTypeAssignment_1_1 ) ) ;
+ public final void rule__LetVariableCS__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14275:1: ( ( ( rule__LetVariableCS__OwnedTypeAssignment_1_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14276:1: ( ( rule__LetVariableCS__OwnedTypeAssignment_1_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14276:1: ( ( rule__LetVariableCS__OwnedTypeAssignment_1_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14277:1: ( rule__LetVariableCS__OwnedTypeAssignment_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetVariableCSAccess().getOwnedTypeAssignment_1_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14278:1: ( rule__LetVariableCS__OwnedTypeAssignment_1_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14278:2: rule__LetVariableCS__OwnedTypeAssignment_1_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__OwnedTypeAssignment_1_1_in_rule__LetVariableCS__Group_1__1__Impl28932);
+ rule__LetVariableCS__OwnedTypeAssignment_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetVariableCSAccess().getOwnedTypeAssignment_1_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__NestedExpCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14292:1: rule__NestedExpCS__Group__0 : rule__NestedExpCS__Group__0__Impl rule__NestedExpCS__Group__1 ;
+ public final void rule__NestedExpCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14296:1: ( rule__NestedExpCS__Group__0__Impl rule__NestedExpCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14297:2: rule__NestedExpCS__Group__0__Impl rule__NestedExpCS__Group__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NestedExpCS__Group__0__Impl_in_rule__NestedExpCS__Group__028966);
+ rule__NestedExpCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NestedExpCS__Group__1_in_rule__NestedExpCS__Group__028969);
+ rule__NestedExpCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NestedExpCS__Group__0"
+
+
+ // $ANTLR start "rule__NestedExpCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14304:1: rule__NestedExpCS__Group__0__Impl : ( '(' ) ;
+ public final void rule__NestedExpCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14308:1: ( ( '(' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14309:1: ( '(' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14309:1: ( '(' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14310:1: '('
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNestedExpCSAccess().getLeftParenthesisKeyword_0());
+ }
+ match(input,69,FollowSets001.FOLLOW_69_in_rule__NestedExpCS__Group__0__Impl28997); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNestedExpCSAccess().getLeftParenthesisKeyword_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NestedExpCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__NestedExpCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14323:1: rule__NestedExpCS__Group__1 : rule__NestedExpCS__Group__1__Impl rule__NestedExpCS__Group__2 ;
+ public final void rule__NestedExpCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14327:1: ( rule__NestedExpCS__Group__1__Impl rule__NestedExpCS__Group__2 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14328:2: rule__NestedExpCS__Group__1__Impl rule__NestedExpCS__Group__2
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NestedExpCS__Group__1__Impl_in_rule__NestedExpCS__Group__129028);
+ rule__NestedExpCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__NestedExpCS__Group__2_in_rule__NestedExpCS__Group__129031);
+ rule__NestedExpCS__Group__2();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NestedExpCS__Group__1"
+
+
+ // $ANTLR start "rule__NestedExpCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14335:1: rule__NestedExpCS__Group__1__Impl : ( ( rule__NestedExpCS__SourceAssignment_1 ) ) ;
+ public final void rule__NestedExpCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14339:1: ( ( ( rule__NestedExpCS__SourceAssignment_1 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14340:1: ( ( rule__NestedExpCS__SourceAssignment_1 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14340:1: ( ( rule__NestedExpCS__SourceAssignment_1 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14341:1: ( rule__NestedExpCS__SourceAssignment_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNestedExpCSAccess().getSourceAssignment_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14342:1: ( rule__NestedExpCS__SourceAssignment_1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14342:2: rule__NestedExpCS__SourceAssignment_1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NestedExpCS__SourceAssignment_1_in_rule__NestedExpCS__Group__1__Impl29058);
+ rule__NestedExpCS__SourceAssignment_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNestedExpCSAccess().getSourceAssignment_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NestedExpCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__NestedExpCS__Group__2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14352:1: rule__NestedExpCS__Group__2 : rule__NestedExpCS__Group__2__Impl ;
+ public final void rule__NestedExpCS__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14356:1: ( rule__NestedExpCS__Group__2__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14357:2: rule__NestedExpCS__Group__2__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NestedExpCS__Group__2__Impl_in_rule__NestedExpCS__Group__229088);
+ rule__NestedExpCS__Group__2__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NestedExpCS__Group__2"
+
+
+ // $ANTLR start "rule__NestedExpCS__Group__2__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14363:1: rule__NestedExpCS__Group__2__Impl : ( ')' ) ;
+ public final void rule__NestedExpCS__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14367:1: ( ( ')' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14368:1: ( ')' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14368:1: ( ')' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14369:1: ')'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNestedExpCSAccess().getRightParenthesisKeyword_2());
+ }
+ match(input,70,FollowSets001.FOLLOW_70_in_rule__NestedExpCS__Group__2__Impl29116); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNestedExpCSAccess().getRightParenthesisKeyword_2());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NestedExpCS__Group__2__Impl"
+
+
+ // $ANTLR start "rule__SelfExpCS__Group__0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14388:1: rule__SelfExpCS__Group__0 : rule__SelfExpCS__Group__0__Impl rule__SelfExpCS__Group__1 ;
+ public final void rule__SelfExpCS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14392:1: ( rule__SelfExpCS__Group__0__Impl rule__SelfExpCS__Group__1 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14393:2: rule__SelfExpCS__Group__0__Impl rule__SelfExpCS__Group__1
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__SelfExpCS__Group__0__Impl_in_rule__SelfExpCS__Group__029153);
+ rule__SelfExpCS__Group__0__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+ pushFollow(FollowSets001.FOLLOW_rule__SelfExpCS__Group__1_in_rule__SelfExpCS__Group__029156);
+ rule__SelfExpCS__Group__1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SelfExpCS__Group__0"
+
+
+ // $ANTLR start "rule__SelfExpCS__Group__0__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14400:1: rule__SelfExpCS__Group__0__Impl : ( () ) ;
+ public final void rule__SelfExpCS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14404:1: ( ( () ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14405:1: ( () )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14405:1: ( () )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14406:1: ()
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14407:1: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14409:1:
+ {
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SelfExpCS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__SelfExpCS__Group__1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14419:1: rule__SelfExpCS__Group__1 : rule__SelfExpCS__Group__1__Impl ;
+ public final void rule__SelfExpCS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14423:1: ( rule__SelfExpCS__Group__1__Impl )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14424:2: rule__SelfExpCS__Group__1__Impl
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__SelfExpCS__Group__1__Impl_in_rule__SelfExpCS__Group__129214);
+ rule__SelfExpCS__Group__1__Impl();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SelfExpCS__Group__1"
+
+
+ // $ANTLR start "rule__SelfExpCS__Group__1__Impl"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14430:1: rule__SelfExpCS__Group__1__Impl : ( 'self' ) ;
+ public final void rule__SelfExpCS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14434:1: ( ( 'self' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14435:1: ( 'self' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14435:1: ( 'self' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14436:1: 'self'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getSelfExpCSAccess().getSelfKeyword_1());
+ }
+ match(input,90,FollowSets001.FOLLOW_90_in_rule__SelfExpCS__Group__1__Impl29242); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getSelfExpCSAccess().getSelfKeyword_1());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SelfExpCS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__TopLevelCS__ImportClauseAssignment_0_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14454:1: rule__TopLevelCS__ImportClauseAssignment_0_1 : ( ruleUnitCS ) ;
+ public final void rule__TopLevelCS__ImportClauseAssignment_0_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14458:1: ( ( ruleUnitCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14459:1: ( ruleUnitCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14459:1: ( ruleUnitCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14460:1: ruleUnitCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTopLevelCSAccess().getImportClauseUnitCSParserRuleCall_0_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnitCS_in_rule__TopLevelCS__ImportClauseAssignment_0_129282);
+ ruleUnitCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTopLevelCSAccess().getImportClauseUnitCSParserRuleCall_0_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TopLevelCS__ImportClauseAssignment_0_1"
+
+
+ // $ANTLR start "rule__TopLevelCS__TransformationAssignment_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14469:1: rule__TopLevelCS__TransformationAssignment_1 : ( ruleTransformationCS ) ;
+ public final void rule__TopLevelCS__TransformationAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14473:1: ( ( ruleTransformationCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14474:1: ( ruleTransformationCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14474:1: ( ruleTransformationCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14475:1: ruleTransformationCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTopLevelCSAccess().getTransformationTransformationCSParserRuleCall_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTransformationCS_in_rule__TopLevelCS__TransformationAssignment_129313);
+ ruleTransformationCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTopLevelCSAccess().getTransformationTransformationCSParserRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TopLevelCS__TransformationAssignment_1"
+
+
+ // $ANTLR start "rule__UnitCS__IdentifierAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14484:1: rule__UnitCS__IdentifierAssignment_0 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__UnitCS__IdentifierAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14488:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14489:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14489:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14490:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14491:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14492:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnitCSAccess().getIdentifierElementUnrestrictedNameParserRuleCall_0_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__UnitCS__IdentifierAssignment_029348);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnitCSAccess().getIdentifierElementUnrestrictedNameParserRuleCall_0_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnitCS__IdentifierAssignment_0"
+
+
+ // $ANTLR start "rule__UnitCS__IdentifierAssignment_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14503:1: rule__UnitCS__IdentifierAssignment_1_1 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__UnitCS__IdentifierAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14507:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14508:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14508:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14509:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_1_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14510:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14511:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnitCSAccess().getIdentifierElementUnrestrictedNameParserRuleCall_1_1_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__UnitCS__IdentifierAssignment_1_129387);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnitCSAccess().getIdentifierElementUnrestrictedNameParserRuleCall_1_1_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnitCS__IdentifierAssignment_1_1"
+
+
+ // $ANTLR start "rule__TransformationCS__NameAssignment_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14522:1: rule__TransformationCS__NameAssignment_1 : ( ruleUnrestrictedName ) ;
+ public final void rule__TransformationCS__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14526:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14527:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14527:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14528:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getNameUnrestrictedNameParserRuleCall_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__TransformationCS__NameAssignment_129422);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getNameUnrestrictedNameParserRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__NameAssignment_1"
+
+
+ // $ANTLR start "rule__TransformationCS__ModelDeclAssignment_3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14537:1: rule__TransformationCS__ModelDeclAssignment_3 : ( ruleModelDeclCS ) ;
+ public final void rule__TransformationCS__ModelDeclAssignment_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14541:1: ( ( ruleModelDeclCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14542:1: ( ruleModelDeclCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14542:1: ( ruleModelDeclCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14543:1: ruleModelDeclCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getModelDeclModelDeclCSParserRuleCall_3_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleModelDeclCS_in_rule__TransformationCS__ModelDeclAssignment_329453);
+ ruleModelDeclCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getModelDeclModelDeclCSParserRuleCall_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__ModelDeclAssignment_3"
+
+
+ // $ANTLR start "rule__TransformationCS__ModelDeclAssignment_4_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14552:1: rule__TransformationCS__ModelDeclAssignment_4_1 : ( ruleModelDeclCS ) ;
+ public final void rule__TransformationCS__ModelDeclAssignment_4_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14556:1: ( ( ruleModelDeclCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14557:1: ( ruleModelDeclCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14557:1: ( ruleModelDeclCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14558:1: ruleModelDeclCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getModelDeclModelDeclCSParserRuleCall_4_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleModelDeclCS_in_rule__TransformationCS__ModelDeclAssignment_4_129484);
+ ruleModelDeclCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getModelDeclModelDeclCSParserRuleCall_4_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__ModelDeclAssignment_4_1"
+
+
+ // $ANTLR start "rule__TransformationCS__ExtendsAssignment_6_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14567:1: rule__TransformationCS__ExtendsAssignment_6_1 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__TransformationCS__ExtendsAssignment_6_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14571:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14572:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14572:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14573:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14574:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14575:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getExtendsTransformationUnrestrictedNameParserRuleCall_6_1_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__TransformationCS__ExtendsAssignment_6_129519);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getExtendsTransformationUnrestrictedNameParserRuleCall_6_1_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__ExtendsAssignment_6_1"
+
+
+ // $ANTLR start "rule__TransformationCS__ExtendsAssignment_6_2_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14586:1: rule__TransformationCS__ExtendsAssignment_6_2_1 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__TransformationCS__ExtendsAssignment_6_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14590:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14591:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14591:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14592:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_2_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14593:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14594:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getExtendsTransformationUnrestrictedNameParserRuleCall_6_2_1_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__TransformationCS__ExtendsAssignment_6_2_129558);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getExtendsTransformationUnrestrictedNameParserRuleCall_6_2_1_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__ExtendsAssignment_6_2_1"
+
+
+ // $ANTLR start "rule__TransformationCS__KeyDeclAssignment_8"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14605:1: rule__TransformationCS__KeyDeclAssignment_8 : ( ruleKeyDeclCS ) ;
+ public final void rule__TransformationCS__KeyDeclAssignment_8() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14609:1: ( ( ruleKeyDeclCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14610:1: ( ruleKeyDeclCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14610:1: ( ruleKeyDeclCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14611:1: ruleKeyDeclCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getKeyDeclKeyDeclCSParserRuleCall_8_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleKeyDeclCS_in_rule__TransformationCS__KeyDeclAssignment_829593);
+ ruleKeyDeclCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getKeyDeclKeyDeclCSParserRuleCall_8_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__KeyDeclAssignment_8"
+
+
+ // $ANTLR start "rule__TransformationCS__RelationAssignment_9_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14620:1: rule__TransformationCS__RelationAssignment_9_0 : ( ruleRelationCS ) ;
+ public final void rule__TransformationCS__RelationAssignment_9_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14624:1: ( ( ruleRelationCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14625:1: ( ruleRelationCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14625:1: ( ruleRelationCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14626:1: ruleRelationCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getRelationRelationCSParserRuleCall_9_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleRelationCS_in_rule__TransformationCS__RelationAssignment_9_029624);
+ ruleRelationCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getRelationRelationCSParserRuleCall_9_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__RelationAssignment_9_0"
+
+
+ // $ANTLR start "rule__TransformationCS__QueryAssignment_9_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14635:1: rule__TransformationCS__QueryAssignment_9_1 : ( ruleQueryCS ) ;
+ public final void rule__TransformationCS__QueryAssignment_9_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14639:1: ( ( ruleQueryCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14640:1: ( ruleQueryCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14640:1: ( ruleQueryCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14641:1: ruleQueryCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTransformationCSAccess().getQueryQueryCSParserRuleCall_9_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleQueryCS_in_rule__TransformationCS__QueryAssignment_9_129655);
+ ruleQueryCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTransformationCSAccess().getQueryQueryCSParserRuleCall_9_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransformationCS__QueryAssignment_9_1"
+
+
+ // $ANTLR start "rule__ModelDeclCS__NameAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14650:1: rule__ModelDeclCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
+ public final void rule__ModelDeclCS__NameAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14654:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14655:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14655:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14656:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__ModelDeclCS__NameAssignment_029686);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__NameAssignment_0"
+
+
+ // $ANTLR start "rule__ModelDeclCS__MetaModelIdAssignment_2_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14665:1: rule__ModelDeclCS__MetaModelIdAssignment_2_0 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__ModelDeclCS__MetaModelIdAssignment_2_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14669:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14670:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14670:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14671:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14672:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14673:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_0_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__ModelDeclCS__MetaModelIdAssignment_2_029721);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_0_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__MetaModelIdAssignment_2_0"
+
+
+ // $ANTLR start "rule__ModelDeclCS__MetaModelIdAssignment_2_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14684:1: rule__ModelDeclCS__MetaModelIdAssignment_2_1_1 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__ModelDeclCS__MetaModelIdAssignment_2_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14688:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14689:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14689:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14690:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14691:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14692:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_1_1_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__ModelDeclCS__MetaModelIdAssignment_2_1_129760);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_1_1_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__MetaModelIdAssignment_2_1_1"
+
+
+ // $ANTLR start "rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14703:1: rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14707:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14708:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14708:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14709:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_2_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14710:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14711:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_1_2_1_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_129799);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_1_2_1_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1"
+
+
+ // $ANTLR start "rule__KeyDeclCS__PathNameAssignment_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14722:1: rule__KeyDeclCS__PathNameAssignment_1 : ( rulePathNameCS ) ;
+ public final void rule__KeyDeclCS__PathNameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14726:1: ( ( rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14727:1: ( rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14727:1: ( rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14728:1: rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getPathNamePathNameCSParserRuleCall_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePathNameCS_in_rule__KeyDeclCS__PathNameAssignment_129834);
+ rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getPathNamePathNameCSParserRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__PathNameAssignment_1"
+
+
+ // $ANTLR start "rule__KeyDeclCS__PropertyIdAssignment_3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14737:1: rule__KeyDeclCS__PropertyIdAssignment_3 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__KeyDeclCS__PropertyIdAssignment_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14741:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14742:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14742:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14743:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_3_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14744:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14745:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_3_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__KeyDeclCS__PropertyIdAssignment_329869);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_3_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__PropertyIdAssignment_3"
+
+
+ // $ANTLR start "rule__KeyDeclCS__PropertyIdAssignment_4_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14756:1: rule__KeyDeclCS__PropertyIdAssignment_4_1 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__KeyDeclCS__PropertyIdAssignment_4_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14760:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14761:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14761:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14762:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_4_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14763:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14764:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_4_1_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__KeyDeclCS__PropertyIdAssignment_4_129908);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_4_1_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_4_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__KeyDeclCS__PropertyIdAssignment_4_1"
+
+
+ // $ANTLR start "rule__RelationCS__TopAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14775:1: rule__RelationCS__TopAssignment_0 : ( ( 'top' ) ) ;
+ public final void rule__RelationCS__TopAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14779:1: ( ( ( 'top' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14780:1: ( ( 'top' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14780:1: ( ( 'top' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14781:1: ( 'top' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getTopTopKeyword_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14782:1: ( 'top' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14783:1: 'top'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getTopTopKeyword_0_0());
+ }
+ match(input,31,FollowSets001.FOLLOW_31_in_rule__RelationCS__TopAssignment_029948); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getTopTopKeyword_0_0());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getTopTopKeyword_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__TopAssignment_0"
+
+
+ // $ANTLR start "rule__RelationCS__NameAssignment_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14798:1: rule__RelationCS__NameAssignment_2 : ( ruleUnrestrictedName ) ;
+ public final void rule__RelationCS__NameAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14802:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14803:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14803:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14804:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__RelationCS__NameAssignment_229987);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__NameAssignment_2"
+
+
+ // $ANTLR start "rule__RelationCS__OverridesAssignment_3_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14813:1: rule__RelationCS__OverridesAssignment_3_1 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__RelationCS__OverridesAssignment_3_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14817:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14818:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14818:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14819:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getOverridesRelationCrossReference_3_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14820:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14821:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getOverridesRelationUnrestrictedNameParserRuleCall_3_1_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__RelationCS__OverridesAssignment_3_130022);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getOverridesRelationUnrestrictedNameParserRuleCall_3_1_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getOverridesRelationCrossReference_3_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__OverridesAssignment_3_1"
+
+
+ // $ANTLR start "rule__RelationCS__VarDeclarationAssignment_5"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14832:1: rule__RelationCS__VarDeclarationAssignment_5 : ( ruleVarDeclarationCS ) ;
+ public final void rule__RelationCS__VarDeclarationAssignment_5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14836:1: ( ( ruleVarDeclarationCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14837:1: ( ruleVarDeclarationCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14837:1: ( ruleVarDeclarationCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14838:1: ruleVarDeclarationCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getVarDeclarationVarDeclarationCSParserRuleCall_5_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleVarDeclarationCS_in_rule__RelationCS__VarDeclarationAssignment_530057);
+ ruleVarDeclarationCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getVarDeclarationVarDeclarationCSParserRuleCall_5_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__VarDeclarationAssignment_5"
+
+
+ // $ANTLR start "rule__RelationCS__DomainAssignment_6_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14847:1: rule__RelationCS__DomainAssignment_6_0 : ( ruleDomainCS ) ;
+ public final void rule__RelationCS__DomainAssignment_6_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14851:1: ( ( ruleDomainCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14852:1: ( ruleDomainCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14852:1: ( ruleDomainCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14853:1: ruleDomainCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getDomainDomainCSParserRuleCall_6_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleDomainCS_in_rule__RelationCS__DomainAssignment_6_030088);
+ ruleDomainCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getDomainDomainCSParserRuleCall_6_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__DomainAssignment_6_0"
+
+
+ // $ANTLR start "rule__RelationCS__DomainAssignment_6_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14862:1: rule__RelationCS__DomainAssignment_6_1 : ( rulePrimitiveTypeDomainCS ) ;
+ public final void rule__RelationCS__DomainAssignment_6_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14866:1: ( ( rulePrimitiveTypeDomainCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14867:1: ( rulePrimitiveTypeDomainCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14867:1: ( rulePrimitiveTypeDomainCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14868:1: rulePrimitiveTypeDomainCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getDomainPrimitiveTypeDomainCSParserRuleCall_6_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePrimitiveTypeDomainCS_in_rule__RelationCS__DomainAssignment_6_130119);
+ rulePrimitiveTypeDomainCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getDomainPrimitiveTypeDomainCSParserRuleCall_6_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__DomainAssignment_6_1"
+
+
+ // $ANTLR start "rule__RelationCS__WhenAssignment_7"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14877:1: rule__RelationCS__WhenAssignment_7 : ( ruleWhenCS ) ;
+ public final void rule__RelationCS__WhenAssignment_7() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14881:1: ( ( ruleWhenCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14882:1: ( ruleWhenCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14882:1: ( ruleWhenCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14883:1: ruleWhenCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getWhenWhenCSParserRuleCall_7_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleWhenCS_in_rule__RelationCS__WhenAssignment_730150);
+ ruleWhenCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getWhenWhenCSParserRuleCall_7_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__WhenAssignment_7"
+
+
+ // $ANTLR start "rule__RelationCS__WhereAssignment_8"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14892:1: rule__RelationCS__WhereAssignment_8 : ( ruleWhereCS ) ;
+ public final void rule__RelationCS__WhereAssignment_8() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14896:1: ( ( ruleWhereCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14897:1: ( ruleWhereCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14897:1: ( ruleWhereCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14898:1: ruleWhereCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getRelationCSAccess().getWhereWhereCSParserRuleCall_8_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleWhereCS_in_rule__RelationCS__WhereAssignment_830181);
+ ruleWhereCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getRelationCSAccess().getWhereWhereCSParserRuleCall_8_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__RelationCS__WhereAssignment_8"
+
+
+ // $ANTLR start "rule__WhenCS__ExprAssignment_3_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14907:1: rule__WhenCS__ExprAssignment_3_0 : ( ruleExpCS ) ;
+ public final void rule__WhenCS__ExprAssignment_3_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14911:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14912:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14912:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14913:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhenCSAccess().getExprExpCSParserRuleCall_3_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__WhenCS__ExprAssignment_3_030212);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhenCSAccess().getExprExpCSParserRuleCall_3_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhenCS__ExprAssignment_3_0"
+
+
+ // $ANTLR start "rule__WhereCS__ExprAssignment_3_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14922:1: rule__WhereCS__ExprAssignment_3_0 : ( ruleExpCS ) ;
+ public final void rule__WhereCS__ExprAssignment_3_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14926:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14927:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14927:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14928:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getWhereCSAccess().getExprExpCSParserRuleCall_3_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__WhereCS__ExprAssignment_3_030243);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getWhereCSAccess().getExprExpCSParserRuleCall_3_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__WhereCS__ExprAssignment_3_0"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__VarDeclarationIdAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14937:1: rule__VarDeclarationCS__VarDeclarationIdAssignment_0 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__VarDeclarationCS__VarDeclarationIdAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14941:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14942:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14942:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14943:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14944:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14945:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyUnrestrictedNameParserRuleCall_0_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__VarDeclarationCS__VarDeclarationIdAssignment_030278);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyUnrestrictedNameParserRuleCall_0_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__VarDeclarationIdAssignment_0"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14956:1: rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14960:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14961:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14961:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14962:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_1_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14963:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14964:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyUnrestrictedNameParserRuleCall_1_1_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__VarDeclarationCS__VarDeclarationIdAssignment_1_130317);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyUnrestrictedNameParserRuleCall_1_1_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1"
+
+
+ // $ANTLR start "rule__VarDeclarationCS__TypeAssignment_3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14975:1: rule__VarDeclarationCS__TypeAssignment_3 : ( ruleTypedRefCS ) ;
+ public final void rule__VarDeclarationCS__TypeAssignment_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14979:1: ( ( ruleTypedRefCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14980:1: ( ruleTypedRefCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14980:1: ( ruleTypedRefCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14981:1: ruleTypedRefCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getVarDeclarationCSAccess().getTypeTypedRefCSParserRuleCall_3_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypedRefCS_in_rule__VarDeclarationCS__TypeAssignment_330352);
+ ruleTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getVarDeclarationCSAccess().getTypeTypedRefCSParserRuleCall_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__VarDeclarationCS__TypeAssignment_3"
+
+
+ // $ANTLR start "rule__DomainCS__CheckonlyAssignment_0_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14990:1: rule__DomainCS__CheckonlyAssignment_0_0 : ( ( 'checkonly' ) ) ;
+ public final void rule__DomainCS__CheckonlyAssignment_0_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14994:1: ( ( ( 'checkonly' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14995:1: ( ( 'checkonly' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14995:1: ( ( 'checkonly' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14996:1: ( 'checkonly' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getCheckonlyCheckonlyKeyword_0_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14997:1: ( 'checkonly' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:14998:1: 'checkonly'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getCheckonlyCheckonlyKeyword_0_0_0());
+ }
+ match(input,18,FollowSets001.FOLLOW_18_in_rule__DomainCS__CheckonlyAssignment_0_030388); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getCheckonlyCheckonlyKeyword_0_0_0());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getCheckonlyCheckonlyKeyword_0_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__CheckonlyAssignment_0_0"
+
+
+ // $ANTLR start "rule__DomainCS__EnforceAssignment_0_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15013:1: rule__DomainCS__EnforceAssignment_0_1 : ( ( 'enforce' ) ) ;
+ public final void rule__DomainCS__EnforceAssignment_0_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15017:1: ( ( ( 'enforce' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15018:1: ( ( 'enforce' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15018:1: ( ( 'enforce' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15019:1: ( 'enforce' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getEnforceEnforceKeyword_0_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15020:1: ( 'enforce' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15021:1: 'enforce'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getEnforceEnforceKeyword_0_1_0());
+ }
+ match(input,21,FollowSets001.FOLLOW_21_in_rule__DomainCS__EnforceAssignment_0_130432); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getEnforceEnforceKeyword_0_1_0());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getEnforceEnforceKeyword_0_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__EnforceAssignment_0_1"
+
+
+ // $ANTLR start "rule__DomainCS__ModelIdAssignment_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15036:1: rule__DomainCS__ModelIdAssignment_2 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__DomainCS__ModelIdAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15040:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15041:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15041:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15042:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getModelIdTypedModelCrossReference_2_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15043:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15044:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getModelIdTypedModelUnrestrictedNameParserRuleCall_2_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__DomainCS__ModelIdAssignment_230475);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getModelIdTypedModelUnrestrictedNameParserRuleCall_2_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getModelIdTypedModelCrossReference_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__ModelIdAssignment_2"
+
+
+ // $ANTLR start "rule__DomainCS__TemplateAssignment_3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15055:1: rule__DomainCS__TemplateAssignment_3 : ( ruleTemplateCS ) ;
+ public final void rule__DomainCS__TemplateAssignment_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15059:1: ( ( ruleTemplateCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15060:1: ( ruleTemplateCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15060:1: ( ruleTemplateCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15061:1: ruleTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getTemplateTemplateCSParserRuleCall_3_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTemplateCS_in_rule__DomainCS__TemplateAssignment_330510);
+ ruleTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getTemplateTemplateCSParserRuleCall_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__TemplateAssignment_3"
+
+
+ // $ANTLR start "rule__DomainCS__ImplementedByAssignment_4_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15070:1: rule__DomainCS__ImplementedByAssignment_4_1 : ( ruleExpCS ) ;
+ public final void rule__DomainCS__ImplementedByAssignment_4_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15074:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15075:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15075:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15076:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getImplementedByExpCSParserRuleCall_4_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__DomainCS__ImplementedByAssignment_4_130541);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getImplementedByExpCSParserRuleCall_4_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__ImplementedByAssignment_4_1"
+
+
+ // $ANTLR start "rule__DomainCS__DefaultValueAssignment_5_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15085:1: rule__DomainCS__DefaultValueAssignment_5_2 : ( ruleDefaultValueCS ) ;
+ public final void rule__DomainCS__DefaultValueAssignment_5_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15089:1: ( ( ruleDefaultValueCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15090:1: ( ruleDefaultValueCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15090:1: ( ruleDefaultValueCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15091:1: ruleDefaultValueCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDomainCSAccess().getDefaultValueDefaultValueCSParserRuleCall_5_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleDefaultValueCS_in_rule__DomainCS__DefaultValueAssignment_5_230572);
+ ruleDefaultValueCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDomainCSAccess().getDefaultValueDefaultValueCSParserRuleCall_5_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DomainCS__DefaultValueAssignment_5_2"
+
+
+ // $ANTLR start "rule__PrimitiveTypeDomainCS__NameAssignment_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15100:1: rule__PrimitiveTypeDomainCS__NameAssignment_2 : ( ruleUnrestrictedName ) ;
+ public final void rule__PrimitiveTypeDomainCS__NameAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15104:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15105:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15105:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15106:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__PrimitiveTypeDomainCS__NameAssignment_230603);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeDomainCS__NameAssignment_2"
+
+
+ // $ANTLR start "rule__PrimitiveTypeDomainCS__TypeAssignment_4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15115:1: rule__PrimitiveTypeDomainCS__TypeAssignment_4 : ( ruleTypedRefCS ) ;
+ public final void rule__PrimitiveTypeDomainCS__TypeAssignment_4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15119:1: ( ( ruleTypedRefCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15120:1: ( ruleTypedRefCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15120:1: ( ruleTypedRefCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15121:1: ruleTypedRefCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeDomainCSAccess().getTypeTypedRefCSParserRuleCall_4_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypedRefCS_in_rule__PrimitiveTypeDomainCS__TypeAssignment_430634);
+ ruleTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeDomainCSAccess().getTypeTypedRefCSParserRuleCall_4_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeDomainCS__TypeAssignment_4"
+
+
+ // $ANTLR start "rule__TemplateCS__GuardExpressionAssignment_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15130:1: rule__TemplateCS__GuardExpressionAssignment_1_1 : ( ruleExpCS ) ;
+ public final void rule__TemplateCS__GuardExpressionAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15134:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15135:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15135:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15136:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTemplateCSAccess().getGuardExpressionExpCSParserRuleCall_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__TemplateCS__GuardExpressionAssignment_1_130665);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTemplateCSAccess().getGuardExpressionExpCSParserRuleCall_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TemplateCS__GuardExpressionAssignment_1_1"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__PropertyIdAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15145:1: rule__ObjectTemplateCS__PropertyIdAssignment_0 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__ObjectTemplateCS__PropertyIdAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15149:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15150:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15150:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15151:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15152:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15153:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__ObjectTemplateCS__PropertyIdAssignment_030700);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__PropertyIdAssignment_0"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__TypeAssignment_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15164:1: rule__ObjectTemplateCS__TypeAssignment_2 : ( ruleTypedRefCS ) ;
+ public final void rule__ObjectTemplateCS__TypeAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15168:1: ( ( ruleTypedRefCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15169:1: ( ruleTypedRefCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15169:1: ( ruleTypedRefCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15170:1: ruleTypedRefCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getTypeTypedRefCSParserRuleCall_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypedRefCS_in_rule__ObjectTemplateCS__TypeAssignment_230735);
+ ruleTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getTypeTypedRefCSParserRuleCall_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__TypeAssignment_2"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15179:1: rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0 : ( rulePropertyTemplateCS ) ;
+ public final void rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15183:1: ( ( rulePropertyTemplateCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15184:1: ( rulePropertyTemplateCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15184:1: ( rulePropertyTemplateCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15185:1: rulePropertyTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplatePropertyTemplateCSParserRuleCall_4_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePropertyTemplateCS_in_rule__ObjectTemplateCS__PropertyTemplateAssignment_4_030766);
+ rulePropertyTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplatePropertyTemplateCSParserRuleCall_4_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0"
+
+
+ // $ANTLR start "rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15194:1: rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1 : ( rulePropertyTemplateCS ) ;
+ public final void rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15198:1: ( ( rulePropertyTemplateCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15199:1: ( rulePropertyTemplateCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15199:1: ( rulePropertyTemplateCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15200:1: rulePropertyTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplatePropertyTemplateCSParserRuleCall_4_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePropertyTemplateCS_in_rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_130797);
+ rulePropertyTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplatePropertyTemplateCSParserRuleCall_4_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1"
+
+
+ // $ANTLR start "rule__PropertyTemplateCS__PropertyIdAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15209:1: rule__PropertyTemplateCS__PropertyIdAssignment_0 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__PropertyTemplateCS__PropertyIdAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15213:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15214:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15214:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15215:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15216:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15217:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__PropertyTemplateCS__PropertyIdAssignment_030832);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PropertyTemplateCS__PropertyIdAssignment_0"
+
+
+ // $ANTLR start "rule__PropertyTemplateCS__OclExpressionAssignment_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15228:1: rule__PropertyTemplateCS__OclExpressionAssignment_2 : ( ruleExpCS ) ;
+ public final void rule__PropertyTemplateCS__OclExpressionAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15232:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15233:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15233:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15234:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPropertyTemplateCSAccess().getOclExpressionExpCSParserRuleCall_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__PropertyTemplateCS__OclExpressionAssignment_230867);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPropertyTemplateCSAccess().getOclExpressionExpCSParserRuleCall_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PropertyTemplateCS__OclExpressionAssignment_2"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__PropertyIdAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15243:1: rule__CollectionTemplateCS__PropertyIdAssignment_0 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__CollectionTemplateCS__PropertyIdAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15247:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15248:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15248:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15249:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15250:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15251:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__CollectionTemplateCS__PropertyIdAssignment_030902);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__PropertyIdAssignment_0"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__TypeAssignment_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15262:1: rule__CollectionTemplateCS__TypeAssignment_2 : ( ruleCollectionTypedRefCS ) ;
+ public final void rule__CollectionTemplateCS__TypeAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15266:1: ( ( ruleCollectionTypedRefCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15267:1: ( ruleCollectionTypedRefCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15267:1: ( ruleCollectionTypedRefCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15268:1: ruleCollectionTypedRefCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getTypeCollectionTypedRefCSParserRuleCall_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleCollectionTypedRefCS_in_rule__CollectionTemplateCS__TypeAssignment_230937);
+ ruleCollectionTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getTypeCollectionTypedRefCSParserRuleCall_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__TypeAssignment_2"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15277:1: rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0 : ( ( rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0 ) ) ;
+ public final void rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15281:1: ( ( ( rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15282:1: ( ( rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15282:1: ( ( rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15283:1: ( rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAlternatives_4_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15284:1: ( rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15284:2: rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0_in_rule__CollectionTemplateCS__MemberIdentifierAssignment_4_030968);
+ rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAlternatives_4_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15293:1: rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1 : ( ( rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0 ) ) ;
+ public final void rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15297:1: ( ( ( rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15298:1: ( ( rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15298:1: ( ( rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15299:1: ( rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAlternatives_4_1_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15300:1: ( rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15300:2: rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0_in_rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_131001);
+ rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAlternatives_4_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1"
+
+
+ // $ANTLR start "rule__CollectionTemplateCS__RestIdentifierAssignment_4_3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15309:1: rule__CollectionTemplateCS__RestIdentifierAssignment_4_3 : ( ( rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0 ) ) ;
+ public final void rule__CollectionTemplateCS__RestIdentifierAssignment_4_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15313:1: ( ( ( rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15314:1: ( ( rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15314:1: ( ( rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15315:1: ( rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAlternatives_4_3_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15316:1: ( rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15316:2: rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0_in_rule__CollectionTemplateCS__RestIdentifierAssignment_4_331034);
+ rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAlternatives_4_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTemplateCS__RestIdentifierAssignment_4_3"
+
+
+ // $ANTLR start "rule__NameExpCS__PathNameAssignment"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15325:1: rule__NameExpCS__PathNameAssignment : ( rulePathNameCS ) ;
+ public final void rule__NameExpCS__PathNameAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15329:1: ( ( rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15330:1: ( rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15330:1: ( rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15331:1: rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNameExpCSAccess().getPathNamePathNameCSParserRuleCall_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePathNameCS_in_rule__NameExpCS__PathNameAssignment31067);
+ rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNameExpCSAccess().getPathNamePathNameCSParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NameExpCS__PathNameAssignment"
+
+
+ // $ANTLR start "rule__DefaultValueCS__PropertyIdAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15340:1: rule__DefaultValueCS__PropertyIdAssignment_0 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__DefaultValueCS__PropertyIdAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15344:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15345:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15345:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15346:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDefaultValueCSAccess().getPropertyIdPropertyCrossReference_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15347:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15348:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDefaultValueCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__DefaultValueCS__PropertyIdAssignment_031102);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDefaultValueCSAccess().getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDefaultValueCSAccess().getPropertyIdPropertyCrossReference_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DefaultValueCS__PropertyIdAssignment_0"
+
+
+ // $ANTLR start "rule__DefaultValueCS__InitialiserAssignment_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15359:1: rule__DefaultValueCS__InitialiserAssignment_2 : ( ruleExpCS ) ;
+ public final void rule__DefaultValueCS__InitialiserAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15363:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15364:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15364:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15365:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getDefaultValueCSAccess().getInitialiserExpCSParserRuleCall_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__DefaultValueCS__InitialiserAssignment_231137);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getDefaultValueCSAccess().getInitialiserExpCSParserRuleCall_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DefaultValueCS__InitialiserAssignment_2"
+
+
+ // $ANTLR start "rule__QueryCS__PathNameAssignment_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15374:1: rule__QueryCS__PathNameAssignment_1 : ( rulePathNameCS ) ;
+ public final void rule__QueryCS__PathNameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15378:1: ( ( rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15379:1: ( rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15379:1: ( rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15380:1: rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getPathNamePathNameCSParserRuleCall_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePathNameCS_in_rule__QueryCS__PathNameAssignment_131168);
+ rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getPathNamePathNameCSParserRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__PathNameAssignment_1"
+
+
+ // $ANTLR start "rule__QueryCS__InputParamDeclarationAssignment_3_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15389:1: rule__QueryCS__InputParamDeclarationAssignment_3_0 : ( ruleParamDeclarationCS ) ;
+ public final void rule__QueryCS__InputParamDeclarationAssignment_3_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15393:1: ( ( ruleParamDeclarationCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15394:1: ( ruleParamDeclarationCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15394:1: ( ruleParamDeclarationCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15395:1: ruleParamDeclarationCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getInputParamDeclarationParamDeclarationCSParserRuleCall_3_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleParamDeclarationCS_in_rule__QueryCS__InputParamDeclarationAssignment_3_031199);
+ ruleParamDeclarationCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getInputParamDeclarationParamDeclarationCSParserRuleCall_3_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__InputParamDeclarationAssignment_3_0"
+
+
+ // $ANTLR start "rule__QueryCS__InputParamDeclarationAssignment_3_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15404:1: rule__QueryCS__InputParamDeclarationAssignment_3_1_1 : ( ruleParamDeclarationCS ) ;
+ public final void rule__QueryCS__InputParamDeclarationAssignment_3_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15408:1: ( ( ruleParamDeclarationCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15409:1: ( ruleParamDeclarationCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15409:1: ( ruleParamDeclarationCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15410:1: ruleParamDeclarationCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getInputParamDeclarationParamDeclarationCSParserRuleCall_3_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleParamDeclarationCS_in_rule__QueryCS__InputParamDeclarationAssignment_3_1_131230);
+ ruleParamDeclarationCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getInputParamDeclarationParamDeclarationCSParserRuleCall_3_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__InputParamDeclarationAssignment_3_1_1"
+
+
+ // $ANTLR start "rule__QueryCS__TypeAssignment_6"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15419:1: rule__QueryCS__TypeAssignment_6 : ( ruleTypedRefCS ) ;
+ public final void rule__QueryCS__TypeAssignment_6() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15423:1: ( ( ruleTypedRefCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15424:1: ( ruleTypedRefCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15424:1: ( ruleTypedRefCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15425:1: ruleTypedRefCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getTypeTypedRefCSParserRuleCall_6_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypedRefCS_in_rule__QueryCS__TypeAssignment_631261);
+ ruleTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getTypeTypedRefCSParserRuleCall_6_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__TypeAssignment_6"
+
+
+ // $ANTLR start "rule__QueryCS__OclExpressionAssignment_7_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15434:1: rule__QueryCS__OclExpressionAssignment_7_1_1 : ( ruleExpCS ) ;
+ public final void rule__QueryCS__OclExpressionAssignment_7_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15438:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15439:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15439:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15440:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQueryCSAccess().getOclExpressionExpCSParserRuleCall_7_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__QueryCS__OclExpressionAssignment_7_1_131292);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQueryCSAccess().getOclExpressionExpCSParserRuleCall_7_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__QueryCS__OclExpressionAssignment_7_1_1"
+
+
+ // $ANTLR start "rule__ParamDeclarationCS__NameAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15449:1: rule__ParamDeclarationCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
+ public final void rule__ParamDeclarationCS__NameAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15453:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15454:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15454:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15455:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getParamDeclarationCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__ParamDeclarationCS__NameAssignment_031323);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getParamDeclarationCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ParamDeclarationCS__NameAssignment_0"
+
+
+ // $ANTLR start "rule__ParamDeclarationCS__TypeAssignment_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15464:1: rule__ParamDeclarationCS__TypeAssignment_2 : ( ruleTypedRefCS ) ;
+ public final void rule__ParamDeclarationCS__TypeAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15468:1: ( ( ruleTypedRefCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15469:1: ( ruleTypedRefCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15469:1: ( ruleTypedRefCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15470:1: ruleTypedRefCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getParamDeclarationCSAccess().getTypeTypedRefCSParserRuleCall_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypedRefCS_in_rule__ParamDeclarationCS__TypeAssignment_231354);
+ ruleTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getParamDeclarationCSAccess().getTypeTypedRefCSParserRuleCall_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ParamDeclarationCS__TypeAssignment_2"
+
+
+ // $ANTLR start "rule__CollectionTypedRefCS__PathNameAssignment"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15479:1: rule__CollectionTypedRefCS__PathNameAssignment : ( rulePathNameCS ) ;
+ public final void rule__CollectionTypedRefCS__PathNameAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15483:1: ( ( rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15484:1: ( rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15484:1: ( rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15485:1: rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypedRefCSAccess().getPathNamePathNameCSParserRuleCall_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePathNameCS_in_rule__CollectionTypedRefCS__PathNameAssignment31385);
+ rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypedRefCSAccess().getPathNamePathNameCSParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTypedRefCS__PathNameAssignment"
+
+
+ // $ANTLR start "rule__TypedRefCS__PathNameAssignment"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15494:1: rule__TypedRefCS__PathNameAssignment : ( rulePathNameCS ) ;
+ public final void rule__TypedRefCS__PathNameAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15498:1: ( ( rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15499:1: ( rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15499:1: ( rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15500:1: rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypedRefCSAccess().getPathNamePathNameCSParserRuleCall_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePathNameCS_in_rule__TypedRefCS__PathNameAssignment31416);
+ rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypedRefCSAccess().getPathNamePathNameCSParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TypedRefCS__PathNameAssignment"
+
+
+ // $ANTLR start "rule__PathNameCS__PathAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15510:1: rule__PathNameCS__PathAssignment_0 : ( ruleFirstPathElementCS ) ;
+ public final void rule__PathNameCS__PathAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15514:1: ( ( ruleFirstPathElementCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15515:1: ( ruleFirstPathElementCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15515:1: ( ruleFirstPathElementCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15516:1: ruleFirstPathElementCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPathNameCSAccess().getPathFirstPathElementCSParserRuleCall_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleFirstPathElementCS_in_rule__PathNameCS__PathAssignment_031448);
+ ruleFirstPathElementCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPathNameCSAccess().getPathFirstPathElementCSParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PathNameCS__PathAssignment_0"
+
+
+ // $ANTLR start "rule__PathNameCS__PathAssignment_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15525:1: rule__PathNameCS__PathAssignment_1_1 : ( ruleNextPathElementCS ) ;
+ public final void rule__PathNameCS__PathAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15529:1: ( ( ruleNextPathElementCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15530:1: ( ruleNextPathElementCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15530:1: ( ruleNextPathElementCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15531:1: ruleNextPathElementCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPathNameCSAccess().getPathNextPathElementCSParserRuleCall_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleNextPathElementCS_in_rule__PathNameCS__PathAssignment_1_131479);
+ ruleNextPathElementCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPathNameCSAccess().getPathNextPathElementCSParserRuleCall_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PathNameCS__PathAssignment_1_1"
+
+
+ // $ANTLR start "rule__FirstPathElementCS__ElementAssignment"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15540:1: rule__FirstPathElementCS__ElementAssignment : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__FirstPathElementCS__ElementAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15544:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15545:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15545:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15546:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getFirstPathElementCSAccess().getElementNamedElementCrossReference_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15547:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15548:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getFirstPathElementCSAccess().getElementNamedElementUnrestrictedNameParserRuleCall_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__FirstPathElementCS__ElementAssignment31514);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getFirstPathElementCSAccess().getElementNamedElementUnrestrictedNameParserRuleCall_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getFirstPathElementCSAccess().getElementNamedElementCrossReference_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__FirstPathElementCS__ElementAssignment"
+
+
+ // $ANTLR start "rule__NextPathElementCS__ElementAssignment"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15559:1: rule__NextPathElementCS__ElementAssignment : ( ( ruleUnreservedName ) ) ;
+ public final void rule__NextPathElementCS__ElementAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15563:1: ( ( ( ruleUnreservedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15564:1: ( ( ruleUnreservedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15564:1: ( ( ruleUnreservedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15565:1: ( ruleUnreservedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNextPathElementCSAccess().getElementNamedElementCrossReference_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15566:1: ( ruleUnreservedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15567:1: ruleUnreservedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNextPathElementCSAccess().getElementNamedElementUnreservedNameParserRuleCall_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnreservedName_in_rule__NextPathElementCS__ElementAssignment31553);
+ ruleUnreservedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNextPathElementCSAccess().getElementNamedElementUnreservedNameParserRuleCall_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNextPathElementCSAccess().getElementNamedElementCrossReference_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NextPathElementCS__ElementAssignment"
+
+
+ // $ANTLR start "rule__PrimitiveTypeCS__NameAssignment"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15578:1: rule__PrimitiveTypeCS__NameAssignment : ( rulePrimitiveTypeIdentifier ) ;
+ public final void rule__PrimitiveTypeCS__NameAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15582:1: ( ( rulePrimitiveTypeIdentifier ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15583:1: ( rulePrimitiveTypeIdentifier )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15583:1: ( rulePrimitiveTypeIdentifier )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15584:1: rulePrimitiveTypeIdentifier
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimitiveTypeCSAccess().getNamePrimitiveTypeIdentifierParserRuleCall_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePrimitiveTypeIdentifier_in_rule__PrimitiveTypeCS__NameAssignment31588);
+ rulePrimitiveTypeIdentifier();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimitiveTypeCSAccess().getNamePrimitiveTypeIdentifierParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimitiveTypeCS__NameAssignment"
+
+
+ // $ANTLR start "rule__CollectionTypeCS__NameAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15593:1: rule__CollectionTypeCS__NameAssignment_0 : ( ruleCollectionTypeIdentifier ) ;
+ public final void rule__CollectionTypeCS__NameAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15597:1: ( ( ruleCollectionTypeIdentifier ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15598:1: ( ruleCollectionTypeIdentifier )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15598:1: ( ruleCollectionTypeIdentifier )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15599:1: ruleCollectionTypeIdentifier
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeCSAccess().getNameCollectionTypeIdentifierParserRuleCall_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleCollectionTypeIdentifier_in_rule__CollectionTypeCS__NameAssignment_031619);
+ ruleCollectionTypeIdentifier();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeCSAccess().getNameCollectionTypeIdentifierParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTypeCS__NameAssignment_0"
+
+
+ // $ANTLR start "rule__CollectionTypeCS__OwnedTypeAssignment_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15608:1: rule__CollectionTypeCS__OwnedTypeAssignment_1_1 : ( ruleTypeExpCS ) ;
+ public final void rule__CollectionTypeCS__OwnedTypeAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15612:1: ( ( ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15613:1: ( ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15613:1: ( ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15614:1: ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypeExpCS_in_rule__CollectionTypeCS__OwnedTypeAssignment_1_131650);
+ ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionTypeCS__OwnedTypeAssignment_1_1"
+
+
+ // $ANTLR start "rule__MultiplicityBoundsCS__LowerBoundAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15623:1: rule__MultiplicityBoundsCS__LowerBoundAssignment_0 : ( ruleLOWER ) ;
+ public final void rule__MultiplicityBoundsCS__LowerBoundAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15627:1: ( ( ruleLOWER ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15628:1: ( ruleLOWER )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15628:1: ( ruleLOWER )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15629:1: ruleLOWER
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundLOWERParserRuleCall_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleLOWER_in_rule__MultiplicityBoundsCS__LowerBoundAssignment_031681);
+ ruleLOWER();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundLOWERParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityBoundsCS__LowerBoundAssignment_0"
+
+
+ // $ANTLR start "rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15638:1: rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 : ( ruleUPPER ) ;
+ public final void rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15642:1: ( ( ruleUPPER ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15643:1: ( ruleUPPER )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15643:1: ( ruleUPPER )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15644:1: ruleUPPER
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundUPPERParserRuleCall_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUPPER_in_rule__MultiplicityBoundsCS__UpperBoundAssignment_1_131712);
+ ruleUPPER();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundUPPERParserRuleCall_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1"
+
+
+ // $ANTLR start "rule__MultiplicityStringCS__StringBoundsAssignment"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15653:1: rule__MultiplicityStringCS__StringBoundsAssignment : ( ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 ) ) ;
+ public final void rule__MultiplicityStringCS__StringBoundsAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15657:1: ( ( ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15658:1: ( ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15658:1: ( ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15659:1: ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAlternatives_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15660:1: ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15660:2: rule__MultiplicityStringCS__StringBoundsAlternatives_0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__MultiplicityStringCS__StringBoundsAlternatives_0_in_rule__MultiplicityStringCS__StringBoundsAssignment31743);
+ rule__MultiplicityStringCS__StringBoundsAlternatives_0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAlternatives_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MultiplicityStringCS__StringBoundsAssignment"
+
+
+ // $ANTLR start "rule__TupleTypeCS__NameAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15669:1: rule__TupleTypeCS__NameAssignment_0 : ( ( 'Tuple' ) ) ;
+ public final void rule__TupleTypeCS__NameAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15673:1: ( ( ( 'Tuple' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15674:1: ( ( 'Tuple' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15674:1: ( ( 'Tuple' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15675:1: ( 'Tuple' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15676:1: ( 'Tuple' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15677:1: 'Tuple'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0());
+ }
+ match(input,54,FollowSets001.FOLLOW_54_in_rule__TupleTypeCS__NameAssignment_031781); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__NameAssignment_0"
+
+
+ // $ANTLR start "rule__TupleTypeCS__OwnedPartsAssignment_1_1_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15692:1: rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 : ( ruleTuplePartCS ) ;
+ public final void rule__TupleTypeCS__OwnedPartsAssignment_1_1_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15696:1: ( ( ruleTuplePartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15697:1: ( ruleTuplePartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15697:1: ( ruleTuplePartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15698:1: ruleTuplePartCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTuplePartCS_in_rule__TupleTypeCS__OwnedPartsAssignment_1_1_031820);
+ ruleTuplePartCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__OwnedPartsAssignment_1_1_0"
+
+
+ // $ANTLR start "rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15707:1: rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 : ( ruleTuplePartCS ) ;
+ public final void rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15711:1: ( ( ruleTuplePartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15712:1: ( ruleTuplePartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15712:1: ( ruleTuplePartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15713:1: ruleTuplePartCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTuplePartCS_in_rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_131851);
+ ruleTuplePartCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1"
+
+
+ // $ANTLR start "rule__TuplePartCS__NameAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15722:1: rule__TuplePartCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
+ public final void rule__TuplePartCS__NameAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15726:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15727:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15727:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15728:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTuplePartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__TuplePartCS__NameAssignment_031882);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTuplePartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TuplePartCS__NameAssignment_0"
+
+
+ // $ANTLR start "rule__TuplePartCS__OwnedTypeAssignment_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15737:1: rule__TuplePartCS__OwnedTypeAssignment_2 : ( ruleTypeExpCS ) ;
+ public final void rule__TuplePartCS__OwnedTypeAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15741:1: ( ( ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15742:1: ( ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15742:1: ( ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15743:1: ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTuplePartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypeExpCS_in_rule__TuplePartCS__OwnedTypeAssignment_231913);
+ ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTuplePartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TuplePartCS__OwnedTypeAssignment_2"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__OwnedTypeAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15752:1: rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 : ( ruleCollectionTypeCS ) ;
+ public final void rule__CollectionLiteralExpCS__OwnedTypeAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15756:1: ( ( ruleCollectionTypeCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15757:1: ( ruleCollectionTypeCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15757:1: ( ruleCollectionTypeCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15758:1: ruleCollectionTypeCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleCollectionTypeCS_in_rule__CollectionLiteralExpCS__OwnedTypeAssignment_031944);
+ ruleCollectionTypeCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__OwnedTypeAssignment_0"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15767:1: rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 : ( ruleCollectionLiteralPartCS ) ;
+ public final void rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15771:1: ( ( ruleCollectionLiteralPartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15772:1: ( ruleCollectionLiteralPartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15772:1: ( ruleCollectionLiteralPartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15773:1: ruleCollectionLiteralPartCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleCollectionLiteralPartCS_in_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_031975);
+ ruleCollectionLiteralPartCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0"
+
+
+ // $ANTLR start "rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15782:1: rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 : ( ruleCollectionLiteralPartCS ) ;
+ public final void rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15786:1: ( ( ruleCollectionLiteralPartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15787:1: ( ruleCollectionLiteralPartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15787:1: ( ruleCollectionLiteralPartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15788:1: ruleCollectionLiteralPartCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleCollectionLiteralPartCS_in_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_132006);
+ ruleCollectionLiteralPartCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1"
+
+
+ // $ANTLR start "rule__CollectionLiteralPartCS__ExpressionCSAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15797:1: rule__CollectionLiteralPartCS__ExpressionCSAssignment_0 : ( ruleExpCS ) ;
+ public final void rule__CollectionLiteralPartCS__ExpressionCSAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15801:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15802:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15802:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15803:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralPartCSAccess().getExpressionCSExpCSParserRuleCall_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__CollectionLiteralPartCS__ExpressionCSAssignment_032037);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralPartCSAccess().getExpressionCSExpCSParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralPartCS__ExpressionCSAssignment_0"
+
+
+ // $ANTLR start "rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15812:1: rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1 : ( ruleExpCS ) ;
+ public final void rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15816:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15817:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15817:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15818:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getCollectionLiteralPartCSAccess().getLastExpressionCSExpCSParserRuleCall_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_132068);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getCollectionLiteralPartCSAccess().getLastExpressionCSExpCSParserRuleCall_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1"
+
+
+ // $ANTLR start "rule__ConstructorPartCS__PropertyAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15827:1: rule__ConstructorPartCS__PropertyAssignment_0 : ( ( ruleUnrestrictedName ) ) ;
+ public final void rule__ConstructorPartCS__PropertyAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15831:1: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15832:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15832:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15833:1: ( ruleUnrestrictedName )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getConstructorPartCSAccess().getPropertyPropertyCrossReference_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15834:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15835:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getConstructorPartCSAccess().getPropertyPropertyUnrestrictedNameParserRuleCall_0_0_1());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__ConstructorPartCS__PropertyAssignment_032103);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getConstructorPartCSAccess().getPropertyPropertyUnrestrictedNameParserRuleCall_0_0_1());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getConstructorPartCSAccess().getPropertyPropertyCrossReference_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ConstructorPartCS__PropertyAssignment_0"
+
+
+ // $ANTLR start "rule__ConstructorPartCS__InitExpressionAssignment_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15846:1: rule__ConstructorPartCS__InitExpressionAssignment_2 : ( ruleExpCS ) ;
+ public final void rule__ConstructorPartCS__InitExpressionAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15850:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15851:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15851:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15852:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getConstructorPartCSAccess().getInitExpressionExpCSParserRuleCall_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__ConstructorPartCS__InitExpressionAssignment_232138);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getConstructorPartCSAccess().getInitExpressionExpCSParserRuleCall_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ConstructorPartCS__InitExpressionAssignment_2"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__OwnedPartsAssignment_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15861:1: rule__TupleLiteralExpCS__OwnedPartsAssignment_2 : ( ruleTupleLiteralPartCS ) ;
+ public final void rule__TupleLiteralExpCS__OwnedPartsAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15865:1: ( ( ruleTupleLiteralPartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15866:1: ( ruleTupleLiteralPartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15866:1: ( ruleTupleLiteralPartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15867:1: ruleTupleLiteralPartCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTupleLiteralPartCS_in_rule__TupleLiteralExpCS__OwnedPartsAssignment_232169);
+ ruleTupleLiteralPartCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__OwnedPartsAssignment_2"
+
+
+ // $ANTLR start "rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15876:1: rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 : ( ruleTupleLiteralPartCS ) ;
+ public final void rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15880:1: ( ( ruleTupleLiteralPartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15881:1: ( ruleTupleLiteralPartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15881:1: ( ruleTupleLiteralPartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15882:1: ruleTupleLiteralPartCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_3_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTupleLiteralPartCS_in_rule__TupleLiteralExpCS__OwnedPartsAssignment_3_132200);
+ ruleTupleLiteralPartCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_3_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__NameAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15891:1: rule__TupleLiteralPartCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
+ public final void rule__TupleLiteralPartCS__NameAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15895:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15896:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15896:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15897:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralPartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__TupleLiteralPartCS__NameAssignment_032231);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralPartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__NameAssignment_0"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15906:1: rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 : ( ruleTypeExpCS ) ;
+ public final void rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15910:1: ( ( ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15911:1: ( ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15911:1: ( ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15912:1: ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypeExpCS_in_rule__TupleLiteralPartCS__OwnedTypeAssignment_1_132262);
+ ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1"
+
+
+ // $ANTLR start "rule__TupleLiteralPartCS__InitExpressionAssignment_3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15921:1: rule__TupleLiteralPartCS__InitExpressionAssignment_3 : ( ruleExpCS ) ;
+ public final void rule__TupleLiteralPartCS__InitExpressionAssignment_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15925:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15926:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15926:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15927:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTupleLiteralPartCSAccess().getInitExpressionExpCSParserRuleCall_3_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__TupleLiteralPartCS__InitExpressionAssignment_332293);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTupleLiteralPartCSAccess().getInitExpressionExpCSParserRuleCall_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TupleLiteralPartCS__InitExpressionAssignment_3"
+
+
+ // $ANTLR start "rule__NumberLiteralExpCS__NameAssignment"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15936:1: rule__NumberLiteralExpCS__NameAssignment : ( ruleNUMBER_LITERAL ) ;
+ public final void rule__NumberLiteralExpCS__NameAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15940:1: ( ( ruleNUMBER_LITERAL ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15941:1: ( ruleNUMBER_LITERAL )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15941:1: ( ruleNUMBER_LITERAL )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15942:1: ruleNUMBER_LITERAL
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNumberLiteralExpCSAccess().getNameNUMBER_LITERALParserRuleCall_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleNUMBER_LITERAL_in_rule__NumberLiteralExpCS__NameAssignment32324);
+ ruleNUMBER_LITERAL();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNumberLiteralExpCSAccess().getNameNUMBER_LITERALParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NumberLiteralExpCS__NameAssignment"
+
+
+ // $ANTLR start "rule__StringLiteralExpCS__NameAssignment"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15951:1: rule__StringLiteralExpCS__NameAssignment : ( ruleStringLiteral ) ;
+ public final void rule__StringLiteralExpCS__NameAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15955:1: ( ( ruleStringLiteral ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15956:1: ( ruleStringLiteral )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15956:1: ( ruleStringLiteral )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15957:1: ruleStringLiteral
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStringLiteralExpCSAccess().getNameStringLiteralParserRuleCall_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleStringLiteral_in_rule__StringLiteralExpCS__NameAssignment32355);
+ ruleStringLiteral();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStringLiteralExpCSAccess().getNameStringLiteralParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__StringLiteralExpCS__NameAssignment"
+
+
+ // $ANTLR start "rule__BooleanLiteralExpCS__NameAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15966:1: rule__BooleanLiteralExpCS__NameAssignment_0 : ( ( 'true' ) ) ;
+ public final void rule__BooleanLiteralExpCS__NameAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15970:1: ( ( ( 'true' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15971:1: ( ( 'true' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15971:1: ( ( 'true' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15972:1: ( 'true' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getBooleanLiteralExpCSAccess().getNameTrueKeyword_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15973:1: ( 'true' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15974:1: 'true'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getBooleanLiteralExpCSAccess().getNameTrueKeyword_0_0());
+ }
+ match(input,91,FollowSets001.FOLLOW_91_in_rule__BooleanLiteralExpCS__NameAssignment_032391); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getBooleanLiteralExpCSAccess().getNameTrueKeyword_0_0());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getBooleanLiteralExpCSAccess().getNameTrueKeyword_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__BooleanLiteralExpCS__NameAssignment_0"
+
+
+ // $ANTLR start "rule__BooleanLiteralExpCS__NameAssignment_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15989:1: rule__BooleanLiteralExpCS__NameAssignment_1 : ( ( 'false' ) ) ;
+ public final void rule__BooleanLiteralExpCS__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15993:1: ( ( ( 'false' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15994:1: ( ( 'false' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15994:1: ( ( 'false' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15995:1: ( 'false' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getBooleanLiteralExpCSAccess().getNameFalseKeyword_1_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15996:1: ( 'false' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:15997:1: 'false'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getBooleanLiteralExpCSAccess().getNameFalseKeyword_1_0());
+ }
+ match(input,92,FollowSets001.FOLLOW_92_in_rule__BooleanLiteralExpCS__NameAssignment_132435); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getBooleanLiteralExpCSAccess().getNameFalseKeyword_1_0());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getBooleanLiteralExpCSAccess().getNameFalseKeyword_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__BooleanLiteralExpCS__NameAssignment_1"
+
+
+ // $ANTLR start "rule__TypeLiteralExpCS__OwnedTypeAssignment"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16012:1: rule__TypeLiteralExpCS__OwnedTypeAssignment : ( ruleTypeLiteralCS ) ;
+ public final void rule__TypeLiteralExpCS__OwnedTypeAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16016:1: ( ( ruleTypeLiteralCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16017:1: ( ruleTypeLiteralCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16017:1: ( ruleTypeLiteralCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16018:1: ruleTypeLiteralCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeTypeLiteralCSParserRuleCall_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypeLiteralCS_in_rule__TypeLiteralExpCS__OwnedTypeAssignment32474);
+ ruleTypeLiteralCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeTypeLiteralCSParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TypeLiteralExpCS__OwnedTypeAssignment"
+
+
+ // $ANTLR start "rule__TypeNameExpCS__PathNameAssignment"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16027:1: rule__TypeNameExpCS__PathNameAssignment : ( rulePathNameCS ) ;
+ public final void rule__TypeNameExpCS__PathNameAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16031:1: ( ( rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16032:1: ( rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16032:1: ( rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16033:1: rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeNameExpCSAccess().getPathNamePathNameCSParserRuleCall_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePathNameCS_in_rule__TypeNameExpCS__PathNameAssignment32505);
+ rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeNameExpCSAccess().getPathNamePathNameCSParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TypeNameExpCS__PathNameAssignment"
+
+
+ // $ANTLR start "rule__TypeExpCS__MultiplicityAssignment_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16042:1: rule__TypeExpCS__MultiplicityAssignment_1 : ( ruleMultiplicityCS ) ;
+ public final void rule__TypeExpCS__MultiplicityAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16046:1: ( ( ruleMultiplicityCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16047:1: ( ruleMultiplicityCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16047:1: ( ruleMultiplicityCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16048:1: ruleMultiplicityCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTypeExpCSAccess().getMultiplicityMultiplicityCSParserRuleCall_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleMultiplicityCS_in_rule__TypeExpCS__MultiplicityAssignment_132536);
+ ruleMultiplicityCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getTypeExpCSAccess().getMultiplicityMultiplicityCSParserRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TypeExpCS__MultiplicityAssignment_1"
+
+
+ // $ANTLR start "rule__ExpCS__OwnedExpressionAssignment_0_1_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16057:1: rule__ExpCS__OwnedExpressionAssignment_0_1_0 : ( rulePrefixedExpCS ) ;
+ public final void rule__ExpCS__OwnedExpressionAssignment_0_1_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16061:1: ( ( rulePrefixedExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16062:1: ( rulePrefixedExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16062:1: ( rulePrefixedExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16063:1: rulePrefixedExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpCSParserRuleCall_0_1_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePrefixedExpCS_in_rule__ExpCS__OwnedExpressionAssignment_0_1_032567);
+ rulePrefixedExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpCSParserRuleCall_0_1_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__OwnedExpressionAssignment_0_1_0"
+
+
+ // $ANTLR start "rule__ExpCS__OwnedOperatorAssignment_0_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16072:1: rule__ExpCS__OwnedOperatorAssignment_0_1_1 : ( ruleBinaryOperatorCS ) ;
+ public final void rule__ExpCS__OwnedOperatorAssignment_0_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16076:1: ( ( ruleBinaryOperatorCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16077:1: ( ruleBinaryOperatorCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16077:1: ( ruleBinaryOperatorCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16078:1: ruleBinaryOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getOwnedOperatorBinaryOperatorCSParserRuleCall_0_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleBinaryOperatorCS_in_rule__ExpCS__OwnedOperatorAssignment_0_1_132598);
+ ruleBinaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getOwnedOperatorBinaryOperatorCSParserRuleCall_0_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__OwnedOperatorAssignment_0_1_1"
+
+
+ // $ANTLR start "rule__ExpCS__OwnedExpressionAssignment_0_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16087:1: rule__ExpCS__OwnedExpressionAssignment_0_2 : ( rulePrefixedExpOrLetExpCS ) ;
+ public final void rule__ExpCS__OwnedExpressionAssignment_0_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16091:1: ( ( rulePrefixedExpOrLetExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16092:1: ( rulePrefixedExpOrLetExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16092:1: ( rulePrefixedExpOrLetExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16093:1: rulePrefixedExpOrLetExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpOrLetExpCSParserRuleCall_0_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePrefixedExpOrLetExpCS_in_rule__ExpCS__OwnedExpressionAssignment_0_232629);
+ rulePrefixedExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpOrLetExpCSParserRuleCall_0_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__OwnedExpressionAssignment_0_2"
+
+
+ // $ANTLR start "rule__ExpCS__OwnedOperatorAssignment_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16102:1: rule__ExpCS__OwnedOperatorAssignment_1_1 : ( ruleUnaryOperatorCS ) ;
+ public final void rule__ExpCS__OwnedOperatorAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16106:1: ( ( ruleUnaryOperatorCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16107:1: ( ruleUnaryOperatorCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16107:1: ( ruleUnaryOperatorCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16108:1: ruleUnaryOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnaryOperatorCS_in_rule__ExpCS__OwnedOperatorAssignment_1_132660);
+ ruleUnaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__OwnedOperatorAssignment_1_1"
+
+
+ // $ANTLR start "rule__ExpCS__OwnedExpressionAssignment_1_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16117:1: rule__ExpCS__OwnedExpressionAssignment_1_2 : ( rulePrimaryExpOrLetExpCS ) ;
+ public final void rule__ExpCS__OwnedExpressionAssignment_1_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16121:1: ( ( rulePrimaryExpOrLetExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16122:1: ( rulePrimaryExpOrLetExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16122:1: ( rulePrimaryExpOrLetExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16123:1: rulePrimaryExpOrLetExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePrimaryExpOrLetExpCS_in_rule__ExpCS__OwnedExpressionAssignment_1_232691);
+ rulePrimaryExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ExpCS__OwnedExpressionAssignment_1_2"
+
+
+ // $ANTLR start "rule__InfixOperatorCS__NameAssignment"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16132:1: rule__InfixOperatorCS__NameAssignment : ( ruleInfixOperator ) ;
+ public final void rule__InfixOperatorCS__NameAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16136:1: ( ( ruleInfixOperator ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16137:1: ( ruleInfixOperator )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16137:1: ( ruleInfixOperator )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16138:1: ruleInfixOperator
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getInfixOperatorCSAccess().getNameInfixOperatorParserRuleCall_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleInfixOperator_in_rule__InfixOperatorCS__NameAssignment32722);
+ ruleInfixOperator();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getInfixOperatorCSAccess().getNameInfixOperatorParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__InfixOperatorCS__NameAssignment"
+
+
+ // $ANTLR start "rule__NavigationOperatorCS__NameAssignment"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16147:1: rule__NavigationOperatorCS__NameAssignment : ( ruleNavigationOperator ) ;
+ public final void rule__NavigationOperatorCS__NameAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16151:1: ( ( ruleNavigationOperator ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16152:1: ( ruleNavigationOperator )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16152:1: ( ruleNavigationOperator )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16153:1: ruleNavigationOperator
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigationOperatorCSAccess().getNameNavigationOperatorParserRuleCall_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleNavigationOperator_in_rule__NavigationOperatorCS__NameAssignment32753);
+ ruleNavigationOperator();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigationOperatorCSAccess().getNameNavigationOperatorParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigationOperatorCS__NameAssignment"
+
+
+ // $ANTLR start "rule__PrefixedExpCS__OwnedOperatorAssignment_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16162:1: rule__PrefixedExpCS__OwnedOperatorAssignment_1_1 : ( ruleUnaryOperatorCS ) ;
+ public final void rule__PrefixedExpCS__OwnedOperatorAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16166:1: ( ( ruleUnaryOperatorCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16167:1: ( ruleUnaryOperatorCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16167:1: ( ruleUnaryOperatorCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16168:1: ruleUnaryOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnaryOperatorCS_in_rule__PrefixedExpCS__OwnedOperatorAssignment_1_132784);
+ ruleUnaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpCS__OwnedOperatorAssignment_1_1"
+
+
+ // $ANTLR start "rule__PrefixedExpCS__OwnedExpressionAssignment_1_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16177:1: rule__PrefixedExpCS__OwnedExpressionAssignment_1_2 : ( rulePrimaryExpCS ) ;
+ public final void rule__PrefixedExpCS__OwnedExpressionAssignment_1_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16181:1: ( ( rulePrimaryExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16182:1: ( rulePrimaryExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16182:1: ( rulePrimaryExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16183:1: rulePrimaryExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpCSAccess().getOwnedExpressionPrimaryExpCSParserRuleCall_1_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePrimaryExpCS_in_rule__PrefixedExpCS__OwnedExpressionAssignment_1_232815);
+ rulePrimaryExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpCSAccess().getOwnedExpressionPrimaryExpCSParserRuleCall_1_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpCS__OwnedExpressionAssignment_1_2"
+
+
+ // $ANTLR start "rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16192:1: rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1 : ( ruleUnaryOperatorCS ) ;
+ public final void rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16196:1: ( ( ruleUnaryOperatorCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16197:1: ( ruleUnaryOperatorCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16197:1: ( ruleUnaryOperatorCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16198:1: ruleUnaryOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnaryOperatorCS_in_rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_132846);
+ ruleUnaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1"
+
+
+ // $ANTLR start "rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16207:1: rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2 : ( rulePrimaryExpOrLetExpCS ) ;
+ public final void rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16211:1: ( ( rulePrimaryExpOrLetExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16212:1: ( rulePrimaryExpOrLetExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16212:1: ( rulePrimaryExpOrLetExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16213:1: rulePrimaryExpOrLetExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePrimaryExpOrLetExpCS_in_rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_232877);
+ rulePrimaryExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2"
+
+
+ // $ANTLR start "rule__UnaryOperatorCS__NameAssignment"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16222:1: rule__UnaryOperatorCS__NameAssignment : ( rulePrefixOperator ) ;
+ public final void rule__UnaryOperatorCS__NameAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16226:1: ( ( rulePrefixOperator ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16227:1: ( rulePrefixOperator )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16227:1: ( rulePrefixOperator )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16228:1: rulePrefixOperator
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getUnaryOperatorCSAccess().getNamePrefixOperatorParserRuleCall_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePrefixOperator_in_rule__UnaryOperatorCS__NameAssignment32908);
+ rulePrefixOperator();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getUnaryOperatorCSAccess().getNamePrefixOperatorParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__UnaryOperatorCS__NameAssignment"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__PathNameAssignment_0_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16237:1: rule__PrimaryExpCS__PathNameAssignment_0_1 : ( rulePathNameCS ) ;
+ public final void rule__PrimaryExpCS__PathNameAssignment_0_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16241:1: ( ( rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16242:1: ( rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16242:1: ( rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16243:1: rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_0_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePathNameCS_in_rule__PrimaryExpCS__PathNameAssignment_0_132939);
+ rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_0_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__PathNameAssignment_0_1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__FirstIndexesAssignment_0_3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16252:1: rule__PrimaryExpCS__FirstIndexesAssignment_0_3 : ( ruleExpCS ) ;
+ public final void rule__PrimaryExpCS__FirstIndexesAssignment_0_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16256:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16257:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16257:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16258:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_3_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__PrimaryExpCS__FirstIndexesAssignment_0_332970);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__FirstIndexesAssignment_0_3"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16267:1: rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1 : ( ruleExpCS ) ;
+ public final void rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16271:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16272:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16272:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16273:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_4_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__PrimaryExpCS__FirstIndexesAssignment_0_4_133001);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_4_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16282:1: rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1 : ( ruleExpCS ) ;
+ public final void rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16286:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16287:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16287:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16288:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__PrimaryExpCS__SecondIndexesAssignment_0_6_133032);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16297:1: rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1 : ( ruleExpCS ) ;
+ public final void rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16301:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16302:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16302:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16303:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_2_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_133063);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__AtPreAssignment_0_7_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16312:1: rule__PrimaryExpCS__AtPreAssignment_0_7_0 : ( ( '@' ) ) ;
+ public final void rule__PrimaryExpCS__AtPreAssignment_0_7_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16316:1: ( ( ( '@' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16317:1: ( ( '@' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16317:1: ( ( '@' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16318:1: ( '@' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_0_7_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16319:1: ( '@' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16320:1: '@'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_0_7_0_0());
+ }
+ match(input,93,FollowSets001.FOLLOW_93_in_rule__PrimaryExpCS__AtPreAssignment_0_7_033099); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_0_7_0_0());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_0_7_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__AtPreAssignment_0_7_0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__PathNameAssignment_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16335:1: rule__PrimaryExpCS__PathNameAssignment_1_1 : ( rulePathNameCS ) ;
+ public final void rule__PrimaryExpCS__PathNameAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16339:1: ( ( rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16340:1: ( rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16340:1: ( rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16341:1: rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePathNameCS_in_rule__PrimaryExpCS__PathNameAssignment_1_133138);
+ rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__PathNameAssignment_1_1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__OwnedPartsAssignment_1_3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16350:1: rule__PrimaryExpCS__OwnedPartsAssignment_1_3 : ( ruleConstructorPartCS ) ;
+ public final void rule__PrimaryExpCS__OwnedPartsAssignment_1_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16354:1: ( ( ruleConstructorPartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16355:1: ( ruleConstructorPartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16355:1: ( ruleConstructorPartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16356:1: ruleConstructorPartCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_3_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleConstructorPartCS_in_rule__PrimaryExpCS__OwnedPartsAssignment_1_333169);
+ ruleConstructorPartCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__OwnedPartsAssignment_1_3"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16365:1: rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1 : ( ruleConstructorPartCS ) ;
+ public final void rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16369:1: ( ( ruleConstructorPartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16370:1: ( ruleConstructorPartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16370:1: ( ruleConstructorPartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16371:1: ruleConstructorPartCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_4_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleConstructorPartCS_in_rule__PrimaryExpCS__OwnedPartsAssignment_1_4_133200);
+ ruleConstructorPartCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_4_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__PathNameAssignment_2_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16380:1: rule__PrimaryExpCS__PathNameAssignment_2_1 : ( rulePathNameCS ) ;
+ public final void rule__PrimaryExpCS__PathNameAssignment_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16384:1: ( ( rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16385:1: ( rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16385:1: ( rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16386:1: rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_2_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePathNameCS_in_rule__PrimaryExpCS__PathNameAssignment_2_133231);
+ rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__PathNameAssignment_2_1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__AtPreAssignment_2_2_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16395:1: rule__PrimaryExpCS__AtPreAssignment_2_2_0 : ( ( '@' ) ) ;
+ public final void rule__PrimaryExpCS__AtPreAssignment_2_2_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16399:1: ( ( ( '@' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16400:1: ( ( '@' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16400:1: ( ( '@' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16401:1: ( '@' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_2_2_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16402:1: ( '@' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16403:1: '@'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_2_2_0_0());
+ }
+ match(input,93,FollowSets001.FOLLOW_93_in_rule__PrimaryExpCS__AtPreAssignment_2_2_033267); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_2_2_0_0());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_2_2_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__AtPreAssignment_2_2_0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__ArgumentAssignment_2_4_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16418:1: rule__PrimaryExpCS__ArgumentAssignment_2_4_0 : ( ruleNavigatingArgCS ) ;
+ public final void rule__PrimaryExpCS__ArgumentAssignment_2_4_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16422:1: ( ( ruleNavigatingArgCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16423:1: ( ruleNavigatingArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16423:1: ( ruleNavigatingArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16424:1: ruleNavigatingArgCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingArgCSParserRuleCall_2_4_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleNavigatingArgCS_in_rule__PrimaryExpCS__ArgumentAssignment_2_4_033306);
+ ruleNavigatingArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingArgCSParserRuleCall_2_4_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__ArgumentAssignment_2_4_0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__ArgumentAssignment_2_4_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16433:1: rule__PrimaryExpCS__ArgumentAssignment_2_4_1 : ( ruleNavigatingCommaArgCS ) ;
+ public final void rule__PrimaryExpCS__ArgumentAssignment_2_4_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16437:1: ( ( ruleNavigatingCommaArgCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16438:1: ( ruleNavigatingCommaArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16438:1: ( ruleNavigatingCommaArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16439:1: ruleNavigatingCommaArgCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleNavigatingCommaArgCS_in_rule__PrimaryExpCS__ArgumentAssignment_2_4_133337);
+ ruleNavigatingCommaArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__ArgumentAssignment_2_4_1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16448:1: rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0 : ( ruleNavigatingSemiArgCS ) ;
+ public final void rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16452:1: ( ( ruleNavigatingSemiArgCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16453:1: ( ruleNavigatingSemiArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16453:1: ( ruleNavigatingSemiArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16454:1: ruleNavigatingSemiArgCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingSemiArgCSParserRuleCall_2_4_2_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleNavigatingSemiArgCS_in_rule__PrimaryExpCS__ArgumentAssignment_2_4_2_033368);
+ ruleNavigatingSemiArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingSemiArgCSParserRuleCall_2_4_2_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16463:1: rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1 : ( ruleNavigatingCommaArgCS ) ;
+ public final void rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16467:1: ( ( ruleNavigatingCommaArgCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16468:1: ( ruleNavigatingCommaArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16468:1: ( ruleNavigatingCommaArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16469:1: ruleNavigatingCommaArgCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_2_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleNavigatingCommaArgCS_in_rule__PrimaryExpCS__ArgumentAssignment_2_4_2_133399);
+ ruleNavigatingCommaArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16478:1: rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0 : ( ruleNavigatingBarArgCS ) ;
+ public final void rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16482:1: ( ( ruleNavigatingBarArgCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16483:1: ( ruleNavigatingBarArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16483:1: ( ruleNavigatingBarArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16484:1: ruleNavigatingBarArgCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingBarArgCSParserRuleCall_2_4_3_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleNavigatingBarArgCS_in_rule__PrimaryExpCS__ArgumentAssignment_2_4_3_033430);
+ ruleNavigatingBarArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingBarArgCSParserRuleCall_2_4_3_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16493:1: rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1 : ( ruleNavigatingCommaArgCS ) ;
+ public final void rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16497:1: ( ( ruleNavigatingCommaArgCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16498:1: ( ruleNavigatingCommaArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16498:1: ( ruleNavigatingCommaArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16499:1: ruleNavigatingCommaArgCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_3_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleNavigatingCommaArgCS_in_rule__PrimaryExpCS__ArgumentAssignment_2_4_3_133461);
+ ruleNavigatingCommaArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_3_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__PathNameAssignment_3_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16508:1: rule__PrimaryExpCS__PathNameAssignment_3_1 : ( rulePathNameCS ) ;
+ public final void rule__PrimaryExpCS__PathNameAssignment_3_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16512:1: ( ( rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16513:1: ( rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16513:1: ( rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16514:1: rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_3_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_rulePathNameCS_in_rule__PrimaryExpCS__PathNameAssignment_3_133492);
+ rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_3_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__PathNameAssignment_3_1"
+
+
+ // $ANTLR start "rule__PrimaryExpCS__AtPreAssignment_3_2_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16523:1: rule__PrimaryExpCS__AtPreAssignment_3_2_0 : ( ( '@' ) ) ;
+ public final void rule__PrimaryExpCS__AtPreAssignment_3_2_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16527:1: ( ( ( '@' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16528:1: ( ( '@' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16528:1: ( ( '@' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16529:1: ( '@' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_3_2_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16530:1: ( '@' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16531:1: '@'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_3_2_0_0());
+ }
+ match(input,93,FollowSets001.FOLLOW_93_in_rule__PrimaryExpCS__AtPreAssignment_3_2_033528); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_3_2_0_0());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_3_2_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpCS__AtPreAssignment_3_2_0"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__NameAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16546:1: rule__NavigatingArgCS__NameAssignment_0 : ( ruleNavigatingArgExpCS ) ;
+ public final void rule__NavigatingArgCS__NameAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16550:1: ( ( ruleNavigatingArgExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16551:1: ( ruleNavigatingArgExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16551:1: ( ruleNavigatingArgExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16552:1: ruleNavigatingArgExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingArgCS__NameAssignment_033567);
+ ruleNavigatingArgExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__NameAssignment_0"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__OwnedTypeAssignment_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16561:1: rule__NavigatingArgCS__OwnedTypeAssignment_1_1 : ( ruleTypeExpCS ) ;
+ public final void rule__NavigatingArgCS__OwnedTypeAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16565:1: ( ( ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16566:1: ( ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16566:1: ( ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16567:1: ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypeExpCS_in_rule__NavigatingArgCS__OwnedTypeAssignment_1_133598);
+ ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__OwnedTypeAssignment_1_1"
+
+
+ // $ANTLR start "rule__NavigatingArgCS__InitAssignment_1_2_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16576:1: rule__NavigatingArgCS__InitAssignment_1_2_1 : ( ruleExpCS ) ;
+ public final void rule__NavigatingArgCS__InitAssignment_1_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16580:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16581:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16581:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16582:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingArgCSAccess().getInitExpCSParserRuleCall_1_2_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__NavigatingArgCS__InitAssignment_1_2_133629);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingArgCSAccess().getInitExpCSParserRuleCall_1_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingArgCS__InitAssignment_1_2_1"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__PrefixAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16591:1: rule__NavigatingBarArgCS__PrefixAssignment_0 : ( ( '|' ) ) ;
+ public final void rule__NavigatingBarArgCS__PrefixAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16595:1: ( ( ( '|' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16596:1: ( ( '|' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16596:1: ( ( '|' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16597:1: ( '|' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16598:1: ( '|' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16599:1: '|'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0());
+ }
+ match(input,94,FollowSets001.FOLLOW_94_in_rule__NavigatingBarArgCS__PrefixAssignment_033665); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__PrefixAssignment_0"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__NameAssignment_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16614:1: rule__NavigatingBarArgCS__NameAssignment_1 : ( ruleNavigatingArgExpCS ) ;
+ public final void rule__NavigatingBarArgCS__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16618:1: ( ( ruleNavigatingArgExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16619:1: ( ruleNavigatingArgExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16619:1: ( ruleNavigatingArgExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16620:1: ruleNavigatingArgExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingBarArgCS__NameAssignment_133704);
+ ruleNavigatingArgExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__NameAssignment_1"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16629:1: rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 : ( ruleTypeExpCS ) ;
+ public final void rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16633:1: ( ( ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16634:1: ( ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16634:1: ( ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16635:1: ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypeExpCS_in_rule__NavigatingBarArgCS__OwnedTypeAssignment_2_133735);
+ ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1"
+
+
+ // $ANTLR start "rule__NavigatingBarArgCS__InitAssignment_2_2_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16644:1: rule__NavigatingBarArgCS__InitAssignment_2_2_1 : ( ruleExpCS ) ;
+ public final void rule__NavigatingBarArgCS__InitAssignment_2_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16648:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16649:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16649:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16650:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingBarArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__NavigatingBarArgCS__InitAssignment_2_2_133766);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingBarArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingBarArgCS__InitAssignment_2_2_1"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__PrefixAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16659:1: rule__NavigatingCommaArgCS__PrefixAssignment_0 : ( ( ',' ) ) ;
+ public final void rule__NavigatingCommaArgCS__PrefixAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16663:1: ( ( ( ',' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16664:1: ( ( ',' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16664:1: ( ( ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16665:1: ( ',' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16666:1: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16667:1: ','
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0());
+ }
+ match(input,73,FollowSets001.FOLLOW_73_in_rule__NavigatingCommaArgCS__PrefixAssignment_033802); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__PrefixAssignment_0"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__NameAssignment_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16682:1: rule__NavigatingCommaArgCS__NameAssignment_1 : ( ruleNavigatingArgExpCS ) ;
+ public final void rule__NavigatingCommaArgCS__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16686:1: ( ( ruleNavigatingArgExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16687:1: ( ruleNavigatingArgExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16687:1: ( ruleNavigatingArgExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16688:1: ruleNavigatingArgExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingCommaArgCS__NameAssignment_133841);
+ ruleNavigatingArgExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__NameAssignment_1"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16697:1: rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1 : ( ruleTypeExpCS ) ;
+ public final void rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16701:1: ( ( ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16702:1: ( ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16702:1: ( ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16703:1: ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypeExpCS_in_rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_133872);
+ ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1"
+
+
+ // $ANTLR start "rule__NavigatingCommaArgCS__InitAssignment_2_2_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16712:1: rule__NavigatingCommaArgCS__InitAssignment_2_2_1 : ( ruleExpCS ) ;
+ public final void rule__NavigatingCommaArgCS__InitAssignment_2_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16716:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16717:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16717:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16718:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingCommaArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__NavigatingCommaArgCS__InitAssignment_2_2_133903);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingCommaArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingCommaArgCS__InitAssignment_2_2_1"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__PrefixAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16727:1: rule__NavigatingSemiArgCS__PrefixAssignment_0 : ( ( ';' ) ) ;
+ public final void rule__NavigatingSemiArgCS__PrefixAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16731:1: ( ( ( ';' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16732:1: ( ( ';' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16732:1: ( ( ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16733:1: ( ';' )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16734:1: ( ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16735:1: ';'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0());
+ }
+ match(input,17,FollowSets001.FOLLOW_17_in_rule__NavigatingSemiArgCS__PrefixAssignment_033939); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0());
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__PrefixAssignment_0"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__NameAssignment_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16750:1: rule__NavigatingSemiArgCS__NameAssignment_1 : ( ruleNavigatingArgExpCS ) ;
+ public final void rule__NavigatingSemiArgCS__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16754:1: ( ( ruleNavigatingArgExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16755:1: ( ruleNavigatingArgExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16755:1: ( ruleNavigatingArgExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16756:1: ruleNavigatingArgExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingSemiArgCS__NameAssignment_133978);
+ ruleNavigatingArgExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__NameAssignment_1"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16765:1: rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 : ( ruleTypeExpCS ) ;
+ public final void rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16769:1: ( ( ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16770:1: ( ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16770:1: ( ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16771:1: ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypeExpCS_in_rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_134009);
+ ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1"
+
+
+ // $ANTLR start "rule__NavigatingSemiArgCS__InitAssignment_2_2_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16780:1: rule__NavigatingSemiArgCS__InitAssignment_2_2_1 : ( ruleExpCS ) ;
+ public final void rule__NavigatingSemiArgCS__InitAssignment_2_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16784:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16785:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16785:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16786:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNavigatingSemiArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__NavigatingSemiArgCS__InitAssignment_2_2_134040);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNavigatingSemiArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NavigatingSemiArgCS__InitAssignment_2_2_1"
+
+
+ // $ANTLR start "rule__IfExpCS__ConditionAssignment_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16795:1: rule__IfExpCS__ConditionAssignment_1 : ( ruleExpCS ) ;
+ public final void rule__IfExpCS__ConditionAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16799:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16800:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16800:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16801:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIfExpCSAccess().getConditionExpCSParserRuleCall_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__IfExpCS__ConditionAssignment_134071);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIfExpCSAccess().getConditionExpCSParserRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__ConditionAssignment_1"
+
+
+ // $ANTLR start "rule__IfExpCS__ThenExpressionAssignment_3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16810:1: rule__IfExpCS__ThenExpressionAssignment_3 : ( ruleExpCS ) ;
+ public final void rule__IfExpCS__ThenExpressionAssignment_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16814:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16815:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16815:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16816:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIfExpCSAccess().getThenExpressionExpCSParserRuleCall_3_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__IfExpCS__ThenExpressionAssignment_334102);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIfExpCSAccess().getThenExpressionExpCSParserRuleCall_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__ThenExpressionAssignment_3"
+
+
+ // $ANTLR start "rule__IfExpCS__ElseExpressionAssignment_5"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16825:1: rule__IfExpCS__ElseExpressionAssignment_5 : ( ruleExpCS ) ;
+ public final void rule__IfExpCS__ElseExpressionAssignment_5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16829:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16830:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16830:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16831:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIfExpCSAccess().getElseExpressionExpCSParserRuleCall_5_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__IfExpCS__ElseExpressionAssignment_534133);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIfExpCSAccess().getElseExpressionExpCSParserRuleCall_5_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__IfExpCS__ElseExpressionAssignment_5"
+
+
+ // $ANTLR start "rule__LetExpCS__VariableAssignment_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16840:1: rule__LetExpCS__VariableAssignment_1 : ( ruleLetVariableCS ) ;
+ public final void rule__LetExpCS__VariableAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16844:1: ( ( ruleLetVariableCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16845:1: ( ruleLetVariableCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16845:1: ( ruleLetVariableCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16846:1: ruleLetVariableCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetExpCSAccess().getVariableLetVariableCSParserRuleCall_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleLetVariableCS_in_rule__LetExpCS__VariableAssignment_134164);
+ ruleLetVariableCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetExpCSAccess().getVariableLetVariableCSParserRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__VariableAssignment_1"
+
+
+ // $ANTLR start "rule__LetExpCS__VariableAssignment_2_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16855:1: rule__LetExpCS__VariableAssignment_2_1 : ( ruleLetVariableCS ) ;
+ public final void rule__LetExpCS__VariableAssignment_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16859:1: ( ( ruleLetVariableCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16860:1: ( ruleLetVariableCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16860:1: ( ruleLetVariableCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16861:1: ruleLetVariableCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetExpCSAccess().getVariableLetVariableCSParserRuleCall_2_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleLetVariableCS_in_rule__LetExpCS__VariableAssignment_2_134195);
+ ruleLetVariableCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetExpCSAccess().getVariableLetVariableCSParserRuleCall_2_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__VariableAssignment_2_1"
+
+
+ // $ANTLR start "rule__LetExpCS__InAssignment_4"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16870:1: rule__LetExpCS__InAssignment_4 : ( ruleExpCS ) ;
+ public final void rule__LetExpCS__InAssignment_4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16874:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16875:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16875:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16876:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetExpCSAccess().getInExpCSParserRuleCall_4_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__LetExpCS__InAssignment_434226);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetExpCSAccess().getInExpCSParserRuleCall_4_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetExpCS__InAssignment_4"
+
+
+ // $ANTLR start "rule__LetVariableCS__NameAssignment_0"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16885:1: rule__LetVariableCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
+ public final void rule__LetVariableCS__NameAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16889:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16890:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16890:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16891:1: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__LetVariableCS__NameAssignment_034257);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__NameAssignment_0"
+
+
+ // $ANTLR start "rule__LetVariableCS__OwnedTypeAssignment_1_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16900:1: rule__LetVariableCS__OwnedTypeAssignment_1_1 : ( ruleTypeExpCS ) ;
+ public final void rule__LetVariableCS__OwnedTypeAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16904:1: ( ( ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16905:1: ( ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16905:1: ( ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16906:1: ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetVariableCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypeExpCS_in_rule__LetVariableCS__OwnedTypeAssignment_1_134288);
+ ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetVariableCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__OwnedTypeAssignment_1_1"
+
+
+ // $ANTLR start "rule__LetVariableCS__InitExpressionAssignment_3"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16915:1: rule__LetVariableCS__InitExpressionAssignment_3 : ( ruleExpCS ) ;
+ public final void rule__LetVariableCS__InitExpressionAssignment_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16919:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16920:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16920:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16921:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLetVariableCSAccess().getInitExpressionExpCSParserRuleCall_3_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__LetVariableCS__InitExpressionAssignment_334319);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLetVariableCSAccess().getInitExpressionExpCSParserRuleCall_3_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LetVariableCS__InitExpressionAssignment_3"
+
+
+ // $ANTLR start "rule__NestedExpCS__SourceAssignment_1"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16930:1: rule__NestedExpCS__SourceAssignment_1 : ( ruleExpCS ) ;
+ public final void rule__NestedExpCS__SourceAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16934:1: ( ( ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16935:1: ( ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16935:1: ( ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:16936:1: ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNestedExpCSAccess().getSourceExpCSParserRuleCall_1_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_rule__NestedExpCS__SourceAssignment_134350);
+ ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNestedExpCSAccess().getSourceExpCSParserRuleCall_1_0());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__NestedExpCS__SourceAssignment_1"
+
+ // $ANTLR start synpred6_InternalQVTrelation
+ public final void synpred6_InternalQVTrelation_fragment() throws RecognitionException {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2575:1: ( ( ruleObjectTemplateCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2575:1: ( ruleObjectTemplateCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2575:1: ( ruleObjectTemplateCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:2576:1: ruleObjectTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getTemplateCSAccess().getObjectTemplateCSParserRuleCall_0_0());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleObjectTemplateCS_in_synpred6_InternalQVTrelation5455);
+ ruleObjectTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred6_InternalQVTrelation
+
+ // $ANTLR start synpred77_InternalQVTrelation
+ public final void synpred77_InternalQVTrelation_fragment() throws RecognitionException {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3506:1: ( ( ( rule__ExpCS__Group_0__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3506:1: ( ( rule__ExpCS__Group_0__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3506:1: ( ( rule__ExpCS__Group_0__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3507:1: ( rule__ExpCS__Group_0__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getGroup_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3508:1: ( rule__ExpCS__Group_0__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3508:2: rule__ExpCS__Group_0__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0__0_in_synpred77_InternalQVTrelation7614);
+ rule__ExpCS__Group_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred77_InternalQVTrelation
+
+ // $ANTLR start synpred78_InternalQVTrelation
+ public final void synpred78_InternalQVTrelation_fragment() throws RecognitionException {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3512:6: ( ( ( rule__ExpCS__Group_1__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3512:6: ( ( rule__ExpCS__Group_1__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3512:6: ( ( rule__ExpCS__Group_1__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3513:1: ( rule__ExpCS__Group_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getExpCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3514:1: ( rule__ExpCS__Group_1__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3514:2: rule__ExpCS__Group_1__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_1__0_in_synpred78_InternalQVTrelation7632);
+ rule__ExpCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred78_InternalQVTrelation
+
+ // $ANTLR start synpred82_InternalQVTrelation
+ public final void synpred82_InternalQVTrelation_fragment() throws RecognitionException {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3600:1: ( ( ( rule__PrimaryExpCS__Group_0__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3600:1: ( ( rule__PrimaryExpCS__Group_0__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3600:1: ( ( rule__PrimaryExpCS__Group_0__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3601:1: ( rule__PrimaryExpCS__Group_0__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_0());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3602:1: ( rule__PrimaryExpCS__Group_0__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3602:2: rule__PrimaryExpCS__Group_0__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_0__0_in_synpred82_InternalQVTrelation7831);
+ rule__PrimaryExpCS__Group_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred82_InternalQVTrelation
+
+ // $ANTLR start synpred83_InternalQVTrelation
+ public final void synpred83_InternalQVTrelation_fragment() throws RecognitionException {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3606:6: ( ( ( rule__PrimaryExpCS__Group_1__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3606:6: ( ( rule__PrimaryExpCS__Group_1__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3606:6: ( ( rule__PrimaryExpCS__Group_1__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3607:1: ( rule__PrimaryExpCS__Group_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_1());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3608:1: ( rule__PrimaryExpCS__Group_1__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3608:2: rule__PrimaryExpCS__Group_1__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_1__0_in_synpred83_InternalQVTrelation7849);
+ rule__PrimaryExpCS__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred83_InternalQVTrelation
+
+ // $ANTLR start synpred84_InternalQVTrelation
+ public final void synpred84_InternalQVTrelation_fragment() throws RecognitionException {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3612:6: ( ( ( rule__PrimaryExpCS__Group_2__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3612:6: ( ( rule__PrimaryExpCS__Group_2__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3612:6: ( ( rule__PrimaryExpCS__Group_2__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3613:1: ( rule__PrimaryExpCS__Group_2__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_2());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3614:1: ( rule__PrimaryExpCS__Group_2__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3614:2: rule__PrimaryExpCS__Group_2__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_2__0_in_synpred84_InternalQVTrelation7867);
+ rule__PrimaryExpCS__Group_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred84_InternalQVTrelation
+
+ // $ANTLR start synpred85_InternalQVTrelation
+ public final void synpred85_InternalQVTrelation_fragment() throws RecognitionException {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3618:6: ( ( ( rule__PrimaryExpCS__Group_3__0 ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3618:6: ( ( rule__PrimaryExpCS__Group_3__0 ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3618:6: ( ( rule__PrimaryExpCS__Group_3__0 ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3619:1: ( rule__PrimaryExpCS__Group_3__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getGroup_3());
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3620:1: ( rule__PrimaryExpCS__Group_3__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3620:2: rule__PrimaryExpCS__Group_3__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__PrimaryExpCS__Group_3__0_in_synpred85_InternalQVTrelation7885);
+ rule__PrimaryExpCS__Group_3__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred85_InternalQVTrelation
+
+ // $ANTLR start synpred88_InternalQVTrelation
+ public final void synpred88_InternalQVTrelation_fragment() throws RecognitionException {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3636:6: ( ( ruleTupleLiteralExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3636:6: ( ruleTupleLiteralExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3636:6: ( ruleTupleLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3637:1: ruleTupleLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getTupleLiteralExpCSParserRuleCall_6());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTupleLiteralExpCS_in_synpred88_InternalQVTrelation7937);
+ ruleTupleLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred88_InternalQVTrelation
+
+ // $ANTLR start synpred89_InternalQVTrelation
+ public final void synpred89_InternalQVTrelation_fragment() throws RecognitionException {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3642:6: ( ( ruleCollectionLiteralExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3642:6: ( ruleCollectionLiteralExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3642:6: ( ruleCollectionLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3643:1: ruleCollectionLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getCollectionLiteralExpCSParserRuleCall_7());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleCollectionLiteralExpCS_in_synpred89_InternalQVTrelation7954);
+ ruleCollectionLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred89_InternalQVTrelation
+
+ // $ANTLR start synpred90_InternalQVTrelation
+ public final void synpred90_InternalQVTrelation_fragment() throws RecognitionException {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3648:6: ( ( ruleTypeLiteralExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3648:6: ( ruleTypeLiteralExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3648:6: ( ruleTypeLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:3649:1: ruleTypeLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getPrimaryExpCSAccess().getTypeLiteralExpCSParserRuleCall_8());
+ }
+ pushFollow(FollowSets001.FOLLOW_ruleTypeLiteralExpCS_in_synpred90_InternalQVTrelation7971);
+ ruleTypeLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred90_InternalQVTrelation
+
+ // $ANTLR start synpred126_InternalQVTrelation
+ public final void synpred126_InternalQVTrelation_fragment() throws RecognitionException {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8539:2: ( rule__NUMBER_LITERAL__Group_1__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:8539:2: rule__NUMBER_LITERAL__Group_1__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__NUMBER_LITERAL__Group_1__0_in_synpred126_InternalQVTrelation17616);
+ rule__NUMBER_LITERAL__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ }
+ // $ANTLR end synpred126_InternalQVTrelation
+
+ // $ANTLR start synpred141_InternalQVTrelation
+ public final void synpred141_InternalQVTrelation_fragment() throws RecognitionException {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10806:2: ( rule__ExpCS__Group_0_1__0 )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/antlr/internal/InternalQVTrelation.g:10806:2: rule__ExpCS__Group_0_1__0
+ {
+ pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0_1__0_in_synpred141_InternalQVTrelation22074);
+ rule__ExpCS__Group_0_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ }
+ // $ANTLR end synpred141_InternalQVTrelation
+
+ // Delegated rules
+
+ public final boolean synpred77_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred77_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred84_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred84_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred141_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred141_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred90_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred90_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred85_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred85_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred78_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred78_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred126_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred126_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred88_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred88_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred6_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred6_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred89_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred89_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred83_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred83_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred82_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred82_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+
+
+ protected DFA6 dfa6 = new DFA6(this);
+ protected DFA7 dfa7 = new DFA7(this);
+ protected DFA8 dfa8 = new DFA8(this);
+ protected DFA30 dfa30 = new DFA30(this);
+ protected DFA34 dfa34 = new DFA34(this);
+ protected DFA84 dfa84 = new DFA84(this);
+ static final String DFA6_eotS =
+ "\151\uffff";
+ static final String DFA6_eofS =
+ "\151\uffff";
+ static final String DFA6_minS =
+ "\1\6\25\112\1\6\25\107\2\6\43\107\25\56\1\0\2\uffff";
+ static final String DFA6_maxS =
+ "\26\112\1\45\25\115\1\103\1\114\70\115\1\0\2\uffff";
+ static final String DFA6_acceptS =
+ "\147\uffff\1\2\1\1";
+ static final String DFA6_specialS =
+ "\146\uffff\1\0\2\uffff}>";
+ static final String[] DFA6_transitionS = {
+ "\1\1\1\2\12\uffff\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15"+
+ "\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\uffff\1\3\1\4\44"+
+ "\uffff\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\27\1\30\12\uffff\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42"+
+ "\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\uffff\1\31\1"+
+ "\32",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\56\1\57\12\uffff\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71"+
+ "\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\uffff\1\60"+
+ "\1\61\20\uffff\1\120\1\110\1\111\1\112\1\113\1\114\1\115\1\116"+
+ "\1\117\1\103\1\104\1\105\1\106\1\107",
+ "\1\121\1\122\12\uffff\1\125\1\126\1\127\1\130\1\131\1\132"+
+ "\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144"+
+ "\1\145\1\uffff\1\123\1\124\42\uffff\1\146\1\uffff\1\147\1\uffff"+
+ "\1\147",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\55\5\uffff\1\54",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\150\32\uffff\3\147\1\uffff\1\147",
+ "\1\uffff",
+ "",
+ ""
+ };
+
+ static final short[] DFA6_eot = DFA.unpackEncodedString(DFA6_eotS);
+ static final short[] DFA6_eof = DFA.unpackEncodedString(DFA6_eofS);
+ static final char[] DFA6_min = DFA.unpackEncodedStringToUnsignedChars(DFA6_minS);
+ static final char[] DFA6_max = DFA.unpackEncodedStringToUnsignedChars(DFA6_maxS);
+ static final short[] DFA6_accept = DFA.unpackEncodedString(DFA6_acceptS);
+ static final short[] DFA6_special = DFA.unpackEncodedString(DFA6_specialS);
+ static final short[][] DFA6_transition;
+
+ static {
+ int numStates = DFA6_transitionS.length;
+ DFA6_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA6_transition[i] = DFA.unpackEncodedString(DFA6_transitionS[i]);
+ }
+ }
+
+ class DFA6 extends DFA {
+
+ public DFA6(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 6;
+ this.eot = DFA6_eot;
+ this.eof = DFA6_eof;
+ this.min = DFA6_min;
+ this.max = DFA6_max;
+ this.accept = DFA6_accept;
+ this.special = DFA6_special;
+ this.transition = DFA6_transition;
+ }
+ public String getDescription() {
+ return "2570:1: rule__TemplateCS__Alternatives_0 : ( ( ruleObjectTemplateCS ) | ( ruleCollectionTemplateCS ) );";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ TokenStream input = (TokenStream)_input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA6_102 = input.LA(1);
+
+
+ int index6_102 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred6_InternalQVTrelation()) ) {s = 104;}
+
+ else if ( (true) ) {s = 103;}
+
+
+ input.seek(index6_102);
+ if ( s>=0 ) return s;
+ break;
+ }
+ if (state.backtracking>0) {state.failed=true; return -1;}
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 6, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+ static final String DFA7_eotS =
+ "\31\uffff";
+ static final String DFA7_eofS =
+ "\31\uffff";
+ static final String DFA7_minS =
+ "\1\6\25\111\3\uffff";
+ static final String DFA7_maxS =
+ "\1\114\25\115\3\uffff";
+ static final String DFA7_acceptS =
+ "\26\uffff\1\2\1\3\1\1";
+ static final String DFA7_specialS =
+ "\31\uffff}>";
+ static final String[] DFA7_transitionS = {
+ "\1\1\1\2\12\uffff\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15"+
+ "\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\uffff\1\3\1\4\44"+
+ "\uffff\1\26\1\uffff\1\27",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA7_eot = DFA.unpackEncodedString(DFA7_eotS);
+ static final short[] DFA7_eof = DFA.unpackEncodedString(DFA7_eofS);
+ static final char[] DFA7_min = DFA.unpackEncodedStringToUnsignedChars(DFA7_minS);
+ static final char[] DFA7_max = DFA.unpackEncodedStringToUnsignedChars(DFA7_maxS);
+ static final short[] DFA7_accept = DFA.unpackEncodedString(DFA7_acceptS);
+ static final short[] DFA7_special = DFA.unpackEncodedString(DFA7_specialS);
+ static final short[][] DFA7_transition;
+
+ static {
+ int numStates = DFA7_transitionS.length;
+ DFA7_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA7_transition[i] = DFA.unpackEncodedString(DFA7_transitionS[i]);
+ }
+ }
+
+ class DFA7 extends DFA {
+
+ public DFA7(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 7;
+ this.eot = DFA7_eot;
+ this.eof = DFA7_eof;
+ this.min = DFA7_min;
+ this.max = DFA7_max;
+ this.accept = DFA7_accept;
+ this.special = DFA7_special;
+ this.transition = DFA7_transition;
+ }
+ public String getDescription() {
+ return "2592:1: rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0 : ( ( ruleNameExpCS ) | ( ruleTemplateCS ) | ( ruleAnyElementCS ) );";
+ }
+ }
+ static final String DFA8_eotS =
+ "\31\uffff";
+ static final String DFA8_eofS =
+ "\1\uffff\25\30\3\uffff";
+ static final String DFA8_minS =
+ "\1\6\25\111\3\uffff";
+ static final String DFA8_maxS =
+ "\1\114\25\115\3\uffff";
+ static final String DFA8_acceptS =
+ "\26\uffff\1\2\1\3\1\1";
+ static final String DFA8_specialS =
+ "\31\uffff}>";
+ static final String[] DFA8_transitionS = {
+ "\1\1\1\2\12\uffff\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15"+
+ "\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\uffff\1\3\1\4\44"+
+ "\uffff\1\26\1\uffff\1\27",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "\1\30\1\26\1\30\1\uffff\1\30",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA8_eot = DFA.unpackEncodedString(DFA8_eotS);
+ static final short[] DFA8_eof = DFA.unpackEncodedString(DFA8_eofS);
+ static final char[] DFA8_min = DFA.unpackEncodedStringToUnsignedChars(DFA8_minS);
+ static final char[] DFA8_max = DFA.unpackEncodedStringToUnsignedChars(DFA8_maxS);
+ static final short[] DFA8_accept = DFA.unpackEncodedString(DFA8_acceptS);
+ static final short[] DFA8_special = DFA.unpackEncodedString(DFA8_specialS);
+ static final short[][] DFA8_transition;
+
+ static {
+ int numStates = DFA8_transitionS.length;
+ DFA8_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA8_transition[i] = DFA.unpackEncodedString(DFA8_transitionS[i]);
+ }
+ }
+
+ class DFA8 extends DFA {
+
+ public DFA8(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 8;
+ this.eot = DFA8_eot;
+ this.eof = DFA8_eof;
+ this.min = DFA8_min;
+ this.max = DFA8_max;
+ this.accept = DFA8_accept;
+ this.special = DFA8_special;
+ this.transition = DFA8_transition;
+ }
+ public String getDescription() {
+ return "2620:1: rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0 : ( ( ruleNameExpCS ) | ( ruleTemplateCS ) | ( ruleAnyElementCS ) );";
+ }
+ }
+ static final String DFA30_eotS =
+ "\63\uffff";
+ static final String DFA30_eofS =
+ "\63\uffff";
+ static final String DFA30_minS =
+ "\1\4\57\0\3\uffff";
+ static final String DFA30_maxS =
+ "\1\134\57\0\3\uffff";
+ static final String DFA30_acceptS =
+ "\60\uffff\1\3\1\1\1\2";
+ static final String DFA30_specialS =
+ "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
+ "\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30"+
+ "\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45"+
+ "\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\3\uffff}>";
+ static final String[] DFA30_transitionS = {
+ "\1\27\1\30\1\1\1\2\12\uffff\1\5\1\6\1\7\1\10\1\11\1\12\1\13"+
+ "\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\33\1\3"+
+ "\1\4\1\uffff\1\56\1\57\15\uffff\1\36\1\44\1\45\1\46\1\47\1\50"+
+ "\1\51\1\52\1\53\1\37\1\40\1\41\1\42\1\43\1\uffff\1\55\13\uffff"+
+ "\1\34\1\35\1\uffff\1\54\3\uffff\1\60\1\uffff\1\26\1\31\1\32",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA30_eot = DFA.unpackEncodedString(DFA30_eotS);
+ static final short[] DFA30_eof = DFA.unpackEncodedString(DFA30_eofS);
+ static final char[] DFA30_min = DFA.unpackEncodedStringToUnsignedChars(DFA30_minS);
+ static final char[] DFA30_max = DFA.unpackEncodedStringToUnsignedChars(DFA30_maxS);
+ static final short[] DFA30_accept = DFA.unpackEncodedString(DFA30_acceptS);
+ static final short[] DFA30_special = DFA.unpackEncodedString(DFA30_specialS);
+ static final short[][] DFA30_transition;
+
+ static {
+ int numStates = DFA30_transitionS.length;
+ DFA30_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA30_transition[i] = DFA.unpackEncodedString(DFA30_transitionS[i]);
+ }
+ }
+
+ class DFA30 extends DFA {
+
+ public DFA30(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 30;
+ this.eot = DFA30_eot;
+ this.eof = DFA30_eof;
+ this.min = DFA30_min;
+ this.max = DFA30_max;
+ this.accept = DFA30_accept;
+ this.special = DFA30_special;
+ this.transition = DFA30_transition;
+ }
+ public String getDescription() {
+ return "3501:1: rule__ExpCS__Alternatives : ( ( ( rule__ExpCS__Group_0__0 ) ) | ( ( rule__ExpCS__Group_1__0 ) ) | ( rulePrimaryExpOrLetExpCS ) );";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ TokenStream input = (TokenStream)_input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA30_1 = input.LA(1);
+
+
+ int index30_1 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_1);
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA30_2 = input.LA(1);
+
+
+ int index30_2 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_2);
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA30_3 = input.LA(1);
+
+
+ int index30_3 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_3);
+ if ( s>=0 ) return s;
+ break;
+ case 3 :
+ int LA30_4 = input.LA(1);
+
+
+ int index30_4 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_4);
+ if ( s>=0 ) return s;
+ break;
+ case 4 :
+ int LA30_5 = input.LA(1);
+
+
+ int index30_5 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_5);
+ if ( s>=0 ) return s;
+ break;
+ case 5 :
+ int LA30_6 = input.LA(1);
+
+
+ int index30_6 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_6);
+ if ( s>=0 ) return s;
+ break;
+ case 6 :
+ int LA30_7 = input.LA(1);
+
+
+ int index30_7 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_7);
+ if ( s>=0 ) return s;
+ break;
+ case 7 :
+ int LA30_8 = input.LA(1);
+
+
+ int index30_8 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_8);
+ if ( s>=0 ) return s;
+ break;
+ case 8 :
+ int LA30_9 = input.LA(1);
+
+
+ int index30_9 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_9);
+ if ( s>=0 ) return s;
+ break;
+ case 9 :
+ int LA30_10 = input.LA(1);
+
+
+ int index30_10 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_10);
+ if ( s>=0 ) return s;
+ break;
+ case 10 :
+ int LA30_11 = input.LA(1);
+
+
+ int index30_11 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_11);
+ if ( s>=0 ) return s;
+ break;
+ case 11 :
+ int LA30_12 = input.LA(1);
+
+
+ int index30_12 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_12);
+ if ( s>=0 ) return s;
+ break;
+ case 12 :
+ int LA30_13 = input.LA(1);
+
+
+ int index30_13 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_13);
+ if ( s>=0 ) return s;
+ break;
+ case 13 :
+ int LA30_14 = input.LA(1);
+
+
+ int index30_14 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_14);
+ if ( s>=0 ) return s;
+ break;
+ case 14 :
+ int LA30_15 = input.LA(1);
+
+
+ int index30_15 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_15);
+ if ( s>=0 ) return s;
+ break;
+ case 15 :
+ int LA30_16 = input.LA(1);
+
+
+ int index30_16 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_16);
+ if ( s>=0 ) return s;
+ break;
+ case 16 :
+ int LA30_17 = input.LA(1);
+
+
+ int index30_17 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_17);
+ if ( s>=0 ) return s;
+ break;
+ case 17 :
+ int LA30_18 = input.LA(1);
+
+
+ int index30_18 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_18);
+ if ( s>=0 ) return s;
+ break;
+ case 18 :
+ int LA30_19 = input.LA(1);
+
+
+ int index30_19 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_19);
+ if ( s>=0 ) return s;
+ break;
+ case 19 :
+ int LA30_20 = input.LA(1);
+
+
+ int index30_20 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_20);
+ if ( s>=0 ) return s;
+ break;
+ case 20 :
+ int LA30_21 = input.LA(1);
+
+
+ int index30_21 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_21);
+ if ( s>=0 ) return s;
+ break;
+ case 21 :
+ int LA30_22 = input.LA(1);
+
+
+ int index30_22 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_22);
+ if ( s>=0 ) return s;
+ break;
+ case 22 :
+ int LA30_23 = input.LA(1);
+
+
+ int index30_23 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_23);
+ if ( s>=0 ) return s;
+ break;
+ case 23 :
+ int LA30_24 = input.LA(1);
+
+
+ int index30_24 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_24);
+ if ( s>=0 ) return s;
+ break;
+ case 24 :
+ int LA30_25 = input.LA(1);
+
+
+ int index30_25 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_25);
+ if ( s>=0 ) return s;
+ break;
+ case 25 :
+ int LA30_26 = input.LA(1);
+
+
+ int index30_26 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_26);
+ if ( s>=0 ) return s;
+ break;
+ case 26 :
+ int LA30_27 = input.LA(1);
+
+
+ int index30_27 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_27);
+ if ( s>=0 ) return s;
+ break;
+ case 27 :
+ int LA30_28 = input.LA(1);
+
+
+ int index30_28 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_28);
+ if ( s>=0 ) return s;
+ break;
+ case 28 :
+ int LA30_29 = input.LA(1);
+
+
+ int index30_29 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_29);
+ if ( s>=0 ) return s;
+ break;
+ case 29 :
+ int LA30_30 = input.LA(1);
+
+
+ int index30_30 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_30);
+ if ( s>=0 ) return s;
+ break;
+ case 30 :
+ int LA30_31 = input.LA(1);
+
+
+ int index30_31 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_31);
+ if ( s>=0 ) return s;
+ break;
+ case 31 :
+ int LA30_32 = input.LA(1);
+
+
+ int index30_32 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_32);
+ if ( s>=0 ) return s;
+ break;
+ case 32 :
+ int LA30_33 = input.LA(1);
+
+
+ int index30_33 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_33);
+ if ( s>=0 ) return s;
+ break;
+ case 33 :
+ int LA30_34 = input.LA(1);
+
+
+ int index30_34 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_34);
+ if ( s>=0 ) return s;
+ break;
+ case 34 :
+ int LA30_35 = input.LA(1);
+
+
+ int index30_35 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_35);
+ if ( s>=0 ) return s;
+ break;
+ case 35 :
+ int LA30_36 = input.LA(1);
+
+
+ int index30_36 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_36);
+ if ( s>=0 ) return s;
+ break;
+ case 36 :
+ int LA30_37 = input.LA(1);
+
+
+ int index30_37 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_37);
+ if ( s>=0 ) return s;
+ break;
+ case 37 :
+ int LA30_38 = input.LA(1);
+
+
+ int index30_38 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_38);
+ if ( s>=0 ) return s;
+ break;
+ case 38 :
+ int LA30_39 = input.LA(1);
+
+
+ int index30_39 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_39);
+ if ( s>=0 ) return s;
+ break;
+ case 39 :
+ int LA30_40 = input.LA(1);
+
+
+ int index30_40 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_40);
+ if ( s>=0 ) return s;
+ break;
+ case 40 :
+ int LA30_41 = input.LA(1);
+
+
+ int index30_41 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_41);
+ if ( s>=0 ) return s;
+ break;
+ case 41 :
+ int LA30_42 = input.LA(1);
+
+
+ int index30_42 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_42);
+ if ( s>=0 ) return s;
+ break;
+ case 42 :
+ int LA30_43 = input.LA(1);
+
+
+ int index30_43 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_43);
+ if ( s>=0 ) return s;
+ break;
+ case 43 :
+ int LA30_44 = input.LA(1);
+
+
+ int index30_44 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_44);
+ if ( s>=0 ) return s;
+ break;
+ case 44 :
+ int LA30_45 = input.LA(1);
+
+
+ int index30_45 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index30_45);
+ if ( s>=0 ) return s;
+ break;
+ case 45 :
+ int LA30_46 = input.LA(1);
+
+
+ int index30_46 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (synpred78_InternalQVTrelation()) ) {s = 50;}
+
+
+ input.seek(index30_46);
+ if ( s>=0 ) return s;
+ break;
+ case 46 :
+ int LA30_47 = input.LA(1);
+
+
+ int index30_47 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred77_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (synpred78_InternalQVTrelation()) ) {s = 50;}
+
+
+ input.seek(index30_47);
+ if ( s>=0 ) return s;
+ break;
+ }
+ if (state.backtracking>0) {state.failed=true; return -1;}
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 30, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+ static final String DFA34_eotS =
+ "\64\uffff";
+ static final String DFA34_eofS =
+ "\64\uffff";
+ static final String DFA34_minS =
+ "\1\4\25\0\10\uffff\6\0\20\uffff";
+ static final String DFA34_maxS =
+ "\1\134\25\0\10\uffff\6\0\20\uffff";
+ static final String DFA34_acceptS =
+ "\26\uffff\1\5\1\6\14\uffff\1\11\7\uffff\1\12\1\13\1\1\1\2\1\3\1"+
+ "\4\1\7\1\10";
+ static final String DFA34_specialS =
+ "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
+ "\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\10\uffff\1\25\1\26\1"+
+ "\27\1\30\1\31\1\32\20\uffff}>";
+ static final String[] DFA34_transitionS = {
+ "\2\27\1\1\1\2\12\uffff\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14"+
+ "\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\27\1\3\1\4\20"+
+ "\uffff\1\36\10\44\1\37\1\40\1\41\1\42\1\43\1\uffff\1\55\13\uffff"+
+ "\2\27\1\uffff\1\54\5\uffff\1\26\2\27",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA34_eot = DFA.unpackEncodedString(DFA34_eotS);
+ static final short[] DFA34_eof = DFA.unpackEncodedString(DFA34_eofS);
+ static final char[] DFA34_min = DFA.unpackEncodedStringToUnsignedChars(DFA34_minS);
+ static final char[] DFA34_max = DFA.unpackEncodedStringToUnsignedChars(DFA34_maxS);
+ static final short[] DFA34_accept = DFA.unpackEncodedString(DFA34_acceptS);
+ static final short[] DFA34_special = DFA.unpackEncodedString(DFA34_specialS);
+ static final short[][] DFA34_transition;
+
+ static {
+ int numStates = DFA34_transitionS.length;
+ DFA34_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA34_transition[i] = DFA.unpackEncodedString(DFA34_transitionS[i]);
+ }
+ }
+
+ class DFA34 extends DFA {
+
+ public DFA34(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 34;
+ this.eot = DFA34_eot;
+ this.eof = DFA34_eof;
+ this.min = DFA34_min;
+ this.max = DFA34_max;
+ this.accept = DFA34_accept;
+ this.special = DFA34_special;
+ this.transition = DFA34_transition;
+ }
+ public String getDescription() {
+ return "3595:1: rule__PrimaryExpCS__Alternatives : ( ( ( rule__PrimaryExpCS__Group_0__0 ) ) | ( ( rule__PrimaryExpCS__Group_1__0 ) ) | ( ( rule__PrimaryExpCS__Group_2__0 ) ) | ( ( rule__PrimaryExpCS__Group_3__0 ) ) | ( ruleSelfExpCS ) | ( rulePrimitiveLiteralExpCS ) | ( ruleTupleLiteralExpCS ) | ( ruleCollectionLiteralExpCS ) | ( ruleTypeLiteralExpCS ) | ( ruleIfExpCS ) | ( ruleNestedExpCS ) );";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ TokenStream input = (TokenStream)_input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA34_1 = input.LA(1);
+
+
+ int index34_1 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_1);
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA34_2 = input.LA(1);
+
+
+ int index34_2 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_2);
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA34_3 = input.LA(1);
+
+
+ int index34_3 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_3);
+ if ( s>=0 ) return s;
+ break;
+ case 3 :
+ int LA34_4 = input.LA(1);
+
+
+ int index34_4 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_4);
+ if ( s>=0 ) return s;
+ break;
+ case 4 :
+ int LA34_5 = input.LA(1);
+
+
+ int index34_5 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_5);
+ if ( s>=0 ) return s;
+ break;
+ case 5 :
+ int LA34_6 = input.LA(1);
+
+
+ int index34_6 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_6);
+ if ( s>=0 ) return s;
+ break;
+ case 6 :
+ int LA34_7 = input.LA(1);
+
+
+ int index34_7 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_7);
+ if ( s>=0 ) return s;
+ break;
+ case 7 :
+ int LA34_8 = input.LA(1);
+
+
+ int index34_8 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_8);
+ if ( s>=0 ) return s;
+ break;
+ case 8 :
+ int LA34_9 = input.LA(1);
+
+
+ int index34_9 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_9);
+ if ( s>=0 ) return s;
+ break;
+ case 9 :
+ int LA34_10 = input.LA(1);
+
+
+ int index34_10 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_10);
+ if ( s>=0 ) return s;
+ break;
+ case 10 :
+ int LA34_11 = input.LA(1);
+
+
+ int index34_11 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_11);
+ if ( s>=0 ) return s;
+ break;
+ case 11 :
+ int LA34_12 = input.LA(1);
+
+
+ int index34_12 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_12);
+ if ( s>=0 ) return s;
+ break;
+ case 12 :
+ int LA34_13 = input.LA(1);
+
+
+ int index34_13 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_13);
+ if ( s>=0 ) return s;
+ break;
+ case 13 :
+ int LA34_14 = input.LA(1);
+
+
+ int index34_14 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_14);
+ if ( s>=0 ) return s;
+ break;
+ case 14 :
+ int LA34_15 = input.LA(1);
+
+
+ int index34_15 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_15);
+ if ( s>=0 ) return s;
+ break;
+ case 15 :
+ int LA34_16 = input.LA(1);
+
+
+ int index34_16 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_16);
+ if ( s>=0 ) return s;
+ break;
+ case 16 :
+ int LA34_17 = input.LA(1);
+
+
+ int index34_17 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_17);
+ if ( s>=0 ) return s;
+ break;
+ case 17 :
+ int LA34_18 = input.LA(1);
+
+
+ int index34_18 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_18);
+ if ( s>=0 ) return s;
+ break;
+ case 18 :
+ int LA34_19 = input.LA(1);
+
+
+ int index34_19 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_19);
+ if ( s>=0 ) return s;
+ break;
+ case 19 :
+ int LA34_20 = input.LA(1);
+
+
+ int index34_20 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_20);
+ if ( s>=0 ) return s;
+ break;
+ case 20 :
+ int LA34_21 = input.LA(1);
+
+
+ int index34_21 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred82_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred83_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred84_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred85_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index34_21);
+ if ( s>=0 ) return s;
+ break;
+ case 21 :
+ int LA34_30 = input.LA(1);
+
+
+ int index34_30 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred88_InternalQVTrelation()) ) {s = 50;}
+
+ else if ( (synpred90_InternalQVTrelation()) ) {s = 36;}
+
+
+ input.seek(index34_30);
+ if ( s>=0 ) return s;
+ break;
+ case 22 :
+ int LA34_31 = input.LA(1);
+
+
+ int index34_31 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred89_InternalQVTrelation()) ) {s = 51;}
+
+ else if ( (synpred90_InternalQVTrelation()) ) {s = 36;}
+
+
+ input.seek(index34_31);
+ if ( s>=0 ) return s;
+ break;
+ case 23 :
+ int LA34_32 = input.LA(1);
+
+
+ int index34_32 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred89_InternalQVTrelation()) ) {s = 51;}
+
+ else if ( (synpred90_InternalQVTrelation()) ) {s = 36;}
+
+
+ input.seek(index34_32);
+ if ( s>=0 ) return s;
+ break;
+ case 24 :
+ int LA34_33 = input.LA(1);
+
+
+ int index34_33 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred89_InternalQVTrelation()) ) {s = 51;}
+
+ else if ( (synpred90_InternalQVTrelation()) ) {s = 36;}
+
+
+ input.seek(index34_33);
+ if ( s>=0 ) return s;
+ break;
+ case 25 :
+ int LA34_34 = input.LA(1);
+
+
+ int index34_34 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred89_InternalQVTrelation()) ) {s = 51;}
+
+ else if ( (synpred90_InternalQVTrelation()) ) {s = 36;}
+
+
+ input.seek(index34_34);
+ if ( s>=0 ) return s;
+ break;
+ case 26 :
+ int LA34_35 = input.LA(1);
+
+
+ int index34_35 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred89_InternalQVTrelation()) ) {s = 51;}
+
+ else if ( (synpred90_InternalQVTrelation()) ) {s = 36;}
+
+
+ input.seek(index34_35);
+ if ( s>=0 ) return s;
+ break;
+ }
+ if (state.backtracking>0) {state.failed=true; return -1;}
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 34, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+ static final String DFA84_eotS =
+ "\62\uffff";
+ static final String DFA84_eofS =
+ "\62\uffff";
+ static final String DFA84_minS =
+ "\1\4\55\0\1\uffff\2\0\1\uffff";
+ static final String DFA84_maxS =
+ "\1\134\55\0\1\uffff\2\0\1\uffff";
+ static final String DFA84_acceptS =
+ "\56\uffff\1\2\2\uffff\1\1";
+ static final String DFA84_specialS =
+ "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
+ "\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30"+
+ "\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45"+
+ "\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\uffff\1\55\1\56\1\uffff}>";
+ static final String[] DFA84_transitionS = {
+ "\1\27\1\30\1\1\1\2\12\uffff\1\5\1\6\1\7\1\10\1\11\1\12\1\13"+
+ "\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\33\1\3"+
+ "\1\4\1\uffff\1\57\1\60\15\uffff\1\36\1\44\1\45\1\46\1\47\1\50"+
+ "\1\51\1\52\1\53\1\37\1\40\1\41\1\42\1\43\1\uffff\1\55\13\uffff"+
+ "\1\34\1\35\1\uffff\1\54\3\uffff\1\56\1\uffff\1\26\1\31\1\32",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "",
+ "\1\uffff",
+ "\1\uffff",
+ ""
+ };
+
+ static final short[] DFA84_eot = DFA.unpackEncodedString(DFA84_eotS);
+ static final short[] DFA84_eof = DFA.unpackEncodedString(DFA84_eofS);
+ static final char[] DFA84_min = DFA.unpackEncodedStringToUnsignedChars(DFA84_minS);
+ static final char[] DFA84_max = DFA.unpackEncodedStringToUnsignedChars(DFA84_maxS);
+ static final short[] DFA84_accept = DFA.unpackEncodedString(DFA84_acceptS);
+ static final short[] DFA84_special = DFA.unpackEncodedString(DFA84_specialS);
+ static final short[][] DFA84_transition;
+
+ static {
+ int numStates = DFA84_transitionS.length;
+ DFA84_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA84_transition[i] = DFA.unpackEncodedString(DFA84_transitionS[i]);
+ }
+ }
+
+ class DFA84 extends DFA {
+
+ public DFA84(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 84;
+ this.eot = DFA84_eot;
+ this.eof = DFA84_eof;
+ this.min = DFA84_min;
+ this.max = DFA84_max;
+ this.accept = DFA84_accept;
+ this.special = DFA84_special;
+ this.transition = DFA84_transition;
+ }
+ public String getDescription() {
+ return "()* loopback of 10806:1: ( rule__ExpCS__Group_0_1__0 )*";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ TokenStream input = (TokenStream)_input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA84_1 = input.LA(1);
+
+
+ int index84_1 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_1);
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA84_2 = input.LA(1);
+
+
+ int index84_2 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_2);
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA84_3 = input.LA(1);
+
+
+ int index84_3 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_3);
+ if ( s>=0 ) return s;
+ break;
+ case 3 :
+ int LA84_4 = input.LA(1);
+
+
+ int index84_4 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_4);
+ if ( s>=0 ) return s;
+ break;
+ case 4 :
+ int LA84_5 = input.LA(1);
+
+
+ int index84_5 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_5);
+ if ( s>=0 ) return s;
+ break;
+ case 5 :
+ int LA84_6 = input.LA(1);
+
+
+ int index84_6 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_6);
+ if ( s>=0 ) return s;
+ break;
+ case 6 :
+ int LA84_7 = input.LA(1);
+
+
+ int index84_7 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_7);
+ if ( s>=0 ) return s;
+ break;
+ case 7 :
+ int LA84_8 = input.LA(1);
+
+
+ int index84_8 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_8);
+ if ( s>=0 ) return s;
+ break;
+ case 8 :
+ int LA84_9 = input.LA(1);
+
+
+ int index84_9 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_9);
+ if ( s>=0 ) return s;
+ break;
+ case 9 :
+ int LA84_10 = input.LA(1);
+
+
+ int index84_10 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_10);
+ if ( s>=0 ) return s;
+ break;
+ case 10 :
+ int LA84_11 = input.LA(1);
+
+
+ int index84_11 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_11);
+ if ( s>=0 ) return s;
+ break;
+ case 11 :
+ int LA84_12 = input.LA(1);
+
+
+ int index84_12 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_12);
+ if ( s>=0 ) return s;
+ break;
+ case 12 :
+ int LA84_13 = input.LA(1);
+
+
+ int index84_13 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_13);
+ if ( s>=0 ) return s;
+ break;
+ case 13 :
+ int LA84_14 = input.LA(1);
+
+
+ int index84_14 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_14);
+ if ( s>=0 ) return s;
+ break;
+ case 14 :
+ int LA84_15 = input.LA(1);
+
+
+ int index84_15 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_15);
+ if ( s>=0 ) return s;
+ break;
+ case 15 :
+ int LA84_16 = input.LA(1);
+
+
+ int index84_16 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_16);
+ if ( s>=0 ) return s;
+ break;
+ case 16 :
+ int LA84_17 = input.LA(1);
+
+
+ int index84_17 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_17);
+ if ( s>=0 ) return s;
+ break;
+ case 17 :
+ int LA84_18 = input.LA(1);
+
+
+ int index84_18 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_18);
+ if ( s>=0 ) return s;
+ break;
+ case 18 :
+ int LA84_19 = input.LA(1);
+
+
+ int index84_19 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_19);
+ if ( s>=0 ) return s;
+ break;
+ case 19 :
+ int LA84_20 = input.LA(1);
+
+
+ int index84_20 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_20);
+ if ( s>=0 ) return s;
+ break;
+ case 20 :
+ int LA84_21 = input.LA(1);
+
+
+ int index84_21 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_21);
+ if ( s>=0 ) return s;
+ break;
+ case 21 :
+ int LA84_22 = input.LA(1);
+
+
+ int index84_22 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_22);
+ if ( s>=0 ) return s;
+ break;
+ case 22 :
+ int LA84_23 = input.LA(1);
+
+
+ int index84_23 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_23);
+ if ( s>=0 ) return s;
+ break;
+ case 23 :
+ int LA84_24 = input.LA(1);
+
+
+ int index84_24 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_24);
+ if ( s>=0 ) return s;
+ break;
+ case 24 :
+ int LA84_25 = input.LA(1);
+
+
+ int index84_25 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_25);
+ if ( s>=0 ) return s;
+ break;
+ case 25 :
+ int LA84_26 = input.LA(1);
+
+
+ int index84_26 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_26);
+ if ( s>=0 ) return s;
+ break;
+ case 26 :
+ int LA84_27 = input.LA(1);
+
+
+ int index84_27 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_27);
+ if ( s>=0 ) return s;
+ break;
+ case 27 :
+ int LA84_28 = input.LA(1);
+
+
+ int index84_28 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_28);
+ if ( s>=0 ) return s;
+ break;
+ case 28 :
+ int LA84_29 = input.LA(1);
+
+
+ int index84_29 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_29);
+ if ( s>=0 ) return s;
+ break;
+ case 29 :
+ int LA84_30 = input.LA(1);
+
+
+ int index84_30 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_30);
+ if ( s>=0 ) return s;
+ break;
+ case 30 :
+ int LA84_31 = input.LA(1);
+
+
+ int index84_31 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_31);
+ if ( s>=0 ) return s;
+ break;
+ case 31 :
+ int LA84_32 = input.LA(1);
+
+
+ int index84_32 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_32);
+ if ( s>=0 ) return s;
+ break;
+ case 32 :
+ int LA84_33 = input.LA(1);
+
+
+ int index84_33 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_33);
+ if ( s>=0 ) return s;
+ break;
+ case 33 :
+ int LA84_34 = input.LA(1);
+
+
+ int index84_34 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_34);
+ if ( s>=0 ) return s;
+ break;
+ case 34 :
+ int LA84_35 = input.LA(1);
+
+
+ int index84_35 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_35);
+ if ( s>=0 ) return s;
+ break;
+ case 35 :
+ int LA84_36 = input.LA(1);
+
+
+ int index84_36 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_36);
+ if ( s>=0 ) return s;
+ break;
+ case 36 :
+ int LA84_37 = input.LA(1);
+
+
+ int index84_37 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_37);
+ if ( s>=0 ) return s;
+ break;
+ case 37 :
+ int LA84_38 = input.LA(1);
+
+
+ int index84_38 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_38);
+ if ( s>=0 ) return s;
+ break;
+ case 38 :
+ int LA84_39 = input.LA(1);
+
+
+ int index84_39 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_39);
+ if ( s>=0 ) return s;
+ break;
+ case 39 :
+ int LA84_40 = input.LA(1);
+
+
+ int index84_40 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_40);
+ if ( s>=0 ) return s;
+ break;
+ case 40 :
+ int LA84_41 = input.LA(1);
+
+
+ int index84_41 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_41);
+ if ( s>=0 ) return s;
+ break;
+ case 41 :
+ int LA84_42 = input.LA(1);
+
+
+ int index84_42 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_42);
+ if ( s>=0 ) return s;
+ break;
+ case 42 :
+ int LA84_43 = input.LA(1);
+
+
+ int index84_43 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_43);
+ if ( s>=0 ) return s;
+ break;
+ case 43 :
+ int LA84_44 = input.LA(1);
+
+
+ int index84_44 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_44);
+ if ( s>=0 ) return s;
+ break;
+ case 44 :
+ int LA84_45 = input.LA(1);
+
+
+ int index84_45 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_45);
+ if ( s>=0 ) return s;
+ break;
+ case 45 :
+ int LA84_47 = input.LA(1);
+
+
+ int index84_47 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_47);
+ if ( s>=0 ) return s;
+ break;
+ case 46 :
+ int LA84_48 = input.LA(1);
+
+
+ int index84_48 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred141_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index84_48);
+ if ( s>=0 ) return s;
+ break;
+ }
+ if (state.backtracking>0) {state.failed=true; return -1;}
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 84, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+
+ private static class FollowSets000 {
+ public static final BitSet FOLLOW_ruleTopLevelCS_in_entryRuleTopLevelCS67 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTopLevelCS74 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TopLevelCS__Group__0_in_ruleTopLevelCS100 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnitCS_in_entryRuleUnitCS127 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnitCS134 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__UnitCS__Group__0_in_ruleUnitCS160 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTransformationCS_in_entryRuleTransformationCS187 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTransformationCS194 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__0_in_ruleTransformationCS220 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleModelDeclCS_in_entryRuleModelDeclCS247 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleModelDeclCS254 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group__0_in_ruleModelDeclCS280 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleKeyDeclCS_in_entryRuleKeyDeclCS307 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleKeyDeclCS314 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group__0_in_ruleKeyDeclCS340 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRelationCS_in_entryRuleRelationCS367 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRelationCS374 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__0_in_ruleRelationCS400 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleWhenCS_in_entryRuleWhenCS427 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleWhenCS434 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhenCS__Group__0_in_ruleWhenCS460 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleWhereCS_in_entryRuleWhereCS487 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleWhereCS494 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhereCS__Group__0_in_ruleWhereCS520 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleVarDeclarationCS_in_entryRuleVarDeclarationCS547 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleVarDeclarationCS554 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__Group__0_in_ruleVarDeclarationCS580 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDomainCS_in_entryRuleDomainCS607 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDomainCS614 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group__0_in_ruleDomainCS640 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveTypeDomainCS_in_entryRulePrimitiveTypeDomainCS667 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveTypeDomainCS674 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeDomainCS__Group__0_in_rulePrimitiveTypeDomainCS700 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTemplateCS_in_entryRuleTemplateCS727 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTemplateCS734 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TemplateCS__Group__0_in_ruleTemplateCS760 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleObjectTemplateCS_in_entryRuleObjectTemplateCS787 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleObjectTemplateCS794 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group__0_in_ruleObjectTemplateCS820 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePropertyTemplateCS_in_entryRulePropertyTemplateCS847 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePropertyTemplateCS854 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PropertyTemplateCS__Group__0_in_rulePropertyTemplateCS880 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTemplateCS_in_entryRuleCollectionTemplateCS907 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCollectionTemplateCS914 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group__0_in_ruleCollectionTemplateCS940 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNameExpCS_in_entryRuleNameExpCS967 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNameExpCS974 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NameExpCS__PathNameAssignment_in_ruleNameExpCS1000 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAnyElementCS_in_entryRuleAnyElementCS1027 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAnyElementCS1034 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__AnyElementCS__Group__0_in_ruleAnyElementCS1060 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDefaultValueCS_in_entryRuleDefaultValueCS1087 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDefaultValueCS1094 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DefaultValueCS__Group__0_in_ruleDefaultValueCS1120 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQueryCS_in_entryRuleQueryCS1147 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleQueryCS1154 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__0_in_ruleQueryCS1180 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleParamDeclarationCS_in_entryRuleParamDeclarationCS1207 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleParamDeclarationCS1214 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ParamDeclarationCS__Group__0_in_ruleParamDeclarationCS1240 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypedRefCS_in_entryRuleCollectionTypedRefCS1267 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCollectionTypedRefCS1274 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTypedRefCS__PathNameAssignment_in_ruleCollectionTypedRefCS1300 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypedRefCS_in_entryRuleTypedRefCS1327 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTypedRefCS1334 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TypedRefCS__PathNameAssignment_in_ruleTypedRefCS1360 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_entryRuleUnrestrictedName1387 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnrestrictedName1394 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__UnrestrictedName__Alternatives_in_ruleUnrestrictedName1420 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleID_in_entryRuleID1449 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleID1456 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ID__Alternatives_in_ruleID1482 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLOWER_in_entryRuleLOWER1509 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLOWER1516 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleLOWER1542 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUPPER_in_entryRuleUPPER1568 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUPPER1575 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__UPPER__Alternatives_in_ruleUPPER1601 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNUMBER_LITERAL_in_entryRuleNUMBER_LITERAL1628 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNUMBER_LITERAL1635 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group__0_in_ruleNUMBER_LITERAL1661 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLUnrestrictedIdentifier_in_entryRuleEssentialOCLUnrestrictedIdentifier1692 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnrestrictedIdentifier1699 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__EssentialOCLUnrestrictedIdentifier__Alternatives_in_ruleEssentialOCLUnrestrictedIdentifier1725 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLPrefixOperator_in_entryRuleEssentialOCLPrefixOperator1752 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLPrefixOperator1759 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__EssentialOCLPrefixOperator__Alternatives_in_ruleEssentialOCLPrefixOperator1785 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLInfixOperator_in_entryRuleEssentialOCLInfixOperator1812 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLInfixOperator1819 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__EssentialOCLInfixOperator__Alternatives_in_ruleEssentialOCLInfixOperator1845 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLNavigationOperator_in_entryRuleEssentialOCLNavigationOperator1872 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLNavigationOperator1879 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__EssentialOCLNavigationOperator__Alternatives_in_ruleEssentialOCLNavigationOperator1905 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIdentifier_in_entryRuleIdentifier1932 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleIdentifier1939 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Identifier__Alternatives_in_ruleIdentifier1965 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral1992 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral1999 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStringLiteral2025 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrefixOperator_in_entryRulePrefixOperator2051 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrefixOperator2058 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLPrefixOperator_in_rulePrefixOperator2084 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInfixOperator_in_entryRuleInfixOperator2110 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInfixOperator2117 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLInfixOperator_in_ruleInfixOperator2143 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigationOperator_in_entryRuleNavigationOperator2169 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNavigationOperator2176 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLNavigationOperator_in_ruleNavigationOperator2202 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLUnrestrictedName_in_entryRuleEssentialOCLUnrestrictedName2228 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnrestrictedName2235 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIdentifier_in_ruleEssentialOCLUnrestrictedName2261 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLUnreservedName_in_entryRuleEssentialOCLUnreservedName2287 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnreservedName2294 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__EssentialOCLUnreservedName__Alternatives_in_ruleEssentialOCLUnreservedName2320 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnreservedName_in_entryRuleUnreservedName2347 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnreservedName2354 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLUnreservedName_in_ruleUnreservedName2380 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_entryRulePathNameCS2406 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePathNameCS2413 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PathNameCS__Group__0_in_rulePathNameCS2439 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleFirstPathElementCS_in_entryRuleFirstPathElementCS2466 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleFirstPathElementCS2473 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__FirstPathElementCS__ElementAssignment_in_ruleFirstPathElementCS2499 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNextPathElementCS_in_entryRuleNextPathElementCS2526 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNextPathElementCS2533 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NextPathElementCS__ElementAssignment_in_ruleNextPathElementCS2559 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_entryRulePrimitiveTypeIdentifier2586 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveTypeIdentifier2593 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeIdentifier__Alternatives_in_rulePrimitiveTypeIdentifier2619 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveTypeCS_in_entryRulePrimitiveTypeCS2646 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveTypeCS2653 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeCS__NameAssignment_in_rulePrimitiveTypeCS2679 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_entryRuleCollectionTypeIdentifier2706 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCollectionTypeIdentifier2713 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTypeIdentifier__Alternatives_in_ruleCollectionTypeIdentifier2739 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypeCS_in_entryRuleCollectionTypeCS2766 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCollectionTypeCS2773 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTypeCS__Group__0_in_ruleCollectionTypeCS2799 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMultiplicityBoundsCS_in_entryRuleMultiplicityBoundsCS2826 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityBoundsCS2833 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group__0_in_ruleMultiplicityBoundsCS2859 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMultiplicityCS_in_entryRuleMultiplicityCS2886 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityCS2893 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityCS__Group__0_in_ruleMultiplicityCS2919 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMultiplicityStringCS_in_entryRuleMultiplicityStringCS2946 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityStringCS2953 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityStringCS__StringBoundsAssignment_in_ruleMultiplicityStringCS2979 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleTypeCS_in_entryRuleTupleTypeCS3006 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTupleTypeCS3013 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group__0_in_ruleTupleTypeCS3039 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTuplePartCS_in_entryRuleTuplePartCS3066 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTuplePartCS3073 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TuplePartCS__Group__0_in_ruleTuplePartCS3099 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_entryRuleCollectionLiteralExpCS3126 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCollectionLiteralExpCS3133 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__0_in_ruleCollectionLiteralExpCS3159 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_entryRuleCollectionLiteralPartCS3186 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCollectionLiteralPartCS3193 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group__0_in_ruleCollectionLiteralPartCS3219 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleConstructorPartCS_in_entryRuleConstructorPartCS3246 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleConstructorPartCS3253 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__0_in_ruleConstructorPartCS3279 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveLiteralExpCS_in_entryRulePrimitiveLiteralExpCS3306 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveLiteralExpCS3313 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimitiveLiteralExpCS__Alternatives_in_rulePrimitiveLiteralExpCS3339 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_entryRuleTupleLiteralExpCS3366 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTupleLiteralExpCS3373 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__0_in_ruleTupleLiteralExpCS3399 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_entryRuleTupleLiteralPartCS3426 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTupleLiteralPartCS3433 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__0_in_ruleTupleLiteralPartCS3459 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNumberLiteralExpCS_in_entryRuleNumberLiteralExpCS3486 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteralExpCS3493 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NumberLiteralExpCS__NameAssignment_in_ruleNumberLiteralExpCS3519 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStringLiteralExpCS_in_entryRuleStringLiteralExpCS3546 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteralExpCS3553 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__StringLiteralExpCS__NameAssignment_in_ruleStringLiteralExpCS3581 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_rule__StringLiteralExpCS__NameAssignment_in_ruleStringLiteralExpCS3593 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleBooleanLiteralExpCS_in_entryRuleBooleanLiteralExpCS3623 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteralExpCS3630 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__BooleanLiteralExpCS__Alternatives_in_ruleBooleanLiteralExpCS3656 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_entryRuleUnlimitedNaturalLiteralExpCS3683 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnlimitedNaturalLiteralExpCS3690 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__0_in_ruleUnlimitedNaturalLiteralExpCS3716 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInvalidLiteralExpCS_in_entryRuleInvalidLiteralExpCS3743 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInvalidLiteralExpCS3750 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__InvalidLiteralExpCS__Group__0_in_ruleInvalidLiteralExpCS3776 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNullLiteralExpCS_in_entryRuleNullLiteralExpCS3803 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNullLiteralExpCS3810 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NullLiteralExpCS__Group__0_in_ruleNullLiteralExpCS3836 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeLiteralCS_in_entryRuleTypeLiteralCS3863 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTypeLiteralCS3870 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TypeLiteralCS__Alternatives_in_ruleTypeLiteralCS3896 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_entryRuleTypeLiteralExpCS3923 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTypeLiteralExpCS3930 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TypeLiteralExpCS__OwnedTypeAssignment_in_ruleTypeLiteralExpCS3956 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeNameExpCS_in_entryRuleTypeNameExpCS3983 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTypeNameExpCS3990 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TypeNameExpCS__PathNameAssignment_in_ruleTypeNameExpCS4016 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_entryRuleTypeExpCS4043 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTypeExpCS4050 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TypeExpCS__Group__0_in_ruleTypeExpCS4076 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_entryRuleExpCS4103 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleExpCS4110 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__Alternatives_in_ruleExpCS4136 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBinaryOperatorCS_in_entryRuleBinaryOperatorCS4163 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleBinaryOperatorCS4170 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__BinaryOperatorCS__Alternatives_in_ruleBinaryOperatorCS4196 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInfixOperatorCS_in_entryRuleInfixOperatorCS4223 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInfixOperatorCS4230 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__InfixOperatorCS__NameAssignment_in_ruleInfixOperatorCS4256 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigationOperatorCS_in_entryRuleNavigationOperatorCS4283 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNavigationOperatorCS4290 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigationOperatorCS__NameAssignment_in_ruleNavigationOperatorCS4316 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrefixedExpCS_in_entryRulePrefixedExpCS4343 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrefixedExpCS4350 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrefixedExpCS__Alternatives_in_rulePrefixedExpCS4376 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrefixedExpOrLetExpCS_in_entryRulePrefixedExpOrLetExpCS4403 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrefixedExpOrLetExpCS4410 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrefixedExpOrLetExpCS__Alternatives_in_rulePrefixedExpOrLetExpCS4436 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperatorCS_in_entryRuleUnaryOperatorCS4463 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnaryOperatorCS4470 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__UnaryOperatorCS__NameAssignment_in_ruleUnaryOperatorCS4496 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpCS_in_entryRulePrimaryExpCS4523 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimaryExpCS4530 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Alternatives_in_rulePrimaryExpCS4556 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpOrLetExpCS_in_entryRulePrimaryExpOrLetExpCS4583 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimaryExpOrLetExpCS4590 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpOrLetExpCS__Alternatives_in_rulePrimaryExpOrLetExpCS4616 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingArgCS_in_entryRuleNavigatingArgCS4643 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingArgCS4650 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__Group__0_in_ruleNavigatingArgCS4676 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingBarArgCS_in_entryRuleNavigatingBarArgCS4703 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingBarArgCS4710 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__0_in_ruleNavigatingBarArgCS4736 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_entryRuleNavigatingCommaArgCS4763 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingCommaArgCS4770 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__0_in_ruleNavigatingCommaArgCS4796 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingSemiArgCS_in_entryRuleNavigatingSemiArgCS4823 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingSemiArgCS4830 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__0_in_ruleNavigatingSemiArgCS4856 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_entryRuleNavigatingArgExpCS4883 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingArgExpCS4890 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingArgExpCS4916 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIfExpCS_in_entryRuleIfExpCS4942 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleIfExpCS4949 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__IfExpCS__Group__0_in_ruleIfExpCS4975 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLetExpCS_in_entryRuleLetExpCS5002 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLetExpCS5009 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetExpCS__Group__0_in_ruleLetExpCS5035 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLetVariableCS_in_entryRuleLetVariableCS5062 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLetVariableCS5069 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetVariableCS__Group__0_in_ruleLetVariableCS5095 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNestedExpCS_in_entryRuleNestedExpCS5122 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNestedExpCS5129 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NestedExpCS__Group__0_in_ruleNestedExpCS5155 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSelfExpCS_in_entryRuleSelfExpCS5182 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSelfExpCS5189 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SelfExpCS__Group__0_in_ruleSelfExpCS5215 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__RelationAssignment_9_0_in_rule__TransformationCS__Alternatives_95251 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__QueryAssignment_9_1_in_rule__TransformationCS__Alternatives_95269 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__MetaModelIdAssignment_2_0_in_rule__ModelDeclCS__Alternatives_25302 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group_2_1__0_in_rule__ModelDeclCS__Alternatives_25320 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__DomainAssignment_6_0_in_rule__RelationCS__Alternatives_65353 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__DomainAssignment_6_1_in_rule__RelationCS__Alternatives_65371 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__CheckonlyAssignment_0_0_in_rule__DomainCS__Alternatives_05404 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__EnforceAssignment_0_1_in_rule__DomainCS__Alternatives_05422 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleObjectTemplateCS_in_rule__TemplateCS__Alternatives_05455 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTemplateCS_in_rule__TemplateCS__Alternatives_05472 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNameExpCS_in_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_05504 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTemplateCS_in_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_05521 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAnyElementCS_in_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_05538 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNameExpCS_in_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_05570 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTemplateCS_in_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_05587 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAnyElementCS_in_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_05604 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNameExpCS_in_rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_05636 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAnyElementCS_in_rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_05653 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__QueryCS__Alternatives_75686 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group_7_1__0_in_rule__QueryCS__Alternatives_75705 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLUnrestrictedName_in_rule__UnrestrictedName__Alternatives5738 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_18_in_rule__UnrestrictedName__Alternatives5756 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_rule__UnrestrictedName__Alternatives5776 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_rule__UnrestrictedName__Alternatives5796 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_21_in_rule__UnrestrictedName__Alternatives5816 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_22_in_rule__UnrestrictedName__Alternatives5836 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_23_in_rule__UnrestrictedName__Alternatives5856 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_rule__UnrestrictedName__Alternatives5876 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_25_in_rule__UnrestrictedName__Alternatives5896 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_26_in_rule__UnrestrictedName__Alternatives5916 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_27_in_rule__UnrestrictedName__Alternatives5936 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_28_in_rule__UnrestrictedName__Alternatives5956 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_29_in_rule__UnrestrictedName__Alternatives5976 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_30_in_rule__UnrestrictedName__Alternatives5996 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_31_in_rule__UnrestrictedName__Alternatives6016 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_32_in_rule__UnrestrictedName__Alternatives6036 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_33_in_rule__UnrestrictedName__Alternatives6056 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_34_in_rule__UnrestrictedName__Alternatives6076 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_SIMPLE_ID_in_rule__ID__Alternatives6110 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ESCAPED_ID_in_rule__ID__Alternatives6127 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__UPPER__Alternatives6159 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_35_in_rule__UPPER__Alternatives6177 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_36_in_rule__NUMBER_LITERAL__Alternatives_2_06212 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_37_in_rule__NUMBER_LITERAL__Alternatives_2_06232 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_38_in_rule__NUMBER_LITERAL__Alternatives_2_16267 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_39_in_rule__NUMBER_LITERAL__Alternatives_2_16287 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_36_in_rule__EssentialOCLUnrestrictedIdentifier__Alternatives6323 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_37_in_rule__EssentialOCLUnrestrictedIdentifier__Alternatives6343 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_39_in_rule__EssentialOCLPrefixOperator__Alternatives6378 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_40_in_rule__EssentialOCLPrefixOperator__Alternatives6398 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_35_in_rule__EssentialOCLInfixOperator__Alternatives6433 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_41_in_rule__EssentialOCLInfixOperator__Alternatives6453 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_38_in_rule__EssentialOCLInfixOperator__Alternatives6473 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_39_in_rule__EssentialOCLInfixOperator__Alternatives6493 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_42_in_rule__EssentialOCLInfixOperator__Alternatives6513 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_43_in_rule__EssentialOCLInfixOperator__Alternatives6533 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_44_in_rule__EssentialOCLInfixOperator__Alternatives6553 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_45_in_rule__EssentialOCLInfixOperator__Alternatives6573 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_rule__EssentialOCLInfixOperator__Alternatives6593 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_47_in_rule__EssentialOCLInfixOperator__Alternatives6613 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_48_in_rule__EssentialOCLInfixOperator__Alternatives6633 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_49_in_rule__EssentialOCLInfixOperator__Alternatives6653 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_50_in_rule__EssentialOCLInfixOperator__Alternatives6673 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_51_in_rule__EssentialOCLInfixOperator__Alternatives6693 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_52_in_rule__EssentialOCLNavigationOperator__Alternatives6728 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_53_in_rule__EssentialOCLNavigationOperator__Alternatives6748 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleID_in_rule__Identifier__Alternatives6782 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLUnrestrictedIdentifier_in_rule__Identifier__Alternatives6799 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__EssentialOCLUnreservedName__Alternatives6831 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_rule__EssentialOCLUnreservedName__Alternatives6848 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_rule__EssentialOCLUnreservedName__Alternatives6865 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_54_in_rule__EssentialOCLUnreservedName__Alternatives6883 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_55_in_rule__PrimitiveTypeIdentifier__Alternatives6918 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_56_in_rule__PrimitiveTypeIdentifier__Alternatives6938 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_57_in_rule__PrimitiveTypeIdentifier__Alternatives6958 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_58_in_rule__PrimitiveTypeIdentifier__Alternatives6978 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_59_in_rule__PrimitiveTypeIdentifier__Alternatives6998 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_60_in_rule__PrimitiveTypeIdentifier__Alternatives7018 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_61_in_rule__PrimitiveTypeIdentifier__Alternatives7038 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_62_in_rule__PrimitiveTypeIdentifier__Alternatives7058 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_63_in_rule__CollectionTypeIdentifier__Alternatives7093 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_64_in_rule__CollectionTypeIdentifier__Alternatives7113 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_65_in_rule__CollectionTypeIdentifier__Alternatives7133 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_66_in_rule__CollectionTypeIdentifier__Alternatives7153 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_67_in_rule__CollectionTypeIdentifier__Alternatives7173 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMultiplicityBoundsCS_in_rule__MultiplicityCS__Alternatives_17207 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMultiplicityStringCS_in_rule__MultiplicityCS__Alternatives_17224 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_35_in_rule__MultiplicityStringCS__StringBoundsAlternatives_07257 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_38_in_rule__MultiplicityStringCS__StringBoundsAlternatives_07277 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_68_in_rule__MultiplicityStringCS__StringBoundsAlternatives_07297 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNumberLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives7331 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStringLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives7348 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBooleanLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives7365 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives7382 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInvalidLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives7399 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNullLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives7416 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__BooleanLiteralExpCS__NameAssignment_0_in_rule__BooleanLiteralExpCS__Alternatives7448 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__BooleanLiteralExpCS__NameAssignment_1_in_rule__BooleanLiteralExpCS__Alternatives7466 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveTypeCS_in_rule__TypeLiteralCS__Alternatives7499 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypeCS_in_rule__TypeLiteralCS__Alternatives7516 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleTypeCS_in_rule__TypeLiteralCS__Alternatives7533 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeNameExpCS_in_rule__TypeExpCS__Alternatives_07565 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeLiteralCS_in_rule__TypeExpCS__Alternatives_07582 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_0__0_in_rule__ExpCS__Alternatives7614 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_1__0_in_rule__ExpCS__Alternatives7632 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpOrLetExpCS_in_rule__ExpCS__Alternatives7650 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInfixOperatorCS_in_rule__BinaryOperatorCS__Alternatives7682 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigationOperatorCS_in_rule__BinaryOperatorCS__Alternatives7699 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpCS_in_rule__PrefixedExpCS__Alternatives7731 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrefixedExpCS__Group_1__0_in_rule__PrefixedExpCS__Alternatives7748 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpOrLetExpCS_in_rule__PrefixedExpOrLetExpCS__Alternatives7781 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrefixedExpOrLetExpCS__Group_1__0_in_rule__PrefixedExpOrLetExpCS__Alternatives7798 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__0_in_rule__PrimaryExpCS__Alternatives7831 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1__0_in_rule__PrimaryExpCS__Alternatives7849 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2__0_in_rule__PrimaryExpCS__Alternatives7867 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_3__0_in_rule__PrimaryExpCS__Alternatives7885 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSelfExpCS_in_rule__PrimaryExpCS__Alternatives7903 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveLiteralExpCS_in_rule__PrimaryExpCS__Alternatives7920 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_rule__PrimaryExpCS__Alternatives7937 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_rule__PrimaryExpCS__Alternatives7954 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_rule__PrimaryExpCS__Alternatives7971 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIfExpCS_in_rule__PrimaryExpCS__Alternatives7988 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNestedExpCS_in_rule__PrimaryExpCS__Alternatives8005 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpCS_in_rule__PrimaryExpOrLetExpCS__Alternatives8037 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLetExpCS_in_rule__PrimaryExpOrLetExpCS__Alternatives8054 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TopLevelCS__Group__0__Impl_in_rule__TopLevelCS__Group__08084 = new BitSet(new long[]{0x0000000100000000L});
+ public static final BitSet FOLLOW_rule__TopLevelCS__Group__1_in_rule__TopLevelCS__Group__08087 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TopLevelCS__Group_0__0_in_rule__TopLevelCS__Group__0__Impl8114 = new BitSet(new long[]{0x0000000001000002L});
+ public static final BitSet FOLLOW_rule__TopLevelCS__Group__1__Impl_in_rule__TopLevelCS__Group__18145 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TopLevelCS__TransformationAssignment_1_in_rule__TopLevelCS__Group__1__Impl8172 = new BitSet(new long[]{0x0000000100000002L});
+ public static final BitSet FOLLOW_rule__TopLevelCS__Group_0__0__Impl_in_rule__TopLevelCS__Group_0__08207 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__TopLevelCS__Group_0__1_in_rule__TopLevelCS__Group_0__08210 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_rule__TopLevelCS__Group_0__0__Impl8238 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TopLevelCS__Group_0__1__Impl_in_rule__TopLevelCS__Group_0__18269 = new BitSet(new long[]{0x0000000000020000L});
+ public static final BitSet FOLLOW_rule__TopLevelCS__Group_0__2_in_rule__TopLevelCS__Group_0__18272 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TopLevelCS__ImportClauseAssignment_0_1_in_rule__TopLevelCS__Group_0__1__Impl8299 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TopLevelCS__Group_0__2__Impl_in_rule__TopLevelCS__Group_0__28329 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__TopLevelCS__Group_0__2__Impl8357 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__UnitCS__Group__0__Impl_in_rule__UnitCS__Group__08394 = new BitSet(new long[]{0x0010000000000000L});
+ public static final BitSet FOLLOW_rule__UnitCS__Group__1_in_rule__UnitCS__Group__08397 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__UnitCS__IdentifierAssignment_0_in_rule__UnitCS__Group__0__Impl8424 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__UnitCS__Group__1__Impl_in_rule__UnitCS__Group__18454 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__UnitCS__Group_1__0_in_rule__UnitCS__Group__1__Impl8481 = new BitSet(new long[]{0x0010000000000002L});
+ public static final BitSet FOLLOW_rule__UnitCS__Group_1__0__Impl_in_rule__UnitCS__Group_1__08516 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__UnitCS__Group_1__1_in_rule__UnitCS__Group_1__08519 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_52_in_rule__UnitCS__Group_1__0__Impl8547 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__UnitCS__Group_1__1__Impl_in_rule__UnitCS__Group_1__18578 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__UnitCS__IdentifierAssignment_1_1_in_rule__UnitCS__Group_1__1__Impl8605 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__0__Impl_in_rule__TransformationCS__Group__08639 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__1_in_rule__TransformationCS__Group__08642 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_32_in_rule__TransformationCS__Group__0__Impl8670 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__1__Impl_in_rule__TransformationCS__Group__18701 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__2_in_rule__TransformationCS__Group__18704 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__NameAssignment_1_in_rule__TransformationCS__Group__1__Impl8731 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__2__Impl_in_rule__TransformationCS__Group__28761 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__3_in_rule__TransformationCS__Group__28764 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_69_in_rule__TransformationCS__Group__2__Impl8792 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__3__Impl_in_rule__TransformationCS__Group__38823 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000240L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__4_in_rule__TransformationCS__Group__38826 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__ModelDeclAssignment_3_in_rule__TransformationCS__Group__3__Impl8853 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__4__Impl_in_rule__TransformationCS__Group__48883 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000240L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__5_in_rule__TransformationCS__Group__48886 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group_4__0_in_rule__TransformationCS__Group__4__Impl8913 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__5__Impl_in_rule__TransformationCS__Group__58944 = new BitSet(new long[]{0x0000000000400000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__6_in_rule__TransformationCS__Group__58947 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_70_in_rule__TransformationCS__Group__5__Impl8975 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__6__Impl_in_rule__TransformationCS__Group__69006 = new BitSet(new long[]{0x0000000000400000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__7_in_rule__TransformationCS__Group__69009 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group_6__0_in_rule__TransformationCS__Group__6__Impl9036 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__7__Impl_in_rule__TransformationCS__Group__79067 = new BitSet(new long[]{0x00000000B2000000L,0x0000000000000100L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__8_in_rule__TransformationCS__Group__79070 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rule__TransformationCS__Group__7__Impl9098 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__8__Impl_in_rule__TransformationCS__Group__89129 = new BitSet(new long[]{0x00000000B2000000L,0x0000000000000100L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__9_in_rule__TransformationCS__Group__89132 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__KeyDeclAssignment_8_in_rule__TransformationCS__Group__8__Impl9159 = new BitSet(new long[]{0x0000000002000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__9__Impl_in_rule__TransformationCS__Group__99190 = new BitSet(new long[]{0x00000000B2000000L,0x0000000000000100L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__10_in_rule__TransformationCS__Group__99193 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Alternatives_9_in_rule__TransformationCS__Group__9__Impl9220 = new BitSet(new long[]{0x00000000B0000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group__10__Impl_in_rule__TransformationCS__Group__109251 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_rule__TransformationCS__Group__10__Impl9279 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group_4__0__Impl_in_rule__TransformationCS__Group_4__09332 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group_4__1_in_rule__TransformationCS__Group_4__09335 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__TransformationCS__Group_4__0__Impl9363 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group_4__1__Impl_in_rule__TransformationCS__Group_4__19394 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__ModelDeclAssignment_4_1_in_rule__TransformationCS__Group_4__1__Impl9421 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group_6__0__Impl_in_rule__TransformationCS__Group_6__09455 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group_6__1_in_rule__TransformationCS__Group_6__09458 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_22_in_rule__TransformationCS__Group_6__0__Impl9486 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group_6__1__Impl_in_rule__TransformationCS__Group_6__19517 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group_6__2_in_rule__TransformationCS__Group_6__19520 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__ExtendsAssignment_6_1_in_rule__TransformationCS__Group_6__1__Impl9547 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group_6__2__Impl_in_rule__TransformationCS__Group_6__29577 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group_6_2__0_in_rule__TransformationCS__Group_6__2__Impl9604 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group_6_2__0__Impl_in_rule__TransformationCS__Group_6_2__09641 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group_6_2__1_in_rule__TransformationCS__Group_6_2__09644 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__TransformationCS__Group_6_2__0__Impl9672 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__Group_6_2__1__Impl_in_rule__TransformationCS__Group_6_2__19703 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransformationCS__ExtendsAssignment_6_2_1_in_rule__TransformationCS__Group_6_2__1__Impl9730 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group__0__Impl_in_rule__ModelDeclCS__Group__09764 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group__1_in_rule__ModelDeclCS__Group__09767 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__NameAssignment_0_in_rule__ModelDeclCS__Group__0__Impl9794 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group__1__Impl_in_rule__ModelDeclCS__Group__19824 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group__2_in_rule__ModelDeclCS__Group__19827 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_rule__ModelDeclCS__Group__1__Impl9855 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group__2__Impl_in_rule__ModelDeclCS__Group__29886 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Alternatives_2_in_rule__ModelDeclCS__Group__2__Impl9913 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group_2_1__0__Impl_in_rule__ModelDeclCS__Group_2_1__09949 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group_2_1__1_in_rule__ModelDeclCS__Group_2_1__09952 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rule__ModelDeclCS__Group_2_1__0__Impl9980 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group_2_1__1__Impl_in_rule__ModelDeclCS__Group_2_1__110011 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000300L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group_2_1__2_in_rule__ModelDeclCS__Group_2_1__110014 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__MetaModelIdAssignment_2_1_1_in_rule__ModelDeclCS__Group_2_1__1__Impl10041 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group_2_1__2__Impl_in_rule__ModelDeclCS__Group_2_1__210071 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000300L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group_2_1__3_in_rule__ModelDeclCS__Group_2_1__210074 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group_2_1_2__0_in_rule__ModelDeclCS__Group_2_1__2__Impl10101 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group_2_1__3__Impl_in_rule__ModelDeclCS__Group_2_1__310132 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_rule__ModelDeclCS__Group_2_1__3__Impl10160 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group_2_1_2__0__Impl_in_rule__ModelDeclCS__Group_2_1_2__010199 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group_2_1_2__1_in_rule__ModelDeclCS__Group_2_1_2__010202 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__ModelDeclCS__Group_2_1_2__0__Impl10230 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__Group_2_1_2__1__Impl_in_rule__ModelDeclCS__Group_2_1_2__110261 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_1_in_rule__ModelDeclCS__Group_2_1_2__1__Impl10288 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group__0__Impl_in_rule__KeyDeclCS__Group__010322 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group__1_in_rule__KeyDeclCS__Group__010325 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_25_in_rule__KeyDeclCS__Group__0__Impl10353 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group__1__Impl_in_rule__KeyDeclCS__Group__110384 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group__2_in_rule__KeyDeclCS__Group__110387 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__PathNameAssignment_1_in_rule__KeyDeclCS__Group__1__Impl10414 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group__2__Impl_in_rule__KeyDeclCS__Group__210444 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group__3_in_rule__KeyDeclCS__Group__210447 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rule__KeyDeclCS__Group__2__Impl10475 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group__3__Impl_in_rule__KeyDeclCS__Group__310506 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000300L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group__4_in_rule__KeyDeclCS__Group__310509 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__PropertyIdAssignment_3_in_rule__KeyDeclCS__Group__3__Impl10536 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group__4__Impl_in_rule__KeyDeclCS__Group__410566 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000300L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group__5_in_rule__KeyDeclCS__Group__410569 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group_4__0_in_rule__KeyDeclCS__Group__4__Impl10596 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group__5__Impl_in_rule__KeyDeclCS__Group__510627 = new BitSet(new long[]{0x0000000000020000L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group__6_in_rule__KeyDeclCS__Group__510630 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_rule__KeyDeclCS__Group__5__Impl10658 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group__6__Impl_in_rule__KeyDeclCS__Group__610689 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__KeyDeclCS__Group__6__Impl10717 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group_4__0__Impl_in_rule__KeyDeclCS__Group_4__010762 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group_4__1_in_rule__KeyDeclCS__Group_4__010765 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__KeyDeclCS__Group_4__0__Impl10793 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__Group_4__1__Impl_in_rule__KeyDeclCS__Group_4__110824 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__KeyDeclCS__PropertyIdAssignment_4_1_in_rule__KeyDeclCS__Group_4__1__Impl10851 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__0__Impl_in_rule__RelationCS__Group__010885 = new BitSet(new long[]{0x00000000A0000000L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__1_in_rule__RelationCS__Group__010888 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__TopAssignment_0_in_rule__RelationCS__Group__0__Impl10915 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__1__Impl_in_rule__RelationCS__Group__110946 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__2_in_rule__RelationCS__Group__110949 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_29_in_rule__RelationCS__Group__1__Impl10977 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__2__Impl_in_rule__RelationCS__Group__211008 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__3_in_rule__RelationCS__Group__211011 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__NameAssignment_2_in_rule__RelationCS__Group__2__Impl11038 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__3__Impl_in_rule__RelationCS__Group__311068 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__4_in_rule__RelationCS__Group__311071 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group_3__0_in_rule__RelationCS__Group__3__Impl11098 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__4__Impl_in_rule__RelationCS__Group__411129 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__5_in_rule__RelationCS__Group__411132 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rule__RelationCS__Group__4__Impl11160 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__5__Impl_in_rule__RelationCS__Group__511191 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__6_in_rule__RelationCS__Group__511194 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__VarDeclarationAssignment_5_in_rule__RelationCS__Group__5__Impl11221 = new BitSet(new long[]{0x00000037FFFC00C2L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__6__Impl_in_rule__RelationCS__Group__611252 = new BitSet(new long[]{0x0000000600000000L,0x0000000000000100L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__7_in_rule__RelationCS__Group__611255 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__Alternatives_6_in_rule__RelationCS__Group__6__Impl11284 = new BitSet(new long[]{0x00000037FFFC00C2L});
+ public static final BitSet FOLLOW_rule__RelationCS__Alternatives_6_in_rule__RelationCS__Group__6__Impl11296 = new BitSet(new long[]{0x00000037FFFC00C2L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__7__Impl_in_rule__RelationCS__Group__711329 = new BitSet(new long[]{0x0000000600000000L,0x0000000000000100L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__8_in_rule__RelationCS__Group__711332 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__WhenAssignment_7_in_rule__RelationCS__Group__7__Impl11359 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__8__Impl_in_rule__RelationCS__Group__811390 = new BitSet(new long[]{0x0000000600000000L,0x0000000000000100L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__9_in_rule__RelationCS__Group__811393 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__WhereAssignment_8_in_rule__RelationCS__Group__8__Impl11420 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group__9__Impl_in_rule__RelationCS__Group__911451 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_rule__RelationCS__Group__9__Impl11479 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group_3__0__Impl_in_rule__RelationCS__Group_3__011530 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group_3__1_in_rule__RelationCS__Group_3__011533 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_26_in_rule__RelationCS__Group_3__0__Impl11561 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__Group_3__1__Impl_in_rule__RelationCS__Group_3__111592 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__RelationCS__OverridesAssignment_3_1_in_rule__RelationCS__Group_3__1__Impl11619 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhenCS__Group__0__Impl_in_rule__WhenCS__Group__011653 = new BitSet(new long[]{0x0000000200000000L});
+ public static final BitSet FOLLOW_rule__WhenCS__Group__1_in_rule__WhenCS__Group__011656 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhenCS__Group__1__Impl_in_rule__WhenCS__Group__111714 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__WhenCS__Group__2_in_rule__WhenCS__Group__111717 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_33_in_rule__WhenCS__Group__1__Impl11745 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhenCS__Group__2__Impl_in_rule__WhenCS__Group__211776 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16012FL});
+ public static final BitSet FOLLOW_rule__WhenCS__Group__3_in_rule__WhenCS__Group__211779 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rule__WhenCS__Group__2__Impl11807 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhenCS__Group__3__Impl_in_rule__WhenCS__Group__311838 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16012FL});
+ public static final BitSet FOLLOW_rule__WhenCS__Group__4_in_rule__WhenCS__Group__311841 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhenCS__Group_3__0_in_rule__WhenCS__Group__3__Impl11868 = new BitSet(new long[]{0xFFC001BFFFFC00F2L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__WhenCS__Group__4__Impl_in_rule__WhenCS__Group__411899 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_rule__WhenCS__Group__4__Impl11927 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhenCS__Group_3__0__Impl_in_rule__WhenCS__Group_3__011968 = new BitSet(new long[]{0x0000000000020000L});
+ public static final BitSet FOLLOW_rule__WhenCS__Group_3__1_in_rule__WhenCS__Group_3__011971 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhenCS__ExprAssignment_3_0_in_rule__WhenCS__Group_3__0__Impl11998 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhenCS__Group_3__1__Impl_in_rule__WhenCS__Group_3__112028 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__WhenCS__Group_3__1__Impl12056 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhereCS__Group__0__Impl_in_rule__WhereCS__Group__012091 = new BitSet(new long[]{0x0000000400000000L});
+ public static final BitSet FOLLOW_rule__WhereCS__Group__1_in_rule__WhereCS__Group__012094 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhereCS__Group__1__Impl_in_rule__WhereCS__Group__112152 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__WhereCS__Group__2_in_rule__WhereCS__Group__112155 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_34_in_rule__WhereCS__Group__1__Impl12183 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhereCS__Group__2__Impl_in_rule__WhereCS__Group__212214 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16012FL});
+ public static final BitSet FOLLOW_rule__WhereCS__Group__3_in_rule__WhereCS__Group__212217 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rule__WhereCS__Group__2__Impl12245 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhereCS__Group__3__Impl_in_rule__WhereCS__Group__312276 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16012FL});
+ public static final BitSet FOLLOW_rule__WhereCS__Group__4_in_rule__WhereCS__Group__312279 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhereCS__Group_3__0_in_rule__WhereCS__Group__3__Impl12306 = new BitSet(new long[]{0xFFC001BFFFFC00F2L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__WhereCS__Group__4__Impl_in_rule__WhereCS__Group__412337 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_rule__WhereCS__Group__4__Impl12365 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhereCS__Group_3__0__Impl_in_rule__WhereCS__Group_3__012406 = new BitSet(new long[]{0x0000000000020000L});
+ public static final BitSet FOLLOW_rule__WhereCS__Group_3__1_in_rule__WhereCS__Group_3__012409 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhereCS__ExprAssignment_3_0_in_rule__WhereCS__Group_3__0__Impl12436 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__WhereCS__Group_3__1__Impl_in_rule__WhereCS__Group_3__112466 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__WhereCS__Group_3__1__Impl12494 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__Group__0__Impl_in_rule__VarDeclarationCS__Group__012529 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000600L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__Group__1_in_rule__VarDeclarationCS__Group__012532 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__VarDeclarationIdAssignment_0_in_rule__VarDeclarationCS__Group__0__Impl12559 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__Group__1__Impl_in_rule__VarDeclarationCS__Group__112589 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000600L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__Group__2_in_rule__VarDeclarationCS__Group__112592 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__Group_1__0_in_rule__VarDeclarationCS__Group__1__Impl12619 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__Group__2__Impl_in_rule__VarDeclarationCS__Group__212650 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__Group__3_in_rule__VarDeclarationCS__Group__212653 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_rule__VarDeclarationCS__Group__2__Impl12681 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__Group__3__Impl_in_rule__VarDeclarationCS__Group__312712 = new BitSet(new long[]{0x0000000000020000L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__Group__4_in_rule__VarDeclarationCS__Group__312715 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__TypeAssignment_3_in_rule__VarDeclarationCS__Group__3__Impl12742 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__Group__4__Impl_in_rule__VarDeclarationCS__Group__412772 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__VarDeclarationCS__Group__4__Impl12800 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__Group_1__0__Impl_in_rule__VarDeclarationCS__Group_1__012841 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__Group_1__1_in_rule__VarDeclarationCS__Group_1__012844 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__VarDeclarationCS__Group_1__0__Impl12872 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__Group_1__1__Impl_in_rule__VarDeclarationCS__Group_1__112903 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__VarDeclarationCS__VarDeclarationIdAssignment_1_1_in_rule__VarDeclarationCS__Group_1__1__Impl12930 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group__0__Impl_in_rule__DomainCS__Group__012964 = new BitSet(new long[]{0x0000000000340000L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group__1_in_rule__DomainCS__Group__012967 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Alternatives_0_in_rule__DomainCS__Group__0__Impl12994 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group__1__Impl_in_rule__DomainCS__Group__113025 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group__2_in_rule__DomainCS__Group__113028 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_rule__DomainCS__Group__1__Impl13056 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group__2__Impl_in_rule__DomainCS__Group__213087 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group__3_in_rule__DomainCS__Group__213090 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__ModelIdAssignment_2_in_rule__DomainCS__Group__2__Impl13117 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group__3__Impl_in_rule__DomainCS__Group__313147 = new BitSet(new long[]{0x00000000008A0000L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group__4_in_rule__DomainCS__Group__313150 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__TemplateAssignment_3_in_rule__DomainCS__Group__3__Impl13177 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group__4__Impl_in_rule__DomainCS__Group__413207 = new BitSet(new long[]{0x00000000008A0000L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group__5_in_rule__DomainCS__Group__413210 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group_4__0_in_rule__DomainCS__Group__4__Impl13237 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group__5__Impl_in_rule__DomainCS__Group__513268 = new BitSet(new long[]{0x00000000008A0000L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group__6_in_rule__DomainCS__Group__513271 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group_5__0_in_rule__DomainCS__Group__5__Impl13298 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group__6__Impl_in_rule__DomainCS__Group__613329 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__DomainCS__Group__6__Impl13357 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group_4__0__Impl_in_rule__DomainCS__Group_4__013402 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__DomainCS__Group_4__1_in_rule__DomainCS__Group_4__013405 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_23_in_rule__DomainCS__Group_4__0__Impl13433 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group_4__1__Impl_in_rule__DomainCS__Group_4__113464 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__ImplementedByAssignment_4_1_in_rule__DomainCS__Group_4__1__Impl13491 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group_5__0__Impl_in_rule__DomainCS__Group_5__013525 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group_5__1_in_rule__DomainCS__Group_5__013528 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_rule__DomainCS__Group_5__0__Impl13556 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group_5__1__Impl_in_rule__DomainCS__Group_5__113587 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group_5__2_in_rule__DomainCS__Group_5__113590 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rule__DomainCS__Group_5__1__Impl13618 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group_5__2__Impl_in_rule__DomainCS__Group_5__213649 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group_5__3_in_rule__DomainCS__Group_5__213652 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DomainCS__DefaultValueAssignment_5_2_in_rule__DomainCS__Group_5__2__Impl13681 = new BitSet(new long[]{0x00000037FFFC00C2L});
+ public static final BitSet FOLLOW_rule__DomainCS__DefaultValueAssignment_5_2_in_rule__DomainCS__Group_5__2__Impl13693 = new BitSet(new long[]{0x00000037FFFC00C2L});
+ public static final BitSet FOLLOW_rule__DomainCS__Group_5__3__Impl_in_rule__DomainCS__Group_5__313726 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_rule__DomainCS__Group_5__3__Impl13754 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeDomainCS__Group__0__Impl_in_rule__PrimitiveTypeDomainCS__Group__013793 = new BitSet(new long[]{0x0000000000100000L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeDomainCS__Group__1_in_rule__PrimitiveTypeDomainCS__Group__013796 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_27_in_rule__PrimitiveTypeDomainCS__Group__0__Impl13824 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeDomainCS__Group__1__Impl_in_rule__PrimitiveTypeDomainCS__Group__113855 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeDomainCS__Group__2_in_rule__PrimitiveTypeDomainCS__Group__113858 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_rule__PrimitiveTypeDomainCS__Group__1__Impl13886 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeDomainCS__Group__2__Impl_in_rule__PrimitiveTypeDomainCS__Group__213917 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeDomainCS__Group__3_in_rule__PrimitiveTypeDomainCS__Group__213920 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeDomainCS__NameAssignment_2_in_rule__PrimitiveTypeDomainCS__Group__2__Impl13947 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeDomainCS__Group__3__Impl_in_rule__PrimitiveTypeDomainCS__Group__313977 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeDomainCS__Group__4_in_rule__PrimitiveTypeDomainCS__Group__313980 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_rule__PrimitiveTypeDomainCS__Group__3__Impl14008 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeDomainCS__Group__4__Impl_in_rule__PrimitiveTypeDomainCS__Group__414039 = new BitSet(new long[]{0x0000000000020000L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeDomainCS__Group__5_in_rule__PrimitiveTypeDomainCS__Group__414042 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeDomainCS__TypeAssignment_4_in_rule__PrimitiveTypeDomainCS__Group__4__Impl14069 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimitiveTypeDomainCS__Group__5__Impl_in_rule__PrimitiveTypeDomainCS__Group__514099 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__PrimitiveTypeDomainCS__Group__5__Impl14127 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TemplateCS__Group__0__Impl_in_rule__TemplateCS__Group__014170 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__TemplateCS__Group__1_in_rule__TemplateCS__Group__014173 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TemplateCS__Alternatives_0_in_rule__TemplateCS__Group__0__Impl14200 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TemplateCS__Group__1__Impl_in_rule__TemplateCS__Group__114230 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TemplateCS__Group_1__0_in_rule__TemplateCS__Group__1__Impl14257 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TemplateCS__Group_1__0__Impl_in_rule__TemplateCS__Group_1__014292 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__TemplateCS__Group_1__1_in_rule__TemplateCS__Group_1__014295 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rule__TemplateCS__Group_1__0__Impl14323 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TemplateCS__Group_1__1__Impl_in_rule__TemplateCS__Group_1__114354 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
+ public static final BitSet FOLLOW_rule__TemplateCS__Group_1__2_in_rule__TemplateCS__Group_1__114357 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TemplateCS__GuardExpressionAssignment_1_1_in_rule__TemplateCS__Group_1__1__Impl14384 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TemplateCS__Group_1__2__Impl_in_rule__TemplateCS__Group_1__214414 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_rule__TemplateCS__Group_1__2__Impl14442 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group__0__Impl_in_rule__ObjectTemplateCS__Group__014479 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group__1_in_rule__ObjectTemplateCS__Group__014482 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__PropertyIdAssignment_0_in_rule__ObjectTemplateCS__Group__0__Impl14509 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group__1__Impl_in_rule__ObjectTemplateCS__Group__114540 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group__2_in_rule__ObjectTemplateCS__Group__114543 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_rule__ObjectTemplateCS__Group__1__Impl14571 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group__2__Impl_in_rule__ObjectTemplateCS__Group__214602 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group__3_in_rule__ObjectTemplateCS__Group__214605 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__TypeAssignment_2_in_rule__ObjectTemplateCS__Group__2__Impl14632 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group__3__Impl_in_rule__ObjectTemplateCS__Group__314662 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000000100L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group__4_in_rule__ObjectTemplateCS__Group__314665 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rule__ObjectTemplateCS__Group__3__Impl14693 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group__4__Impl_in_rule__ObjectTemplateCS__Group__414724 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000000100L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group__5_in_rule__ObjectTemplateCS__Group__414727 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group_4__0_in_rule__ObjectTemplateCS__Group__4__Impl14754 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group__5__Impl_in_rule__ObjectTemplateCS__Group__514785 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_rule__ObjectTemplateCS__Group__5__Impl14813 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group_4__0__Impl_in_rule__ObjectTemplateCS__Group_4__014856 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group_4__1_in_rule__ObjectTemplateCS__Group_4__014859 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__PropertyTemplateAssignment_4_0_in_rule__ObjectTemplateCS__Group_4__0__Impl14886 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group_4__1__Impl_in_rule__ObjectTemplateCS__Group_4__114916 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group_4_1__0_in_rule__ObjectTemplateCS__Group_4__1__Impl14943 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group_4_1__0__Impl_in_rule__ObjectTemplateCS__Group_4_1__014978 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group_4_1__1_in_rule__ObjectTemplateCS__Group_4_1__014981 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__ObjectTemplateCS__Group_4_1__0__Impl15009 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__Group_4_1__1__Impl_in_rule__ObjectTemplateCS__Group_4_1__115040 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_1_in_rule__ObjectTemplateCS__Group_4_1__1__Impl15067 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PropertyTemplateCS__Group__0__Impl_in_rule__PropertyTemplateCS__Group__015101 = new BitSet(new long[]{0x0000400000000000L});
+ public static final BitSet FOLLOW_rule__PropertyTemplateCS__Group__1_in_rule__PropertyTemplateCS__Group__015104 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PropertyTemplateCS__PropertyIdAssignment_0_in_rule__PropertyTemplateCS__Group__0__Impl15131 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PropertyTemplateCS__Group__1__Impl_in_rule__PropertyTemplateCS__Group__115161 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__PropertyTemplateCS__Group__2_in_rule__PropertyTemplateCS__Group__115164 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_rule__PropertyTemplateCS__Group__1__Impl15192 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PropertyTemplateCS__Group__2__Impl_in_rule__PropertyTemplateCS__Group__215223 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PropertyTemplateCS__OclExpressionAssignment_2_in_rule__PropertyTemplateCS__Group__2__Impl15250 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group__0__Impl_in_rule__CollectionTemplateCS__Group__015286 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group__1_in_rule__CollectionTemplateCS__Group__015289 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__PropertyIdAssignment_0_in_rule__CollectionTemplateCS__Group__0__Impl15316 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group__1__Impl_in_rule__CollectionTemplateCS__Group__115347 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group__2_in_rule__CollectionTemplateCS__Group__115350 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_rule__CollectionTemplateCS__Group__1__Impl15378 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group__2__Impl_in_rule__CollectionTemplateCS__Group__215409 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group__3_in_rule__CollectionTemplateCS__Group__215412 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__TypeAssignment_2_in_rule__CollectionTemplateCS__Group__2__Impl15439 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group__3__Impl_in_rule__CollectionTemplateCS__Group__315469 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000001500L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group__4_in_rule__CollectionTemplateCS__Group__315472 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rule__CollectionTemplateCS__Group__3__Impl15500 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group__4__Impl_in_rule__CollectionTemplateCS__Group__415531 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000001500L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group__5_in_rule__CollectionTemplateCS__Group__415534 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group_4__0_in_rule__CollectionTemplateCS__Group__4__Impl15561 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group__5__Impl_in_rule__CollectionTemplateCS__Group__515592 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_rule__CollectionTemplateCS__Group__5__Impl15620 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group_4__0__Impl_in_rule__CollectionTemplateCS__Group_4__015663 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000A00L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group_4__1_in_rule__CollectionTemplateCS__Group_4__015666 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__MemberIdentifierAssignment_4_0_in_rule__CollectionTemplateCS__Group_4__0__Impl15693 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group_4__1__Impl_in_rule__CollectionTemplateCS__Group_4__115723 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000A00L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group_4__2_in_rule__CollectionTemplateCS__Group_4__115726 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group_4_1__0_in_rule__CollectionTemplateCS__Group_4__1__Impl15753 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group_4__2__Impl_in_rule__CollectionTemplateCS__Group_4__215784 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000001400L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group_4__3_in_rule__CollectionTemplateCS__Group_4__215787 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_75_in_rule__CollectionTemplateCS__Group_4__2__Impl15815 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group_4__3__Impl_in_rule__CollectionTemplateCS__Group_4__315846 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__RestIdentifierAssignment_4_3_in_rule__CollectionTemplateCS__Group_4__3__Impl15873 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group_4_1__0__Impl_in_rule__CollectionTemplateCS__Group_4_1__015912 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000001400L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group_4_1__1_in_rule__CollectionTemplateCS__Group_4_1__015915 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__CollectionTemplateCS__Group_4_1__0__Impl15943 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__Group_4_1__1__Impl_in_rule__CollectionTemplateCS__Group_4_1__115974 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_1_in_rule__CollectionTemplateCS__Group_4_1__1__Impl16001 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__AnyElementCS__Group__0__Impl_in_rule__AnyElementCS__Group__016035 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000001400L});
+ public static final BitSet FOLLOW_rule__AnyElementCS__Group__1_in_rule__AnyElementCS__Group__016038 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__AnyElementCS__Group__1__Impl_in_rule__AnyElementCS__Group__116096 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_76_in_rule__AnyElementCS__Group__1__Impl16124 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DefaultValueCS__Group__0__Impl_in_rule__DefaultValueCS__Group__016159 = new BitSet(new long[]{0x0000400000000000L});
+ public static final BitSet FOLLOW_rule__DefaultValueCS__Group__1_in_rule__DefaultValueCS__Group__016162 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DefaultValueCS__PropertyIdAssignment_0_in_rule__DefaultValueCS__Group__0__Impl16189 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DefaultValueCS__Group__1__Impl_in_rule__DefaultValueCS__Group__116219 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__DefaultValueCS__Group__2_in_rule__DefaultValueCS__Group__116222 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_rule__DefaultValueCS__Group__1__Impl16250 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DefaultValueCS__Group__2__Impl_in_rule__DefaultValueCS__Group__216281 = new BitSet(new long[]{0x0000000000020000L});
+ public static final BitSet FOLLOW_rule__DefaultValueCS__Group__3_in_rule__DefaultValueCS__Group__216284 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DefaultValueCS__InitialiserAssignment_2_in_rule__DefaultValueCS__Group__2__Impl16311 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DefaultValueCS__Group__3__Impl_in_rule__DefaultValueCS__Group__316341 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__DefaultValueCS__Group__3__Impl16369 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__0__Impl_in_rule__QueryCS__Group__016408 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__1_in_rule__QueryCS__Group__016411 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_28_in_rule__QueryCS__Group__0__Impl16439 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__1__Impl_in_rule__QueryCS__Group__116470 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__2_in_rule__QueryCS__Group__116473 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__PathNameAssignment_1_in_rule__QueryCS__Group__1__Impl16500 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__2__Impl_in_rule__QueryCS__Group__216530 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000000040L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__3_in_rule__QueryCS__Group__216533 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_69_in_rule__QueryCS__Group__2__Impl16561 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__3__Impl_in_rule__QueryCS__Group__316592 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000000040L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__4_in_rule__QueryCS__Group__316595 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group_3__0_in_rule__QueryCS__Group__3__Impl16622 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__4__Impl_in_rule__QueryCS__Group__416653 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__5_in_rule__QueryCS__Group__416656 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_70_in_rule__QueryCS__Group__4__Impl16684 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__5__Impl_in_rule__QueryCS__Group__516715 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__6_in_rule__QueryCS__Group__516718 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_rule__QueryCS__Group__5__Impl16746 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__6__Impl_in_rule__QueryCS__Group__616777 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__7_in_rule__QueryCS__Group__616780 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__TypeAssignment_6_in_rule__QueryCS__Group__6__Impl16807 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group__7__Impl_in_rule__QueryCS__Group__716837 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Alternatives_7_in_rule__QueryCS__Group__7__Impl16864 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group_3__0__Impl_in_rule__QueryCS__Group_3__016910 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group_3__1_in_rule__QueryCS__Group_3__016913 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__InputParamDeclarationAssignment_3_0_in_rule__QueryCS__Group_3__0__Impl16940 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group_3__1__Impl_in_rule__QueryCS__Group_3__116970 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group_3_1__0_in_rule__QueryCS__Group_3__1__Impl16997 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group_3_1__0__Impl_in_rule__QueryCS__Group_3_1__017032 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group_3_1__1_in_rule__QueryCS__Group_3_1__017035 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__QueryCS__Group_3_1__0__Impl17063 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group_3_1__1__Impl_in_rule__QueryCS__Group_3_1__117094 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__InputParamDeclarationAssignment_3_1_1_in_rule__QueryCS__Group_3_1__1__Impl17121 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group_7_1__0__Impl_in_rule__QueryCS__Group_7_1__017155 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__QueryCS__Group_7_1__1_in_rule__QueryCS__Group_7_1__017158 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rule__QueryCS__Group_7_1__0__Impl17186 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group_7_1__1__Impl_in_rule__QueryCS__Group_7_1__117217 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group_7_1__2_in_rule__QueryCS__Group_7_1__117220 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__OclExpressionAssignment_7_1_1_in_rule__QueryCS__Group_7_1__1__Impl17247 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__QueryCS__Group_7_1__2__Impl_in_rule__QueryCS__Group_7_1__217277 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_rule__QueryCS__Group_7_1__2__Impl17305 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ParamDeclarationCS__Group__0__Impl_in_rule__ParamDeclarationCS__Group__017342 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__ParamDeclarationCS__Group__1_in_rule__ParamDeclarationCS__Group__017345 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ParamDeclarationCS__NameAssignment_0_in_rule__ParamDeclarationCS__Group__0__Impl17372 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ParamDeclarationCS__Group__1__Impl_in_rule__ParamDeclarationCS__Group__117402 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__ParamDeclarationCS__Group__2_in_rule__ParamDeclarationCS__Group__117405 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_rule__ParamDeclarationCS__Group__1__Impl17433 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ParamDeclarationCS__Group__2__Impl_in_rule__ParamDeclarationCS__Group__217464 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ParamDeclarationCS__TypeAssignment_2_in_rule__ParamDeclarationCS__Group__2__Impl17491 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group__0__Impl_in_rule__NUMBER_LITERAL__Group__017527 = new BitSet(new long[]{0x0010003000000000L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group__1_in_rule__NUMBER_LITERAL__Group__017530 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__NUMBER_LITERAL__Group__0__Impl17557 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group__1__Impl_in_rule__NUMBER_LITERAL__Group__117586 = new BitSet(new long[]{0x0010003000000000L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group__2_in_rule__NUMBER_LITERAL__Group__117589 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group_1__0_in_rule__NUMBER_LITERAL__Group__1__Impl17616 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group__2__Impl_in_rule__NUMBER_LITERAL__Group__217647 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group_2__0_in_rule__NUMBER_LITERAL__Group__2__Impl17674 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group_1__0__Impl_in_rule__NUMBER_LITERAL__Group_1__017711 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group_1__1_in_rule__NUMBER_LITERAL__Group_1__017714 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_52_in_rule__NUMBER_LITERAL__Group_1__0__Impl17742 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group_1__1__Impl_in_rule__NUMBER_LITERAL__Group_1__117773 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__NUMBER_LITERAL__Group_1__1__Impl17800 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group_2__0__Impl_in_rule__NUMBER_LITERAL__Group_2__017833 = new BitSet(new long[]{0x000000C000000010L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group_2__1_in_rule__NUMBER_LITERAL__Group_2__017836 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Alternatives_2_0_in_rule__NUMBER_LITERAL__Group_2__0__Impl17863 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group_2__1__Impl_in_rule__NUMBER_LITERAL__Group_2__117893 = new BitSet(new long[]{0x000000C000000010L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group_2__2_in_rule__NUMBER_LITERAL__Group_2__117896 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Alternatives_2_1_in_rule__NUMBER_LITERAL__Group_2__1__Impl17923 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group_2__2__Impl_in_rule__NUMBER_LITERAL__Group_2__217954 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__NUMBER_LITERAL__Group_2__2__Impl17981 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PathNameCS__Group__0__Impl_in_rule__PathNameCS__Group__018016 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
+ public static final BitSet FOLLOW_rule__PathNameCS__Group__1_in_rule__PathNameCS__Group__018019 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PathNameCS__PathAssignment_0_in_rule__PathNameCS__Group__0__Impl18046 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PathNameCS__Group__1__Impl_in_rule__PathNameCS__Group__118076 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PathNameCS__Group_1__0_in_rule__PathNameCS__Group__1__Impl18103 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002000L});
+ public static final BitSet FOLLOW_rule__PathNameCS__Group_1__0__Impl_in_rule__PathNameCS__Group_1__018138 = new BitSet(new long[]{0xFFC00037FFFC00C0L,0x000000000000000FL});
+ public static final BitSet FOLLOW_rule__PathNameCS__Group_1__1_in_rule__PathNameCS__Group_1__018141 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_77_in_rule__PathNameCS__Group_1__0__Impl18169 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PathNameCS__Group_1__1__Impl_in_rule__PathNameCS__Group_1__118200 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PathNameCS__PathAssignment_1_1_in_rule__PathNameCS__Group_1__1__Impl18227 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTypeCS__Group__0__Impl_in_rule__CollectionTypeCS__Group__018261 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+ public static final BitSet FOLLOW_rule__CollectionTypeCS__Group__1_in_rule__CollectionTypeCS__Group__018264 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTypeCS__NameAssignment_0_in_rule__CollectionTypeCS__Group__0__Impl18291 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTypeCS__Group__1__Impl_in_rule__CollectionTypeCS__Group__118321 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__0_in_rule__CollectionTypeCS__Group__1__Impl18348 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__0__Impl_in_rule__CollectionTypeCS__Group_1__018383 = new BitSet(new long[]{0xFFC00037FFFC00C0L,0x000000000000000FL});
+ public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__1_in_rule__CollectionTypeCS__Group_1__018386 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_69_in_rule__CollectionTypeCS__Group_1__0__Impl18414 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__1__Impl_in_rule__CollectionTypeCS__Group_1__118445 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
+ public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__2_in_rule__CollectionTypeCS__Group_1__118448 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTypeCS__OwnedTypeAssignment_1_1_in_rule__CollectionTypeCS__Group_1__1__Impl18475 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__2__Impl_in_rule__CollectionTypeCS__Group_1__218505 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_70_in_rule__CollectionTypeCS__Group_1__2__Impl18533 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group__0__Impl_in_rule__MultiplicityBoundsCS__Group__018570 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
+ public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group__1_in_rule__MultiplicityBoundsCS__Group__018573 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__LowerBoundAssignment_0_in_rule__MultiplicityBoundsCS__Group__0__Impl18600 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group__1__Impl_in_rule__MultiplicityBoundsCS__Group__118630 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group_1__0_in_rule__MultiplicityBoundsCS__Group__1__Impl18657 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group_1__0__Impl_in_rule__MultiplicityBoundsCS__Group_1__018692 = new BitSet(new long[]{0x0000000800000010L});
+ public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group_1__1_in_rule__MultiplicityBoundsCS__Group_1__018695 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_78_in_rule__MultiplicityBoundsCS__Group_1__0__Impl18723 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group_1__1__Impl_in_rule__MultiplicityBoundsCS__Group_1__118754 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1_in_rule__MultiplicityBoundsCS__Group_1__1__Impl18781 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityCS__Group__0__Impl_in_rule__MultiplicityCS__Group__018815 = new BitSet(new long[]{0x0000004800000010L,0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__MultiplicityCS__Group__1_in_rule__MultiplicityCS__Group__018818 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_79_in_rule__MultiplicityCS__Group__0__Impl18846 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityCS__Group__1__Impl_in_rule__MultiplicityCS__Group__118877 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
+ public static final BitSet FOLLOW_rule__MultiplicityCS__Group__2_in_rule__MultiplicityCS__Group__118880 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityCS__Alternatives_1_in_rule__MultiplicityCS__Group__1__Impl18907 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityCS__Group__2__Impl_in_rule__MultiplicityCS__Group__218937 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_80_in_rule__MultiplicityCS__Group__2__Impl18965 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group__0__Impl_in_rule__TupleTypeCS__Group__019002 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group__1_in_rule__TupleTypeCS__Group__019005 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__NameAssignment_0_in_rule__TupleTypeCS__Group__0__Impl19032 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group__1__Impl_in_rule__TupleTypeCS__Group__119062 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__0_in_rule__TupleTypeCS__Group__1__Impl19089 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__0__Impl_in_rule__TupleTypeCS__Group_1__019124 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000000040L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__1_in_rule__TupleTypeCS__Group_1__019127 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_69_in_rule__TupleTypeCS__Group_1__0__Impl19155 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__1__Impl_in_rule__TupleTypeCS__Group_1__119186 = new BitSet(new long[]{0x00000037FFFC00C0L,0x0000000000000040L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__2_in_rule__TupleTypeCS__Group_1__119189 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1__0_in_rule__TupleTypeCS__Group_1__1__Impl19216 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__2__Impl_in_rule__TupleTypeCS__Group_1__219247 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_70_in_rule__TupleTypeCS__Group_1__2__Impl19275 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1__0__Impl_in_rule__TupleTypeCS__Group_1_1__019312 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1__1_in_rule__TupleTypeCS__Group_1_1__019315 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__OwnedPartsAssignment_1_1_0_in_rule__TupleTypeCS__Group_1_1__0__Impl19342 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1__1__Impl_in_rule__TupleTypeCS__Group_1_1__119372 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1_1__0_in_rule__TupleTypeCS__Group_1_1__1__Impl19399 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1_1__0__Impl_in_rule__TupleTypeCS__Group_1_1_1__019434 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1_1__1_in_rule__TupleTypeCS__Group_1_1_1__019437 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__TupleTypeCS__Group_1_1_1__0__Impl19465 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1_1__1__Impl_in_rule__TupleTypeCS__Group_1_1_1__119496 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1_in_rule__TupleTypeCS__Group_1_1_1__1__Impl19523 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TuplePartCS__Group__0__Impl_in_rule__TuplePartCS__Group__019557 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__TuplePartCS__Group__1_in_rule__TuplePartCS__Group__019560 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TuplePartCS__NameAssignment_0_in_rule__TuplePartCS__Group__0__Impl19587 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TuplePartCS__Group__1__Impl_in_rule__TuplePartCS__Group__119617 = new BitSet(new long[]{0xFFC00037FFFC00C0L,0x000000000000000FL});
+ public static final BitSet FOLLOW_rule__TuplePartCS__Group__2_in_rule__TuplePartCS__Group__119620 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_rule__TuplePartCS__Group__1__Impl19648 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TuplePartCS__Group__2__Impl_in_rule__TuplePartCS__Group__219679 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TuplePartCS__OwnedTypeAssignment_2_in_rule__TuplePartCS__Group__2__Impl19706 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__0__Impl_in_rule__CollectionLiteralExpCS__Group__019742 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__1_in_rule__CollectionLiteralExpCS__Group__019745 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__OwnedTypeAssignment_0_in_rule__CollectionLiteralExpCS__Group__0__Impl19772 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__1__Impl_in_rule__CollectionLiteralExpCS__Group__119802 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16012FL});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__2_in_rule__CollectionLiteralExpCS__Group__119805 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rule__CollectionLiteralExpCS__Group__1__Impl19833 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__2__Impl_in_rule__CollectionLiteralExpCS__Group__219864 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16012FL});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__3_in_rule__CollectionLiteralExpCS__Group__219867 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2__0_in_rule__CollectionLiteralExpCS__Group__2__Impl19894 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__3__Impl_in_rule__CollectionLiteralExpCS__Group__319925 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_rule__CollectionLiteralExpCS__Group__3__Impl19953 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2__0__Impl_in_rule__CollectionLiteralExpCS__Group_2__019992 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2__1_in_rule__CollectionLiteralExpCS__Group_2__019995 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0_in_rule__CollectionLiteralExpCS__Group_2__0__Impl20022 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2__1__Impl_in_rule__CollectionLiteralExpCS__Group_2__120052 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__0_in_rule__CollectionLiteralExpCS__Group_2__1__Impl20079 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__0__Impl_in_rule__CollectionLiteralExpCS__Group_2_1__020114 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__1_in_rule__CollectionLiteralExpCS__Group_2_1__020117 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__CollectionLiteralExpCS__Group_2_1__0__Impl20145 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__1__Impl_in_rule__CollectionLiteralExpCS__Group_2_1__120176 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1_in_rule__CollectionLiteralExpCS__Group_2_1__1__Impl20203 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group__0__Impl_in_rule__CollectionLiteralPartCS__Group__020237 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group__1_in_rule__CollectionLiteralPartCS__Group__020240 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__ExpressionCSAssignment_0_in_rule__CollectionLiteralPartCS__Group__0__Impl20267 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group__1__Impl_in_rule__CollectionLiteralPartCS__Group__120297 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_1__0_in_rule__CollectionLiteralPartCS__Group__1__Impl20324 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_1__0__Impl_in_rule__CollectionLiteralPartCS__Group_1__020359 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_1__1_in_rule__CollectionLiteralPartCS__Group_1__020362 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_78_in_rule__CollectionLiteralPartCS__Group_1__0__Impl20390 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_1__1__Impl_in_rule__CollectionLiteralPartCS__Group_1__120421 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_1_in_rule__CollectionLiteralPartCS__Group_1__1__Impl20448 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__0__Impl_in_rule__ConstructorPartCS__Group__020482 = new BitSet(new long[]{0x0000400000000000L});
+ public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__1_in_rule__ConstructorPartCS__Group__020485 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ConstructorPartCS__PropertyAssignment_0_in_rule__ConstructorPartCS__Group__0__Impl20512 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__1__Impl_in_rule__ConstructorPartCS__Group__120542 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__2_in_rule__ConstructorPartCS__Group__120545 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_rule__ConstructorPartCS__Group__1__Impl20573 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__2__Impl_in_rule__ConstructorPartCS__Group__220604 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ConstructorPartCS__InitExpressionAssignment_2_in_rule__ConstructorPartCS__Group__2__Impl20631 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__0__Impl_in_rule__TupleLiteralExpCS__Group__020667 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__1_in_rule__TupleLiteralExpCS__Group__020670 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_54_in_rule__TupleLiteralExpCS__Group__0__Impl20698 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__1__Impl_in_rule__TupleLiteralExpCS__Group__120729 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__2_in_rule__TupleLiteralExpCS__Group__120732 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rule__TupleLiteralExpCS__Group__1__Impl20760 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__2__Impl_in_rule__TupleLiteralExpCS__Group__220791 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000300L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__3_in_rule__TupleLiteralExpCS__Group__220794 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__OwnedPartsAssignment_2_in_rule__TupleLiteralExpCS__Group__2__Impl20821 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__3__Impl_in_rule__TupleLiteralExpCS__Group__320851 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000300L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__4_in_rule__TupleLiteralExpCS__Group__320854 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group_3__0_in_rule__TupleLiteralExpCS__Group__3__Impl20881 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__4__Impl_in_rule__TupleLiteralExpCS__Group__420912 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_rule__TupleLiteralExpCS__Group__4__Impl20940 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group_3__0__Impl_in_rule__TupleLiteralExpCS__Group_3__020981 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group_3__1_in_rule__TupleLiteralExpCS__Group_3__020984 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__TupleLiteralExpCS__Group_3__0__Impl21012 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group_3__1__Impl_in_rule__TupleLiteralExpCS__Group_3__121043 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1_in_rule__TupleLiteralExpCS__Group_3__1__Impl21070 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__0__Impl_in_rule__TupleLiteralPartCS__Group__021104 = new BitSet(new long[]{0x0000400000000000L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__1_in_rule__TupleLiteralPartCS__Group__021107 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__NameAssignment_0_in_rule__TupleLiteralPartCS__Group__0__Impl21134 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__1__Impl_in_rule__TupleLiteralPartCS__Group__121164 = new BitSet(new long[]{0x0000400000000000L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__2_in_rule__TupleLiteralPartCS__Group__121167 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group_1__0_in_rule__TupleLiteralPartCS__Group__1__Impl21194 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__2__Impl_in_rule__TupleLiteralPartCS__Group__221225 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__3_in_rule__TupleLiteralPartCS__Group__221228 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_rule__TupleLiteralPartCS__Group__2__Impl21256 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__3__Impl_in_rule__TupleLiteralPartCS__Group__321287 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__InitExpressionAssignment_3_in_rule__TupleLiteralPartCS__Group__3__Impl21314 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group_1__0__Impl_in_rule__TupleLiteralPartCS__Group_1__021352 = new BitSet(new long[]{0xFFC00037FFFC00C0L,0x000000000000000FL});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group_1__1_in_rule__TupleLiteralPartCS__Group_1__021355 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_rule__TupleLiteralPartCS__Group_1__0__Impl21383 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group_1__1__Impl_in_rule__TupleLiteralPartCS__Group_1__121414 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1_in_rule__TupleLiteralPartCS__Group_1__1__Impl21441 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl_in_rule__UnlimitedNaturalLiteralExpCS__Group__021475 = new BitSet(new long[]{0x0000000800000000L});
+ public static final BitSet FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__1_in_rule__UnlimitedNaturalLiteralExpCS__Group__021478 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl_in_rule__UnlimitedNaturalLiteralExpCS__Group__121536 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_35_in_rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl21564 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__InvalidLiteralExpCS__Group__0__Impl_in_rule__InvalidLiteralExpCS__Group__021599 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
+ public static final BitSet FOLLOW_rule__InvalidLiteralExpCS__Group__1_in_rule__InvalidLiteralExpCS__Group__021602 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__InvalidLiteralExpCS__Group__1__Impl_in_rule__InvalidLiteralExpCS__Group__121660 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_81_in_rule__InvalidLiteralExpCS__Group__1__Impl21688 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NullLiteralExpCS__Group__0__Impl_in_rule__NullLiteralExpCS__Group__021723 = new BitSet(new long[]{0x0000000800000030L,0x0000000018060000L});
+ public static final BitSet FOLLOW_rule__NullLiteralExpCS__Group__1_in_rule__NullLiteralExpCS__Group__021726 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NullLiteralExpCS__Group__1__Impl_in_rule__NullLiteralExpCS__Group__121784 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_82_in_rule__NullLiteralExpCS__Group__1__Impl21812 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TypeExpCS__Group__0__Impl_in_rule__TypeExpCS__Group__021847 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
+ public static final BitSet FOLLOW_rule__TypeExpCS__Group__1_in_rule__TypeExpCS__Group__021850 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TypeExpCS__Alternatives_0_in_rule__TypeExpCS__Group__0__Impl21877 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TypeExpCS__Group__1__Impl_in_rule__TypeExpCS__Group__121907 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TypeExpCS__MultiplicityAssignment_1_in_rule__TypeExpCS__Group__1__Impl21934 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_0__0__Impl_in_rule__ExpCS__Group_0__021969 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001C16002FL});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_0__1_in_rule__ExpCS__Group_0__021972 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_0__1__Impl_in_rule__ExpCS__Group_0__122030 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_0__2_in_rule__ExpCS__Group_0__122033 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__0_in_rule__ExpCS__Group_0__1__Impl22062 = new BitSet(new long[]{0xFFC001BFFFFC00F2L,0x000000001C16002FL});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__0_in_rule__ExpCS__Group_0__1__Impl22074 = new BitSet(new long[]{0xFFC001BFFFFC00F2L,0x000000001C16002FL});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_0__2__Impl_in_rule__ExpCS__Group_0__222107 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__OwnedExpressionAssignment_0_2_in_rule__ExpCS__Group_0__2__Impl22134 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__0__Impl_in_rule__ExpCS__Group_0_1__022170 = new BitSet(new long[]{0x003FFEC800000000L});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__1_in_rule__ExpCS__Group_0_1__022173 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__OwnedExpressionAssignment_0_1_0_in_rule__ExpCS__Group_0_1__0__Impl22200 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__1__Impl_in_rule__ExpCS__Group_0_1__122230 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__OwnedOperatorAssignment_0_1_1_in_rule__ExpCS__Group_0_1__1__Impl22257 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_1__0__Impl_in_rule__ExpCS__Group_1__022291 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001C16002FL});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_1__1_in_rule__ExpCS__Group_1__022294 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_1__1__Impl_in_rule__ExpCS__Group_1__122352 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_1__2_in_rule__ExpCS__Group_1__122355 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__OwnedOperatorAssignment_1_1_in_rule__ExpCS__Group_1__1__Impl22384 = new BitSet(new long[]{0xFFC001BFFFFC00F2L,0x000000001C16002FL});
+ public static final BitSet FOLLOW_rule__ExpCS__OwnedOperatorAssignment_1_1_in_rule__ExpCS__Group_1__1__Impl22396 = new BitSet(new long[]{0xFFC001BFFFFC00F2L,0x000000001C16002FL});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_1__2__Impl_in_rule__ExpCS__Group_1__222429 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__OwnedExpressionAssignment_1_2_in_rule__ExpCS__Group_1__2__Impl22456 = new BitSet(new long[]{0x0000000000000002L});
+ }
+
+ private static class FollowSets001 {
+ public static final BitSet FOLLOW_rule__PrefixedExpCS__Group_1__0__Impl_in_rule__PrefixedExpCS__Group_1__022492 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001C16002FL});
+ public static final BitSet FOLLOW_rule__PrefixedExpCS__Group_1__1_in_rule__PrefixedExpCS__Group_1__022495 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrefixedExpCS__Group_1__1__Impl_in_rule__PrefixedExpCS__Group_1__122553 = new BitSet(new long[]{0xFFC0003FFFFC00F0L,0x000000001C16002FL});
+ public static final BitSet FOLLOW_rule__PrefixedExpCS__Group_1__2_in_rule__PrefixedExpCS__Group_1__122556 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrefixedExpCS__OwnedOperatorAssignment_1_1_in_rule__PrefixedExpCS__Group_1__1__Impl22585 = new BitSet(new long[]{0xFFC001BFFFFC00F2L,0x000000001C16002FL});
+ public static final BitSet FOLLOW_rule__PrefixedExpCS__OwnedOperatorAssignment_1_1_in_rule__PrefixedExpCS__Group_1__1__Impl22597 = new BitSet(new long[]{0xFFC001BFFFFC00F2L,0x000000001C16002FL});
+ public static final BitSet FOLLOW_rule__PrefixedExpCS__Group_1__2__Impl_in_rule__PrefixedExpCS__Group_1__222630 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrefixedExpCS__OwnedExpressionAssignment_1_2_in_rule__PrefixedExpCS__Group_1__2__Impl22657 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrefixedExpOrLetExpCS__Group_1__0__Impl_in_rule__PrefixedExpOrLetExpCS__Group_1__022693 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__PrefixedExpOrLetExpCS__Group_1__1_in_rule__PrefixedExpOrLetExpCS__Group_1__022696 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrefixedExpOrLetExpCS__Group_1__1__Impl_in_rule__PrefixedExpOrLetExpCS__Group_1__122754 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__PrefixedExpOrLetExpCS__Group_1__2_in_rule__PrefixedExpOrLetExpCS__Group_1__122757 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1_in_rule__PrefixedExpOrLetExpCS__Group_1__1__Impl22786 = new BitSet(new long[]{0xFFC001BFFFFC00F2L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_1_in_rule__PrefixedExpOrLetExpCS__Group_1__1__Impl22798 = new BitSet(new long[]{0xFFC001BFFFFC00F2L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__PrefixedExpOrLetExpCS__Group_1__2__Impl_in_rule__PrefixedExpOrLetExpCS__Group_1__222831 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_2_in_rule__PrefixedExpOrLetExpCS__Group_1__2__Impl22858 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__0__Impl_in_rule__PrimaryExpCS__Group_0__022894 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__1_in_rule__PrimaryExpCS__Group_0__022897 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__1__Impl_in_rule__PrimaryExpCS__Group_0__122955 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__2_in_rule__PrimaryExpCS__Group_0__122958 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__PathNameAssignment_0_1_in_rule__PrimaryExpCS__Group_0__1__Impl22985 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__2__Impl_in_rule__PrimaryExpCS__Group_0__223015 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__3_in_rule__PrimaryExpCS__Group_0__223018 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_79_in_rule__PrimaryExpCS__Group_0__2__Impl23046 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__3__Impl_in_rule__PrimaryExpCS__Group_0__323077 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__4_in_rule__PrimaryExpCS__Group_0__323080 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__FirstIndexesAssignment_0_3_in_rule__PrimaryExpCS__Group_0__3__Impl23107 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__4__Impl_in_rule__PrimaryExpCS__Group_0__423137 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__5_in_rule__PrimaryExpCS__Group_0__423140 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_4__0_in_rule__PrimaryExpCS__Group_0__4__Impl23167 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__5__Impl_in_rule__PrimaryExpCS__Group_0__523198 = new BitSet(new long[]{0x0000000000000000L,0x0000000020008000L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__6_in_rule__PrimaryExpCS__Group_0__523201 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_80_in_rule__PrimaryExpCS__Group_0__5__Impl23229 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__6__Impl_in_rule__PrimaryExpCS__Group_0__623260 = new BitSet(new long[]{0x0000000000000000L,0x0000000020008000L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__7_in_rule__PrimaryExpCS__Group_0__623263 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_6__0_in_rule__PrimaryExpCS__Group_0__6__Impl23290 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__7__Impl_in_rule__PrimaryExpCS__Group_0__723321 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_7__0_in_rule__PrimaryExpCS__Group_0__7__Impl23348 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_4__0__Impl_in_rule__PrimaryExpCS__Group_0_4__023395 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_4__1_in_rule__PrimaryExpCS__Group_0_4__023398 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__PrimaryExpCS__Group_0_4__0__Impl23426 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_4__1__Impl_in_rule__PrimaryExpCS__Group_0_4__123457 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__FirstIndexesAssignment_0_4_1_in_rule__PrimaryExpCS__Group_0_4__1__Impl23484 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_6__0__Impl_in_rule__PrimaryExpCS__Group_0_6__023518 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_6__1_in_rule__PrimaryExpCS__Group_0_6__023521 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_79_in_rule__PrimaryExpCS__Group_0_6__0__Impl23549 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_6__1__Impl_in_rule__PrimaryExpCS__Group_0_6__123580 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_6__2_in_rule__PrimaryExpCS__Group_0_6__123583 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__SecondIndexesAssignment_0_6_1_in_rule__PrimaryExpCS__Group_0_6__1__Impl23610 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_6__2__Impl_in_rule__PrimaryExpCS__Group_0_6__223640 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_6__3_in_rule__PrimaryExpCS__Group_0_6__223643 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_6_2__0_in_rule__PrimaryExpCS__Group_0_6__2__Impl23670 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_6__3__Impl_in_rule__PrimaryExpCS__Group_0_6__323701 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_80_in_rule__PrimaryExpCS__Group_0_6__3__Impl23729 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_6_2__0__Impl_in_rule__PrimaryExpCS__Group_0_6_2__023768 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_6_2__1_in_rule__PrimaryExpCS__Group_0_6_2__023771 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__PrimaryExpCS__Group_0_6_2__0__Impl23799 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_6_2__1__Impl_in_rule__PrimaryExpCS__Group_0_6_2__123830 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_1_in_rule__PrimaryExpCS__Group_0_6_2__1__Impl23857 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_7__0__Impl_in_rule__PrimaryExpCS__Group_0_7__023891 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_7__1_in_rule__PrimaryExpCS__Group_0_7__023894 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__AtPreAssignment_0_7_0_in_rule__PrimaryExpCS__Group_0_7__0__Impl23921 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0_7__1__Impl_in_rule__PrimaryExpCS__Group_0_7__123951 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_83_in_rule__PrimaryExpCS__Group_0_7__1__Impl23979 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1__0__Impl_in_rule__PrimaryExpCS__Group_1__024014 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1__1_in_rule__PrimaryExpCS__Group_1__024017 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1__1__Impl_in_rule__PrimaryExpCS__Group_1__124075 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1__2_in_rule__PrimaryExpCS__Group_1__124078 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__PathNameAssignment_1_1_in_rule__PrimaryExpCS__Group_1__1__Impl24105 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1__2__Impl_in_rule__PrimaryExpCS__Group_1__224135 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1__3_in_rule__PrimaryExpCS__Group_1__224138 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rule__PrimaryExpCS__Group_1__2__Impl24166 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1__3__Impl_in_rule__PrimaryExpCS__Group_1__324197 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000300L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1__4_in_rule__PrimaryExpCS__Group_1__324200 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__OwnedPartsAssignment_1_3_in_rule__PrimaryExpCS__Group_1__3__Impl24227 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1__4__Impl_in_rule__PrimaryExpCS__Group_1__424257 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000300L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1__5_in_rule__PrimaryExpCS__Group_1__424260 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1_4__0_in_rule__PrimaryExpCS__Group_1__4__Impl24287 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1__5__Impl_in_rule__PrimaryExpCS__Group_1__524318 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_rule__PrimaryExpCS__Group_1__5__Impl24346 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1_4__0__Impl_in_rule__PrimaryExpCS__Group_1_4__024389 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1_4__1_in_rule__PrimaryExpCS__Group_1_4__024392 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__PrimaryExpCS__Group_1_4__0__Impl24420 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1_4__1__Impl_in_rule__PrimaryExpCS__Group_1_4__124451 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__OwnedPartsAssignment_1_4_1_in_rule__PrimaryExpCS__Group_1_4__1__Impl24478 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2__0__Impl_in_rule__PrimaryExpCS__Group_2__024512 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2__1_in_rule__PrimaryExpCS__Group_2__024515 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2__1__Impl_in_rule__PrimaryExpCS__Group_2__124573 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000020L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2__2_in_rule__PrimaryExpCS__Group_2__124576 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__PathNameAssignment_2_1_in_rule__PrimaryExpCS__Group_2__1__Impl24603 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2__2__Impl_in_rule__PrimaryExpCS__Group_2__224633 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000020L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2__3_in_rule__PrimaryExpCS__Group_2__224636 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_2__0_in_rule__PrimaryExpCS__Group_2__2__Impl24663 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2__3__Impl_in_rule__PrimaryExpCS__Group_2__324694 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16006FL});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2__4_in_rule__PrimaryExpCS__Group_2__324697 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_69_in_rule__PrimaryExpCS__Group_2__3__Impl24725 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2__4__Impl_in_rule__PrimaryExpCS__Group_2__424756 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16006FL});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2__5_in_rule__PrimaryExpCS__Group_2__424759 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4__0_in_rule__PrimaryExpCS__Group_2__4__Impl24786 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2__5__Impl_in_rule__PrimaryExpCS__Group_2__524817 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_70_in_rule__PrimaryExpCS__Group_2__5__Impl24845 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_2__0__Impl_in_rule__PrimaryExpCS__Group_2_2__024888 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_2__1_in_rule__PrimaryExpCS__Group_2_2__024891 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__AtPreAssignment_2_2_0_in_rule__PrimaryExpCS__Group_2_2__0__Impl24918 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_2__1__Impl_in_rule__PrimaryExpCS__Group_2_2__124948 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_83_in_rule__PrimaryExpCS__Group_2_2__1__Impl24976 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4__0__Impl_in_rule__PrimaryExpCS__Group_2_4__025011 = new BitSet(new long[]{0x0000000000020000L,0x0000000040000200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4__1_in_rule__PrimaryExpCS__Group_2_4__025014 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__ArgumentAssignment_2_4_0_in_rule__PrimaryExpCS__Group_2_4__0__Impl25041 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4__1__Impl_in_rule__PrimaryExpCS__Group_2_4__125071 = new BitSet(new long[]{0x0000000000020000L,0x0000000040000200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4__2_in_rule__PrimaryExpCS__Group_2_4__125074 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__ArgumentAssignment_2_4_1_in_rule__PrimaryExpCS__Group_2_4__1__Impl25101 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4__2__Impl_in_rule__PrimaryExpCS__Group_2_4__225132 = new BitSet(new long[]{0x0000000000020000L,0x0000000040000200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4__3_in_rule__PrimaryExpCS__Group_2_4__225135 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4_2__0_in_rule__PrimaryExpCS__Group_2_4__2__Impl25162 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4__3__Impl_in_rule__PrimaryExpCS__Group_2_4__325193 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4_3__0_in_rule__PrimaryExpCS__Group_2_4__3__Impl25220 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4_2__0__Impl_in_rule__PrimaryExpCS__Group_2_4_2__025259 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4_2__1_in_rule__PrimaryExpCS__Group_2_4_2__025262 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__ArgumentAssignment_2_4_2_0_in_rule__PrimaryExpCS__Group_2_4_2__0__Impl25289 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4_2__1__Impl_in_rule__PrimaryExpCS__Group_2_4_2__125319 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__ArgumentAssignment_2_4_2_1_in_rule__PrimaryExpCS__Group_2_4_2__1__Impl25346 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4_3__0__Impl_in_rule__PrimaryExpCS__Group_2_4_3__025381 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4_3__1_in_rule__PrimaryExpCS__Group_2_4_3__025384 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__ArgumentAssignment_2_4_3_0_in_rule__PrimaryExpCS__Group_2_4_3__0__Impl25411 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2_4_3__1__Impl_in_rule__PrimaryExpCS__Group_2_4_3__125441 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__ArgumentAssignment_2_4_3_1_in_rule__PrimaryExpCS__Group_2_4_3__1__Impl25468 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_3__0__Impl_in_rule__PrimaryExpCS__Group_3__025503 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_3__1_in_rule__PrimaryExpCS__Group_3__025506 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_3__1__Impl_in_rule__PrimaryExpCS__Group_3__125564 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_3__2_in_rule__PrimaryExpCS__Group_3__125567 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__PathNameAssignment_3_1_in_rule__PrimaryExpCS__Group_3__1__Impl25594 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_3__2__Impl_in_rule__PrimaryExpCS__Group_3__225624 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_3_2__0_in_rule__PrimaryExpCS__Group_3__2__Impl25651 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_3_2__0__Impl_in_rule__PrimaryExpCS__Group_3_2__025688 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_3_2__1_in_rule__PrimaryExpCS__Group_3_2__025691 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__AtPreAssignment_3_2_0_in_rule__PrimaryExpCS__Group_3_2__0__Impl25718 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_3_2__1__Impl_in_rule__PrimaryExpCS__Group_3_2__125748 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_83_in_rule__PrimaryExpCS__Group_3_2__1__Impl25776 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__Group__0__Impl_in_rule__NavigatingArgCS__Group__025811 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__Group__1_in_rule__NavigatingArgCS__Group__025814 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__NameAssignment_0_in_rule__NavigatingArgCS__Group__0__Impl25841 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__Group__1__Impl_in_rule__NavigatingArgCS__Group__125871 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1__0_in_rule__NavigatingArgCS__Group__1__Impl25898 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1__0__Impl_in_rule__NavigatingArgCS__Group_1__025933 = new BitSet(new long[]{0xFFC00037FFFC00C0L,0x000000000000000FL});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1__1_in_rule__NavigatingArgCS__Group_1__025936 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_rule__NavigatingArgCS__Group_1__0__Impl25964 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1__1__Impl_in_rule__NavigatingArgCS__Group_1__125995 = new BitSet(new long[]{0x0000400000000000L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1__2_in_rule__NavigatingArgCS__Group_1__125998 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__OwnedTypeAssignment_1_1_in_rule__NavigatingArgCS__Group_1__1__Impl26025 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1__2__Impl_in_rule__NavigatingArgCS__Group_1__226055 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1_2__0_in_rule__NavigatingArgCS__Group_1__2__Impl26082 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1_2__0__Impl_in_rule__NavigatingArgCS__Group_1_2__026119 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1_2__1_in_rule__NavigatingArgCS__Group_1_2__026122 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_rule__NavigatingArgCS__Group_1_2__0__Impl26150 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1_2__1__Impl_in_rule__NavigatingArgCS__Group_1_2__126181 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingArgCS__InitAssignment_1_2_1_in_rule__NavigatingArgCS__Group_1_2__1__Impl26208 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__0__Impl_in_rule__NavigatingBarArgCS__Group__026242 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__1_in_rule__NavigatingBarArgCS__Group__026245 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__PrefixAssignment_0_in_rule__NavigatingBarArgCS__Group__0__Impl26272 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__1__Impl_in_rule__NavigatingBarArgCS__Group__126302 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__2_in_rule__NavigatingBarArgCS__Group__126305 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__NameAssignment_1_in_rule__NavigatingBarArgCS__Group__1__Impl26332 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__2__Impl_in_rule__NavigatingBarArgCS__Group__226362 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__0_in_rule__NavigatingBarArgCS__Group__2__Impl26389 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__0__Impl_in_rule__NavigatingBarArgCS__Group_2__026426 = new BitSet(new long[]{0xFFC00037FFFC00C0L,0x000000000000000FL});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__1_in_rule__NavigatingBarArgCS__Group_2__026429 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_rule__NavigatingBarArgCS__Group_2__0__Impl26457 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__1__Impl_in_rule__NavigatingBarArgCS__Group_2__126488 = new BitSet(new long[]{0x0000400000000000L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__2_in_rule__NavigatingBarArgCS__Group_2__126491 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1_in_rule__NavigatingBarArgCS__Group_2__1__Impl26518 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__2__Impl_in_rule__NavigatingBarArgCS__Group_2__226548 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2_2__0_in_rule__NavigatingBarArgCS__Group_2__2__Impl26575 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2_2__0__Impl_in_rule__NavigatingBarArgCS__Group_2_2__026612 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2_2__1_in_rule__NavigatingBarArgCS__Group_2_2__026615 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_rule__NavigatingBarArgCS__Group_2_2__0__Impl26643 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2_2__1__Impl_in_rule__NavigatingBarArgCS__Group_2_2__126674 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingBarArgCS__InitAssignment_2_2_1_in_rule__NavigatingBarArgCS__Group_2_2__1__Impl26701 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__0__Impl_in_rule__NavigatingCommaArgCS__Group__026735 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__1_in_rule__NavigatingCommaArgCS__Group__026738 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__PrefixAssignment_0_in_rule__NavigatingCommaArgCS__Group__0__Impl26765 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__1__Impl_in_rule__NavigatingCommaArgCS__Group__126795 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__2_in_rule__NavigatingCommaArgCS__Group__126798 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__NameAssignment_1_in_rule__NavigatingCommaArgCS__Group__1__Impl26825 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__2__Impl_in_rule__NavigatingCommaArgCS__Group__226855 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2__0_in_rule__NavigatingCommaArgCS__Group__2__Impl26882 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2__0__Impl_in_rule__NavigatingCommaArgCS__Group_2__026919 = new BitSet(new long[]{0xFFC00037FFFC00C0L,0x000000000000000FL});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2__1_in_rule__NavigatingCommaArgCS__Group_2__026922 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_rule__NavigatingCommaArgCS__Group_2__0__Impl26950 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2__1__Impl_in_rule__NavigatingCommaArgCS__Group_2__126981 = new BitSet(new long[]{0x0000400000000000L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2__2_in_rule__NavigatingCommaArgCS__Group_2__126984 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_1_in_rule__NavigatingCommaArgCS__Group_2__1__Impl27011 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2__2__Impl_in_rule__NavigatingCommaArgCS__Group_2__227041 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_2__0_in_rule__NavigatingCommaArgCS__Group_2__2__Impl27068 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_2__0__Impl_in_rule__NavigatingCommaArgCS__Group_2_2__027105 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_2__1_in_rule__NavigatingCommaArgCS__Group_2_2__027108 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_rule__NavigatingCommaArgCS__Group_2_2__0__Impl27136 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_2__1__Impl_in_rule__NavigatingCommaArgCS__Group_2_2__127167 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__InitAssignment_2_2_1_in_rule__NavigatingCommaArgCS__Group_2_2__1__Impl27194 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__0__Impl_in_rule__NavigatingSemiArgCS__Group__027228 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__1_in_rule__NavigatingSemiArgCS__Group__027231 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__PrefixAssignment_0_in_rule__NavigatingSemiArgCS__Group__0__Impl27258 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__1__Impl_in_rule__NavigatingSemiArgCS__Group__127288 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__2_in_rule__NavigatingSemiArgCS__Group__127291 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__NameAssignment_1_in_rule__NavigatingSemiArgCS__Group__1__Impl27318 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__2__Impl_in_rule__NavigatingSemiArgCS__Group__227348 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__0_in_rule__NavigatingSemiArgCS__Group__2__Impl27375 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__0__Impl_in_rule__NavigatingSemiArgCS__Group_2__027412 = new BitSet(new long[]{0xFFC00037FFFC00C0L,0x000000000000000FL});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__1_in_rule__NavigatingSemiArgCS__Group_2__027415 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_rule__NavigatingSemiArgCS__Group_2__0__Impl27443 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__1__Impl_in_rule__NavigatingSemiArgCS__Group_2__127474 = new BitSet(new long[]{0x0000400000000000L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__2_in_rule__NavigatingSemiArgCS__Group_2__127477 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1_in_rule__NavigatingSemiArgCS__Group_2__1__Impl27504 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__2__Impl_in_rule__NavigatingSemiArgCS__Group_2__227534 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__0_in_rule__NavigatingSemiArgCS__Group_2__2__Impl27561 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__0__Impl_in_rule__NavigatingSemiArgCS__Group_2_2__027598 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__1_in_rule__NavigatingSemiArgCS__Group_2_2__027601 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_rule__NavigatingSemiArgCS__Group_2_2__0__Impl27629 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__1__Impl_in_rule__NavigatingSemiArgCS__Group_2_2__127660 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__InitAssignment_2_2_1_in_rule__NavigatingSemiArgCS__Group_2_2__1__Impl27687 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__IfExpCS__Group__0__Impl_in_rule__IfExpCS__Group__027721 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__IfExpCS__Group__1_in_rule__IfExpCS__Group__027724 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_84_in_rule__IfExpCS__Group__0__Impl27752 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__IfExpCS__Group__1__Impl_in_rule__IfExpCS__Group__127783 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
+ public static final BitSet FOLLOW_rule__IfExpCS__Group__2_in_rule__IfExpCS__Group__127786 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__IfExpCS__ConditionAssignment_1_in_rule__IfExpCS__Group__1__Impl27813 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__IfExpCS__Group__2__Impl_in_rule__IfExpCS__Group__227843 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__IfExpCS__Group__3_in_rule__IfExpCS__Group__227846 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_85_in_rule__IfExpCS__Group__2__Impl27874 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__IfExpCS__Group__3__Impl_in_rule__IfExpCS__Group__327905 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+ public static final BitSet FOLLOW_rule__IfExpCS__Group__4_in_rule__IfExpCS__Group__327908 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__IfExpCS__ThenExpressionAssignment_3_in_rule__IfExpCS__Group__3__Impl27935 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__IfExpCS__Group__4__Impl_in_rule__IfExpCS__Group__427965 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__IfExpCS__Group__5_in_rule__IfExpCS__Group__427968 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_86_in_rule__IfExpCS__Group__4__Impl27996 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__IfExpCS__Group__5__Impl_in_rule__IfExpCS__Group__528027 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
+ public static final BitSet FOLLOW_rule__IfExpCS__Group__6_in_rule__IfExpCS__Group__528030 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__IfExpCS__ElseExpressionAssignment_5_in_rule__IfExpCS__Group__5__Impl28057 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__IfExpCS__Group__6__Impl_in_rule__IfExpCS__Group__628087 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_87_in_rule__IfExpCS__Group__6__Impl28115 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetExpCS__Group__0__Impl_in_rule__LetExpCS__Group__028160 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__LetExpCS__Group__1_in_rule__LetExpCS__Group__028163 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_88_in_rule__LetExpCS__Group__0__Impl28191 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetExpCS__Group__1__Impl_in_rule__LetExpCS__Group__128222 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000200L});
+ public static final BitSet FOLLOW_rule__LetExpCS__Group__2_in_rule__LetExpCS__Group__128225 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetExpCS__VariableAssignment_1_in_rule__LetExpCS__Group__1__Impl28252 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetExpCS__Group__2__Impl_in_rule__LetExpCS__Group__228282 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000200L});
+ public static final BitSet FOLLOW_rule__LetExpCS__Group__3_in_rule__LetExpCS__Group__228285 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetExpCS__Group_2__0_in_rule__LetExpCS__Group__2__Impl28312 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_rule__LetExpCS__Group__3__Impl_in_rule__LetExpCS__Group__328343 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__LetExpCS__Group__4_in_rule__LetExpCS__Group__328346 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_89_in_rule__LetExpCS__Group__3__Impl28374 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetExpCS__Group__4__Impl_in_rule__LetExpCS__Group__428405 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetExpCS__InAssignment_4_in_rule__LetExpCS__Group__4__Impl28432 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetExpCS__Group_2__0__Impl_in_rule__LetExpCS__Group_2__028472 = new BitSet(new long[]{0x00000037FFFC00C0L});
+ public static final BitSet FOLLOW_rule__LetExpCS__Group_2__1_in_rule__LetExpCS__Group_2__028475 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__LetExpCS__Group_2__0__Impl28503 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetExpCS__Group_2__1__Impl_in_rule__LetExpCS__Group_2__128534 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetExpCS__VariableAssignment_2_1_in_rule__LetExpCS__Group_2__1__Impl28561 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetVariableCS__Group__0__Impl_in_rule__LetVariableCS__Group__028595 = new BitSet(new long[]{0x0000400000000000L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__LetVariableCS__Group__1_in_rule__LetVariableCS__Group__028598 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetVariableCS__NameAssignment_0_in_rule__LetVariableCS__Group__0__Impl28625 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetVariableCS__Group__1__Impl_in_rule__LetVariableCS__Group__128655 = new BitSet(new long[]{0x0000400000000000L,0x0000000000000400L});
+ public static final BitSet FOLLOW_rule__LetVariableCS__Group__2_in_rule__LetVariableCS__Group__128658 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetVariableCS__Group_1__0_in_rule__LetVariableCS__Group__1__Impl28685 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetVariableCS__Group__2__Impl_in_rule__LetVariableCS__Group__228716 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__LetVariableCS__Group__3_in_rule__LetVariableCS__Group__228719 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_rule__LetVariableCS__Group__2__Impl28747 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetVariableCS__Group__3__Impl_in_rule__LetVariableCS__Group__328778 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetVariableCS__InitExpressionAssignment_3_in_rule__LetVariableCS__Group__3__Impl28805 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetVariableCS__Group_1__0__Impl_in_rule__LetVariableCS__Group_1__028843 = new BitSet(new long[]{0xFFC00037FFFC00C0L,0x000000000000000FL});
+ public static final BitSet FOLLOW_rule__LetVariableCS__Group_1__1_in_rule__LetVariableCS__Group_1__028846 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_rule__LetVariableCS__Group_1__0__Impl28874 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetVariableCS__Group_1__1__Impl_in_rule__LetVariableCS__Group_1__128905 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LetVariableCS__OwnedTypeAssignment_1_1_in_rule__LetVariableCS__Group_1__1__Impl28932 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NestedExpCS__Group__0__Impl_in_rule__NestedExpCS__Group__028966 = new BitSet(new long[]{0xFFC001BFFFFC00F0L,0x000000001D16002FL});
+ public static final BitSet FOLLOW_rule__NestedExpCS__Group__1_in_rule__NestedExpCS__Group__028969 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_69_in_rule__NestedExpCS__Group__0__Impl28997 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NestedExpCS__Group__1__Impl_in_rule__NestedExpCS__Group__129028 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
+ public static final BitSet FOLLOW_rule__NestedExpCS__Group__2_in_rule__NestedExpCS__Group__129031 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NestedExpCS__SourceAssignment_1_in_rule__NestedExpCS__Group__1__Impl29058 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NestedExpCS__Group__2__Impl_in_rule__NestedExpCS__Group__229088 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_70_in_rule__NestedExpCS__Group__2__Impl29116 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SelfExpCS__Group__0__Impl_in_rule__SelfExpCS__Group__029153 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
+ public static final BitSet FOLLOW_rule__SelfExpCS__Group__1_in_rule__SelfExpCS__Group__029156 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SelfExpCS__Group__1__Impl_in_rule__SelfExpCS__Group__129214 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_90_in_rule__SelfExpCS__Group__1__Impl29242 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnitCS_in_rule__TopLevelCS__ImportClauseAssignment_0_129282 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTransformationCS_in_rule__TopLevelCS__TransformationAssignment_129313 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__UnitCS__IdentifierAssignment_029348 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__UnitCS__IdentifierAssignment_1_129387 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__TransformationCS__NameAssignment_129422 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleModelDeclCS_in_rule__TransformationCS__ModelDeclAssignment_329453 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleModelDeclCS_in_rule__TransformationCS__ModelDeclAssignment_4_129484 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__TransformationCS__ExtendsAssignment_6_129519 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__TransformationCS__ExtendsAssignment_6_2_129558 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleKeyDeclCS_in_rule__TransformationCS__KeyDeclAssignment_829593 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRelationCS_in_rule__TransformationCS__RelationAssignment_9_029624 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQueryCS_in_rule__TransformationCS__QueryAssignment_9_129655 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ModelDeclCS__NameAssignment_029686 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ModelDeclCS__MetaModelIdAssignment_2_029721 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ModelDeclCS__MetaModelIdAssignment_2_1_129760 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ModelDeclCS__MetaModelIdAssignment_2_1_2_129799 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_rule__KeyDeclCS__PathNameAssignment_129834 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__KeyDeclCS__PropertyIdAssignment_329869 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__KeyDeclCS__PropertyIdAssignment_4_129908 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_31_in_rule__RelationCS__TopAssignment_029948 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__RelationCS__NameAssignment_229987 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__RelationCS__OverridesAssignment_3_130022 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleVarDeclarationCS_in_rule__RelationCS__VarDeclarationAssignment_530057 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDomainCS_in_rule__RelationCS__DomainAssignment_6_030088 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveTypeDomainCS_in_rule__RelationCS__DomainAssignment_6_130119 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleWhenCS_in_rule__RelationCS__WhenAssignment_730150 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleWhereCS_in_rule__RelationCS__WhereAssignment_830181 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__WhenCS__ExprAssignment_3_030212 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__WhereCS__ExprAssignment_3_030243 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__VarDeclarationCS__VarDeclarationIdAssignment_030278 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__VarDeclarationCS__VarDeclarationIdAssignment_1_130317 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__VarDeclarationCS__TypeAssignment_330352 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_18_in_rule__DomainCS__CheckonlyAssignment_0_030388 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_21_in_rule__DomainCS__EnforceAssignment_0_130432 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__DomainCS__ModelIdAssignment_230475 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTemplateCS_in_rule__DomainCS__TemplateAssignment_330510 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__DomainCS__ImplementedByAssignment_4_130541 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDefaultValueCS_in_rule__DomainCS__DefaultValueAssignment_5_230572 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__PrimitiveTypeDomainCS__NameAssignment_230603 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__PrimitiveTypeDomainCS__TypeAssignment_430634 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__TemplateCS__GuardExpressionAssignment_1_130665 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ObjectTemplateCS__PropertyIdAssignment_030700 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__ObjectTemplateCS__TypeAssignment_230735 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePropertyTemplateCS_in_rule__ObjectTemplateCS__PropertyTemplateAssignment_4_030766 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePropertyTemplateCS_in_rule__ObjectTemplateCS__PropertyTemplateAssignment_4_1_130797 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__PropertyTemplateCS__PropertyIdAssignment_030832 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__PropertyTemplateCS__OclExpressionAssignment_230867 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__CollectionTemplateCS__PropertyIdAssignment_030902 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypedRefCS_in_rule__CollectionTemplateCS__TypeAssignment_230937 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_0_0_in_rule__CollectionTemplateCS__MemberIdentifierAssignment_4_030968 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__MemberIdentifierAlternatives_4_1_1_0_in_rule__CollectionTemplateCS__MemberIdentifierAssignment_4_1_131001 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__CollectionTemplateCS__RestIdentifierAlternatives_4_3_0_in_rule__CollectionTemplateCS__RestIdentifierAssignment_4_331034 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_rule__NameExpCS__PathNameAssignment31067 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__DefaultValueCS__PropertyIdAssignment_031102 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__DefaultValueCS__InitialiserAssignment_231137 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_rule__QueryCS__PathNameAssignment_131168 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleParamDeclarationCS_in_rule__QueryCS__InputParamDeclarationAssignment_3_031199 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleParamDeclarationCS_in_rule__QueryCS__InputParamDeclarationAssignment_3_1_131230 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__QueryCS__TypeAssignment_631261 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__QueryCS__OclExpressionAssignment_7_1_131292 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ParamDeclarationCS__NameAssignment_031323 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__ParamDeclarationCS__TypeAssignment_231354 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_rule__CollectionTypedRefCS__PathNameAssignment31385 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_rule__TypedRefCS__PathNameAssignment31416 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleFirstPathElementCS_in_rule__PathNameCS__PathAssignment_031448 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNextPathElementCS_in_rule__PathNameCS__PathAssignment_1_131479 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__FirstPathElementCS__ElementAssignment31514 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnreservedName_in_rule__NextPathElementCS__ElementAssignment31553 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_rule__PrimitiveTypeCS__NameAssignment31588 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_rule__CollectionTypeCS__NameAssignment_031619 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__CollectionTypeCS__OwnedTypeAssignment_1_131650 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLOWER_in_rule__MultiplicityBoundsCS__LowerBoundAssignment_031681 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUPPER_in_rule__MultiplicityBoundsCS__UpperBoundAssignment_1_131712 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__MultiplicityStringCS__StringBoundsAlternatives_0_in_rule__MultiplicityStringCS__StringBoundsAssignment31743 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_54_in_rule__TupleTypeCS__NameAssignment_031781 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTuplePartCS_in_rule__TupleTypeCS__OwnedPartsAssignment_1_1_031820 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTuplePartCS_in_rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_131851 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__TuplePartCS__NameAssignment_031882 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__TuplePartCS__OwnedTypeAssignment_231913 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypeCS_in_rule__CollectionLiteralExpCS__OwnedTypeAssignment_031944 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_031975 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_132006 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__CollectionLiteralPartCS__ExpressionCSAssignment_032037 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__CollectionLiteralPartCS__LastExpressionCSAssignment_1_132068 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ConstructorPartCS__PropertyAssignment_032103 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__ConstructorPartCS__InitExpressionAssignment_232138 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_rule__TupleLiteralExpCS__OwnedPartsAssignment_232169 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_rule__TupleLiteralExpCS__OwnedPartsAssignment_3_132200 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__TupleLiteralPartCS__NameAssignment_032231 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__TupleLiteralPartCS__OwnedTypeAssignment_1_132262 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__TupleLiteralPartCS__InitExpressionAssignment_332293 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNUMBER_LITERAL_in_rule__NumberLiteralExpCS__NameAssignment32324 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStringLiteral_in_rule__StringLiteralExpCS__NameAssignment32355 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_91_in_rule__BooleanLiteralExpCS__NameAssignment_032391 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_92_in_rule__BooleanLiteralExpCS__NameAssignment_132435 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeLiteralCS_in_rule__TypeLiteralExpCS__OwnedTypeAssignment32474 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_rule__TypeNameExpCS__PathNameAssignment32505 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMultiplicityCS_in_rule__TypeExpCS__MultiplicityAssignment_132536 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrefixedExpCS_in_rule__ExpCS__OwnedExpressionAssignment_0_1_032567 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBinaryOperatorCS_in_rule__ExpCS__OwnedOperatorAssignment_0_1_132598 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrefixedExpOrLetExpCS_in_rule__ExpCS__OwnedExpressionAssignment_0_232629 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperatorCS_in_rule__ExpCS__OwnedOperatorAssignment_1_132660 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpOrLetExpCS_in_rule__ExpCS__OwnedExpressionAssignment_1_232691 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInfixOperator_in_rule__InfixOperatorCS__NameAssignment32722 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigationOperator_in_rule__NavigationOperatorCS__NameAssignment32753 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperatorCS_in_rule__PrefixedExpCS__OwnedOperatorAssignment_1_132784 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpCS_in_rule__PrefixedExpCS__OwnedExpressionAssignment_1_232815 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperatorCS_in_rule__PrefixedExpOrLetExpCS__OwnedOperatorAssignment_1_132846 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpOrLetExpCS_in_rule__PrefixedExpOrLetExpCS__OwnedExpressionAssignment_1_232877 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrefixOperator_in_rule__UnaryOperatorCS__NameAssignment32908 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_rule__PrimaryExpCS__PathNameAssignment_0_132939 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__PrimaryExpCS__FirstIndexesAssignment_0_332970 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__PrimaryExpCS__FirstIndexesAssignment_0_4_133001 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__PrimaryExpCS__SecondIndexesAssignment_0_6_133032 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__PrimaryExpCS__SecondIndexesAssignment_0_6_2_133063 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_93_in_rule__PrimaryExpCS__AtPreAssignment_0_7_033099 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_rule__PrimaryExpCS__PathNameAssignment_1_133138 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleConstructorPartCS_in_rule__PrimaryExpCS__OwnedPartsAssignment_1_333169 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleConstructorPartCS_in_rule__PrimaryExpCS__OwnedPartsAssignment_1_4_133200 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_rule__PrimaryExpCS__PathNameAssignment_2_133231 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_93_in_rule__PrimaryExpCS__AtPreAssignment_2_2_033267 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingArgCS_in_rule__PrimaryExpCS__ArgumentAssignment_2_4_033306 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_rule__PrimaryExpCS__ArgumentAssignment_2_4_133337 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingSemiArgCS_in_rule__PrimaryExpCS__ArgumentAssignment_2_4_2_033368 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_rule__PrimaryExpCS__ArgumentAssignment_2_4_2_133399 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingBarArgCS_in_rule__PrimaryExpCS__ArgumentAssignment_2_4_3_033430 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_rule__PrimaryExpCS__ArgumentAssignment_2_4_3_133461 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_rule__PrimaryExpCS__PathNameAssignment_3_133492 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_93_in_rule__PrimaryExpCS__AtPreAssignment_3_2_033528 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingArgCS__NameAssignment_033567 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__NavigatingArgCS__OwnedTypeAssignment_1_133598 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingArgCS__InitAssignment_1_2_133629 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_94_in_rule__NavigatingBarArgCS__PrefixAssignment_033665 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingBarArgCS__NameAssignment_133704 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__NavigatingBarArgCS__OwnedTypeAssignment_2_133735 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingBarArgCS__InitAssignment_2_2_133766 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_rule__NavigatingCommaArgCS__PrefixAssignment_033802 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingCommaArgCS__NameAssignment_133841 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_133872 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingCommaArgCS__InitAssignment_2_2_133903 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__NavigatingSemiArgCS__PrefixAssignment_033939 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingSemiArgCS__NameAssignment_133978 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_134009 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingSemiArgCS__InitAssignment_2_2_134040 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__IfExpCS__ConditionAssignment_134071 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__IfExpCS__ThenExpressionAssignment_334102 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__IfExpCS__ElseExpressionAssignment_534133 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLetVariableCS_in_rule__LetExpCS__VariableAssignment_134164 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLetVariableCS_in_rule__LetExpCS__VariableAssignment_2_134195 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__LetExpCS__InAssignment_434226 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__LetVariableCS__NameAssignment_034257 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__LetVariableCS__OwnedTypeAssignment_1_134288 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__LetVariableCS__InitExpressionAssignment_334319 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_rule__NestedExpCS__SourceAssignment_134350 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleObjectTemplateCS_in_synpred6_InternalQVTrelation5455 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_0__0_in_synpred77_InternalQVTrelation7614 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_1__0_in_synpred78_InternalQVTrelation7632 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_0__0_in_synpred82_InternalQVTrelation7831 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_1__0_in_synpred83_InternalQVTrelation7849 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_2__0_in_synpred84_InternalQVTrelation7867 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpCS__Group_3__0_in_synpred85_InternalQVTrelation7885 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_synpred88_InternalQVTrelation7937 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_synpred89_InternalQVTrelation7954 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_synpred90_InternalQVTrelation7971 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__NUMBER_LITERAL__Group_1__0_in_synpred126_InternalQVTrelation17616 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__0_in_synpred141_InternalQVTrelation22074 = new BitSet(new long[]{0x0000000000000002L});
+ }
+
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/internal/QVTrelationActivator.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/internal/QVTrelationActivator.java
new file mode 100644
index 000000000..71f1630d8
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src-gen/org/eclipse/qvtd/xtext/qvtrelation/ui/internal/QVTrelationActivator.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelation.ui.internal;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.log4j.Logger;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.xtext.ui.shared.SharedStateModule;
+import org.eclipse.xtext.util.Modules2;
+import org.osgi.framework.BundleContext;
+
+import com.google.common.collect.Maps;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Module;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class QVTrelationActivator extends AbstractUIPlugin {
+
+ public static final String ORG_ECLIPSE_QVTD_XTEXT_QVTRELATION_QVTRELATION = "org.eclipse.qvtd.xtext.qvtrelation.QVTrelation";
+
+ private static final Logger logger = Logger.getLogger(QVTrelationActivator.class);
+
+ private static QVTrelationActivator INSTANCE;
+
+ private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1));
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ INSTANCE = this;
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ injectors.clear();
+ INSTANCE = null;
+ super.stop(context);
+ }
+
+ public static QVTrelationActivator getInstance() {
+ return INSTANCE;
+ }
+
+ public Injector getInjector(String language) {
+ synchronized (injectors) {
+ Injector injector = injectors.get(language);
+ if (injector == null) {
+ injectors.put(language, injector = createInjector(language));
+ }
+ return injector;
+ }
+ }
+
+ protected Injector createInjector(String language) {
+ try {
+ Module runtimeModule = getRuntimeModule(language);
+ Module sharedStateModule = getSharedStateModule();
+ Module uiModule = getUiModule(language);
+ Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
+ return Guice.createInjector(mergedModule);
+ } catch (Exception e) {
+ logger.error("Failed to create injector for " + language);
+ logger.error(e.getMessage(), e);
+ throw new RuntimeException("Failed to create injector for " + language, e);
+ }
+ }
+
+ protected Module getRuntimeModule(String grammar) {
+ if (ORG_ECLIPSE_QVTD_XTEXT_QVTRELATION_QVTRELATION.equals(grammar)) {
+ return new org.eclipse.qvtd.xtext.qvtrelation.QVTrelationRuntimeModule();
+ }
+
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getUiModule(String grammar) {
+ if (ORG_ECLIPSE_QVTD_XTEXT_QVTRELATION_QVTRELATION.equals(grammar)) {
+ return new org.eclipse.qvtd.xtext.qvtrelation.ui.QVTrelationUiModule(this);
+ }
+
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getSharedStateModule() {
+ return new SharedStateModule();
+ }
+
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/QVTrelationUiModule.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/QVTrelationUiModule.java
new file mode 100644
index 000000000..9e84643aa
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/QVTrelationUiModule.java
@@ -0,0 +1,28 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelation.ui;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Use this class to register components to be used within the IDE.
+ */
+public class QVTrelationUiModule extends org.eclipse.qvtd.xtext.qvtrelation.ui.AbstractQVTrelationUiModule {
+ public QVTrelationUiModule(AbstractUIPlugin plugin) {
+ super(plugin);
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/QVTrelationProposalProvider.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/QVTrelationProposalProvider.java
new file mode 100644
index 000000000..6e19a2f4a
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/contentassist/QVTrelationProposalProvider.java
@@ -0,0 +1,12 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist;
+
+import org.eclipse.qvtd.xtext.qvtrelation.ui.contentassist.AbstractQVTrelationProposalProvider;
+/**
+ * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#contentAssist on how to customize content assistant
+ */
+public class QVTrelationProposalProvider extends AbstractQVTrelationProposalProvider {
+
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/labeling/QVTrelationDescriptionLabelProvider.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/labeling/QVTrelationDescriptionLabelProvider.java
new file mode 100644
index 000000000..1f303d11f
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/labeling/QVTrelationDescriptionLabelProvider.java
@@ -0,0 +1,27 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.qvtd.xtext.qvtrelation.ui.labeling;
+
+import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider;
+
+/**
+ * Provides labels for a IEObjectDescriptions and IResourceDescriptions.
+ *
+ * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider
+ */
+public class QVTrelationDescriptionLabelProvider extends DefaultDescriptionLabelProvider {
+
+/*
+ //Labels and icons can be computed like this:
+
+ String text(IEObjectDescription ele) {
+ return "my "+ele.getName();
+ }
+
+ String image(IEObjectDescription ele) {
+ return ele.getEClass().getName() + ".gif";
+ }
+*/
+
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/labeling/QVTrelationLabelProvider.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/labeling/QVTrelationLabelProvider.java
new file mode 100644
index 000000000..23d60f787
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/labeling/QVTrelationLabelProvider.java
@@ -0,0 +1,34 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.qvtd.xtext.qvtrelation.ui.labeling;
+
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider;
+
+import com.google.inject.Inject;
+
+/**
+ * Provides labels for a EObjects.
+ *
+ * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider
+ */
+public class QVTrelationLabelProvider extends DefaultEObjectLabelProvider {
+
+ @Inject
+ public QVTrelationLabelProvider(AdapterFactoryLabelProvider delegate) {
+ super(delegate);
+ }
+
+/*
+ //Labels and icons can be computed like this:
+
+ String text(MyModel ele) {
+ return "my "+ele.getName();
+ }
+
+ String image(MyModel ele) {
+ return "MyModel.gif";
+ }
+*/
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/outline/QVTrelationOutlineTreeProvider.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/outline/QVTrelationOutlineTreeProvider.java
new file mode 100644
index 000000000..226614831
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/outline/QVTrelationOutlineTreeProvider.java
@@ -0,0 +1,14 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.qvtd.xtext.qvtrelation.ui.outline;
+
+import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
+
+/**
+ * customization of the default outline structure
+ *
+ */
+public class QVTrelationOutlineTreeProvider extends DefaultOutlineTreeProvider {
+
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/quickfix/QVTrelationQuickfixProvider.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/quickfix/QVTrelationQuickfixProvider.java
new file mode 100644
index 000000000..515421cf2
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation.ui/src/org/eclipse/qvtd/xtext/qvtrelation/ui/quickfix/QVTrelationQuickfixProvider.java
@@ -0,0 +1,19 @@
+
+package org.eclipse.qvtd.xtext.qvtrelation.ui.quickfix;
+
+import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider;
+
+public class QVTrelationQuickfixProvider extends DefaultQuickfixProvider {
+
+// @Fix(MyJavaValidator.INVALID_NAME)
+// public void capitalizeName(final Issue issue, IssueResolutionAcceptor acceptor) {
+// acceptor.accept(issue, "Capitalize name", "Capitalize the name.", "upcase.png", new IModification() {
+// public void apply(IModificationContext context) throws BadLocationException {
+// IXtextDocument xtextDocument = context.getXtextDocument();
+// String firstLetter = xtextDocument.get(issue.getOffset(), 1);
+// xtextDocument.replace(issue.getOffset(), 1, firstLetter.toUpperCase());
+// }
+// });
+// }
+
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/.classpath b/plugins/org.eclipse.qvtd.xtext.qvtrelation/.classpath
new file mode 100644
index 000000000..374e8aa83
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="emf-gen"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/.project b/plugins/org.eclipse.qvtd.xtext.qvtrelation/.project
new file mode 100644
index 000000000..d2e038a4b
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.qvtd.xtext.qvtrelation</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.qvtd.xtext.qvtrelation/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..44217f8c0
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/META-INF/.gitignore b/plugins/org.eclipse.qvtd.xtext.qvtrelation/META-INF/.gitignore
new file mode 100644
index 000000000..feca270a0
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/META-INF/.gitignore
@@ -0,0 +1 @@
+/MANIFEST.MF_gen
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/META-INF/MANIFEST.MF b/plugins/org.eclipse.qvtd.xtext.qvtrelation/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..ad568cc67
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/META-INF/MANIFEST.MF
@@ -0,0 +1,30 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.qvtd.xtext.qvtrelation;singleton:=true
+Bundle-Version: 0.9.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.qvtd.xtext.qvtrelation,
+ org.eclipse.qvtd.xtext.qvtrelation.formatting,
+ org.eclipse.qvtd.xtext.qvtrelation.parseTreeConstruction,
+ org.eclipse.qvtd.xtext.qvtrelation.parser.antlr,
+ org.eclipse.qvtd.xtext.qvtrelation.parser.antlr.internal,
+ org.eclipse.qvtd.xtext.qvtrelation.scoping,
+ org.eclipse.qvtd.xtext.qvtrelation.services,
+ org.eclipse.qvtd.xtext.qvtrelation.validation,
+ org.eclipse.qvtd.xtext.qvtrelationcst,
+ org.eclipse.qvtd.xtext.qvtrelationcst.impl,
+ org.eclipse.qvtd.xtext.qvtrelationcst.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.ocl.examples.xtext.base;visibility:=reexport,
+ org.eclipse.ocl.examples.xtext.essentialocl;visibility:=reexport,
+ org.eclipse.ocl.examples.pivot;visibility:=reexport,
+ org.eclipse.qvtd.pivot.qvtbase;visibility:=reexport,
+ org.eclipse.qvtd.pivot.qvttemplate;visibility:=reexport,
+ org.eclipse.qvtd.pivot.qvtrelation;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/about.html b/plugins/org.eclipse.qvtd.xtext.qvtrelation/about.html
new file mode 100644
index 000000000..1d2734022
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/about.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>About</title>
+</head><body lang="EN-US">
+<h2>About This Content</h2>
+
+<pem>September 21, 2008</em></p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+
+ <h3>Third Party Content</h3>
+ <p>The Content includes items that have been sourced from third parties as set out below. If you
+ did not receive this Content directly from the Eclipse Foundation, the following is provided
+ for informational purposes only, and you should look to the Redistributor's license for
+ terms and conditions of use.</p>
+ <p><em>
+ <br><br>
+ <strong>OMG QVT 1.0 specification (08-04-03)</strong> <br>
+ <ul>
+ <li><a href="http://www.omg.org/spec/QVT/1.0/">QVT 1.0 main page</a></li>
+ <li><a href="http://www.omg.org/docs/formal/08-04-03.pdf">QVT 1.0 specification</a></li>
+ <li><a href="http://www.omg.org/">OMG site</a></li>
+ </ul>
+ <br>
+ </em></p>
+ <p>A detailed list of fixes and clarifications with respect to those specifications may be found in <a href="QVTBaseCompliance.html">QVTBaseCompliance.html</a>.</p>
+</body></html> \ No newline at end of file
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/build.properties b/plugins/org.eclipse.qvtd.xtext.qvtrelation/build.properties
new file mode 100644
index 000000000..8e19d9163
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/build.properties
@@ -0,0 +1,11 @@
+#
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = emf-gen/
+output.. = bin/
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AbstractDomainCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AbstractDomainCS.java
new file mode 100644
index 000000000..0087aad2d
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AbstractDomainCS.java
@@ -0,0 +1,34 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.ocl.examples.pivot.util.Nameable;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Domain CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getAbstractDomainCS()
+ * @model abstract="true" superTypes="org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS org.eclipse.ocl.examples.pivot.Nameable"
+ * @generated
+ */
+public interface AbstractDomainCS extends ModelElementCS, Nameable {
+} // AbstractDomainCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AnyElementCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AnyElementCS.java
new file mode 100644
index 000000000..2ab2212f1
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/AnyElementCS.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Any Element CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getAnyElementCS()
+ * @model
+ * @generated
+ */
+public interface AnyElementCS extends ExpCS {
+} // AnyElementCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/CollectionTemplateCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/CollectionTemplateCS.java
new file mode 100644
index 000000000..22f78fe79
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/CollectionTemplateCS.java
@@ -0,0 +1,83 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Collection Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS#getMemberIdentifier <em>Member Identifier</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS#getRestIdentifier <em>Rest Identifier</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getCollectionTemplateCS()
+ * @model
+ * @generated
+ */
+public interface CollectionTemplateCS extends TemplateCS {
+ /**
+ * Returns the value of the '<em><b>Member Identifier</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Member Identifier</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Member Identifier</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getCollectionTemplateCS_MemberIdentifier()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<ExpCS> getMemberIdentifier();
+
+ /**
+ * Returns the value of the '<em><b>Rest Identifier</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Rest Identifier</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Rest Identifier</em>' containment reference.
+ * @see #setRestIdentifier(ExpCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getCollectionTemplateCS_RestIdentifier()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ ExpCS getRestIdentifier();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS#getRestIdentifier <em>Rest Identifier</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Rest Identifier</em>' containment reference.
+ * @see #getRestIdentifier()
+ * @generated
+ */
+ void setRestIdentifier(ExpCS value);
+
+} // CollectionTemplateCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DefaultValueCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DefaultValueCS.java
new file mode 100644
index 000000000..4b1f85691
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DefaultValueCS.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.ocl.examples.pivot.Property;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Default Value CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getInitialiser <em>Initialiser</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getPropertyId <em>Property Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDefaultValueCS()
+ * @model
+ * @generated
+ */
+public interface DefaultValueCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Initialiser</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Initialiser</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Initialiser</em>' containment reference.
+ * @see #setInitialiser(ExpCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDefaultValueCS_Initialiser()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ ExpCS getInitialiser();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getInitialiser <em>Initialiser</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Initialiser</em>' containment reference.
+ * @see #getInitialiser()
+ * @generated
+ */
+ void setInitialiser(ExpCS value);
+
+ /**
+ * Returns the value of the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property Id</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Property Id</em>' reference.
+ * @see #setPropertyId(Property)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDefaultValueCS_PropertyId()
+ * @model required="true"
+ * @generated
+ */
+ Property getPropertyId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getPropertyId <em>Property Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Property Id</em>' reference.
+ * @see #getPropertyId()
+ * @generated
+ */
+ void setPropertyId(Property value);
+
+} // DefaultValueCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DomainCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DomainCS.java
new file mode 100644
index 000000000..fec4e73d6
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/DomainCS.java
@@ -0,0 +1,220 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Domain CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isCheckonly <em>Checkonly</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isEnforce <em>Enforce</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getModelId <em>Model Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isReplace <em>Replace</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getTemplate <em>Template</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getDefaultValue <em>Default Value</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getImplementedBy <em>Implemented By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS()
+ * @model
+ * @generated
+ */
+public interface DomainCS extends AbstractDomainCS {
+ /**
+ * Returns the value of the '<em><b>Checkonly</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Checkonly</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Checkonly</em>' attribute.
+ * @see #setCheckonly(boolean)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS_Checkonly()
+ * @model
+ * @generated
+ */
+ boolean isCheckonly();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isCheckonly <em>Checkonly</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Checkonly</em>' attribute.
+ * @see #isCheckonly()
+ * @generated
+ */
+ void setCheckonly(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Enforce</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Enforce</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Enforce</em>' attribute.
+ * @see #setEnforce(boolean)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS_Enforce()
+ * @model
+ * @generated
+ */
+ boolean isEnforce();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isEnforce <em>Enforce</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Enforce</em>' attribute.
+ * @see #isEnforce()
+ * @generated
+ */
+ void setEnforce(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Model Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Model Id</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Model Id</em>' reference.
+ * @see #setModelId(TypedModel)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS_ModelId()
+ * @model
+ * @generated
+ */
+ TypedModel getModelId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getModelId <em>Model Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Model Id</em>' reference.
+ * @see #getModelId()
+ * @generated
+ */
+ void setModelId(TypedModel value);
+
+ /**
+ * Returns the value of the '<em><b>Replace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Replace</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Replace</em>' attribute.
+ * @see #setReplace(boolean)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS_Replace()
+ * @model
+ * @generated
+ */
+ boolean isReplace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isReplace <em>Replace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Replace</em>' attribute.
+ * @see #isReplace()
+ * @generated
+ */
+ void setReplace(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Template</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Template</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Template</em>' containment reference.
+ * @see #setTemplate(TemplateCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS_Template()
+ * @model containment="true"
+ * @generated
+ */
+ TemplateCS getTemplate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getTemplate <em>Template</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Template</em>' containment reference.
+ * @see #getTemplate()
+ * @generated
+ */
+ void setTemplate(TemplateCS value);
+
+ /**
+ * Returns the value of the '<em><b>Default Value</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default Value</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default Value</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS_DefaultValue()
+ * @model containment="true"
+ * @generated
+ */
+ EList<DefaultValueCS> getDefaultValue();
+
+ /**
+ * Returns the value of the '<em><b>Implemented By</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Implemented By</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Implemented By</em>' containment reference.
+ * @see #setImplementedBy(ExpCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getDomainCS_ImplementedBy()
+ * @model containment="true"
+ * @generated
+ */
+ ExpCS getImplementedBy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getImplementedBy <em>Implemented By</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Implemented By</em>' containment reference.
+ * @see #getImplementedBy()
+ * @generated
+ */
+ void setImplementedBy(ExpCS value);
+
+} // DomainCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/KeyDeclCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/KeyDeclCS.java
new file mode 100644
index 000000000..f1a9979b5
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/KeyDeclCS.java
@@ -0,0 +1,102 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.pivot.Property;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.PathNameCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Key Decl CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getPathName <em>Path Name</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getPropertyId <em>Property Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getClassId <em>Class Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getKeyDeclCS()
+ * @model
+ * @generated
+ */
+public interface KeyDeclCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Path Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Path Name</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Path Name</em>' containment reference.
+ * @see #setPathName(PathNameCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getKeyDeclCS_PathName()
+ * @model containment="true"
+ * @generated
+ */
+ PathNameCS getPathName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getPathName <em>Path Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Path Name</em>' containment reference.
+ * @see #getPathName()
+ * @generated
+ */
+ void setPathName(PathNameCS value);
+
+ /**
+ * Returns the value of the '<em><b>Property Id</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.ocl.examples.pivot.Property}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property Id</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Property Id</em>' reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getKeyDeclCS_PropertyId()
+ * @model
+ * @generated
+ */
+ EList<Property> getPropertyId();
+
+ /**
+ * Returns the value of the '<em><b>Class Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class Id</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Class Id</em>' reference.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getKeyDeclCS_ClassId()
+ * @model resolveProxies="false" transient="true" changeable="false" volatile="true" derived="true"
+ * @generated
+ */
+ org.eclipse.ocl.examples.pivot.Class getClassId();
+
+} // KeyDeclCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ModelDeclCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ModelDeclCS.java
new file mode 100644
index 000000000..aca64af6c
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ModelDeclCS.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Model Decl CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS#getMetaModelId <em>Meta Model Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getModelDeclCS()
+ * @model
+ * @generated
+ */
+public interface ModelDeclCS extends NamedElementCS {
+ /**
+ * Returns the value of the '<em><b>Meta Model Id</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.ocl.examples.pivot.Package}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Meta Model Id</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Meta Model Id</em>' reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getModelDeclCS_MetaModelId()
+ * @model
+ * @generated
+ */
+ EList<org.eclipse.ocl.examples.pivot.Package> getMetaModelId();
+
+} // ModelDeclCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ObjectTemplateCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ObjectTemplateCS.java
new file mode 100644
index 000000000..43c738834
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ObjectTemplateCS.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Object Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS#getPropertyTemplate <em>Property Template</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getObjectTemplateCS()
+ * @model
+ * @generated
+ */
+public interface ObjectTemplateCS extends TemplateCS {
+ /**
+ * Returns the value of the '<em><b>Property Template</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property Template</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Property Template</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getObjectTemplateCS_PropertyTemplate()
+ * @model containment="true"
+ * @generated
+ */
+ EList<PropertyTemplateCS> getPropertyTemplate();
+
+} // ObjectTemplateCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ParamDeclarationCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ParamDeclarationCS.java
new file mode 100644
index 000000000..cac973966
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/ParamDeclarationCS.java
@@ -0,0 +1,65 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedRefCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Param Declaration CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getParamDeclarationCS()
+ * @model
+ * @generated
+ */
+public interface ParamDeclarationCS extends NamedElementCS {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' containment reference.
+ * @see #setType(TypedRefCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getParamDeclarationCS_Type()
+ * @model containment="true"
+ * @generated
+ */
+ TypedRefCS getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS#getType <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' containment reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(TypedRefCS value);
+
+} // ParamDeclarationCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PrimitiveTypeDomainCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PrimitiveTypeDomainCS.java
new file mode 100644
index 000000000..501f70824
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PrimitiveTypeDomainCS.java
@@ -0,0 +1,63 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Primitive Type Domain CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getPrimitiveTypeDomainCS()
+ * @model
+ * @generated
+ */
+public interface PrimitiveTypeDomainCS extends TemplateVariableCS, AbstractDomainCS {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getPrimitiveTypeDomainCS_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // PrimitiveTypeDomainCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PropertyTemplateCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PropertyTemplateCS.java
new file mode 100644
index 000000000..b45384a80
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/PropertyTemplateCS.java
@@ -0,0 +1,123 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.ocl.examples.pivot.Property;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getPropertyId <em>Property Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getOclExpression <em>Ocl Expression</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#isOpposite <em>Opposite</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getPropertyTemplateCS()
+ * @model
+ * @generated
+ */
+public interface PropertyTemplateCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property Id</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Property Id</em>' reference.
+ * @see #setPropertyId(Property)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getPropertyTemplateCS_PropertyId()
+ * @model
+ * @generated
+ */
+ Property getPropertyId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getPropertyId <em>Property Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Property Id</em>' reference.
+ * @see #getPropertyId()
+ * @generated
+ */
+ void setPropertyId(Property value);
+
+ /**
+ * Returns the value of the '<em><b>Ocl Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ocl Expression</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ocl Expression</em>' containment reference.
+ * @see #setOclExpression(ExpCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getPropertyTemplateCS_OclExpression()
+ * @model containment="true"
+ * @generated
+ */
+ ExpCS getOclExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getOclExpression <em>Ocl Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ocl Expression</em>' containment reference.
+ * @see #getOclExpression()
+ * @generated
+ */
+ void setOclExpression(ExpCS value);
+
+ /**
+ * Returns the value of the '<em><b>Opposite</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Opposite</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Opposite</em>' attribute.
+ * @see #setOpposite(boolean)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getPropertyTemplateCS_Opposite()
+ * @model default="false"
+ * @generated
+ */
+ boolean isOpposite();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#isOpposite <em>Opposite</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Opposite</em>' attribute.
+ * @see #isOpposite()
+ * @generated
+ */
+ void setOpposite(boolean value);
+
+} // PropertyTemplateCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTFactory.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTFactory.java
new file mode 100644
index 000000000..16c58a8c7
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTFactory.java
@@ -0,0 +1,209 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage
+ * @generated
+ */
+public interface QVTrelationCSTFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ QVTrelationCSTFactory eINSTANCE = org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Any Element CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Any Element CS</em>'.
+ * @generated
+ */
+ AnyElementCS createAnyElementCS();
+
+ /**
+ * Returns a new object of class '<em>Collection Template CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Collection Template CS</em>'.
+ * @generated
+ */
+ CollectionTemplateCS createCollectionTemplateCS();
+
+ /**
+ * Returns a new object of class '<em>Default Value CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Default Value CS</em>'.
+ * @generated
+ */
+ DefaultValueCS createDefaultValueCS();
+
+ /**
+ * Returns a new object of class '<em>Domain CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Domain CS</em>'.
+ * @generated
+ */
+ DomainCS createDomainCS();
+
+ /**
+ * Returns a new object of class '<em>Key Decl CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Key Decl CS</em>'.
+ * @generated
+ */
+ KeyDeclCS createKeyDeclCS();
+
+ /**
+ * Returns a new object of class '<em>Model Decl CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Model Decl CS</em>'.
+ * @generated
+ */
+ ModelDeclCS createModelDeclCS();
+
+ /**
+ * Returns a new object of class '<em>Object Template CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Object Template CS</em>'.
+ * @generated
+ */
+ ObjectTemplateCS createObjectTemplateCS();
+
+ /**
+ * Returns a new object of class '<em>Param Declaration CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Param Declaration CS</em>'.
+ * @generated
+ */
+ ParamDeclarationCS createParamDeclarationCS();
+
+ /**
+ * Returns a new object of class '<em>Primitive Type Domain CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Primitive Type Domain CS</em>'.
+ * @generated
+ */
+ PrimitiveTypeDomainCS createPrimitiveTypeDomainCS();
+
+ /**
+ * Returns a new object of class '<em>Property Template CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Property Template CS</em>'.
+ * @generated
+ */
+ PropertyTemplateCS createPropertyTemplateCS();
+
+ /**
+ * Returns a new object of class '<em>Query CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Query CS</em>'.
+ * @generated
+ */
+ QueryCS createQueryCS();
+
+ /**
+ * Returns a new object of class '<em>Relation CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Relation CS</em>'.
+ * @generated
+ */
+ RelationCS createRelationCS();
+
+ /**
+ * Returns a new object of class '<em>Top Level CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Top Level CS</em>'.
+ * @generated
+ */
+ TopLevelCS createTopLevelCS();
+
+ /**
+ * Returns a new object of class '<em>Transformation CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Transformation CS</em>'.
+ * @generated
+ */
+ TransformationCS createTransformationCS();
+
+ /**
+ * Returns a new object of class '<em>Unit CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Unit CS</em>'.
+ * @generated
+ */
+ UnitCS createUnitCS();
+
+ /**
+ * Returns a new object of class '<em>Var Declaration CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Var Declaration CS</em>'.
+ * @generated
+ */
+ VarDeclarationCS createVarDeclarationCS();
+
+ /**
+ * Returns a new object of class '<em>When CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>When CS</em>'.
+ * @generated
+ */
+ WhenCS createWhenCS();
+
+ /**
+ * Returns a new object of class '<em>Where CS</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Where CS</em>'.
+ * @generated
+ */
+ WhereCS createWhereCS();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ QVTrelationCSTPackage getQVTrelationCSTPackage();
+
+} //QVTrelationCSTFactory
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTPackage.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTPackage.java
new file mode 100644
index 000000000..4285631ab
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QVTrelationCSTPackage.java
@@ -0,0 +1,3027 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.BaseCSTPackage;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.EssentialOCLCSTPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface QVTrelationCSTPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "qvtrelationcst";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/qvt/0.9/QVTrelationCST";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "qvtrcs";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ QVTrelationCSTPackage eINSTANCE = org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.AbstractDomainCSImpl <em>Abstract Domain CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.AbstractDomainCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getAbstractDomainCS()
+ * @generated
+ */
+ int ABSTRACT_DOMAIN_CS = 0;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_DOMAIN_CS__LOGICAL_PARENT = BaseCSTPackage.MODEL_ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_DOMAIN_CS__PIVOT = BaseCSTPackage.MODEL_ELEMENT_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_DOMAIN_CS__OWNED_ANNOTATION = BaseCSTPackage.MODEL_ELEMENT_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_DOMAIN_CS__ORIGINAL_XMI_ID = BaseCSTPackage.MODEL_ELEMENT_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_DOMAIN_CS__CSI = BaseCSTPackage.MODEL_ELEMENT_CS__CSI;
+
+ /**
+ * The number of structural features of the '<em>Abstract Domain CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_DOMAIN_CS_FEATURE_COUNT = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.AnyElementCSImpl <em>Any Element CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.AnyElementCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getAnyElementCS()
+ * @generated
+ */
+ int ANY_ELEMENT_CS = 1;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_ELEMENT_CS__LOGICAL_PARENT = EssentialOCLCSTPackage.EXP_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_ELEMENT_CS__PIVOT = EssentialOCLCSTPackage.EXP_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_ELEMENT_CS__OWNED_ANNOTATION = EssentialOCLCSTPackage.EXP_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_ELEMENT_CS__ORIGINAL_XMI_ID = EssentialOCLCSTPackage.EXP_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_ELEMENT_CS__CSI = EssentialOCLCSTPackage.EXP_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_ELEMENT_CS__PARENT = EssentialOCLCSTPackage.EXP_CS__PARENT;
+
+ /**
+ * The number of structural features of the '<em>Any Element CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_ELEMENT_CS_FEATURE_COUNT = EssentialOCLCSTPackage.EXP_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateVariableCSImpl <em>Template Variable CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateVariableCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTemplateVariableCS()
+ * @generated
+ */
+ int TEMPLATE_VARIABLE_CS = 14;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS__LOGICAL_PARENT = BaseCSTPackage.MODEL_ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS__PIVOT = BaseCSTPackage.MODEL_ELEMENT_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS__OWNED_ANNOTATION = BaseCSTPackage.MODEL_ELEMENT_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS__ORIGINAL_XMI_ID = BaseCSTPackage.MODEL_ELEMENT_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS__CSI = BaseCSTPackage.MODEL_ELEMENT_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS__TYPE = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS__PROPERTY_ID = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Template Variable CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_VARIABLE_CS_FEATURE_COUNT = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateCSImpl <em>Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTemplateCS()
+ * @generated
+ */
+ int TEMPLATE_CS = 13;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__LOGICAL_PARENT = TEMPLATE_VARIABLE_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__PIVOT = TEMPLATE_VARIABLE_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__OWNED_ANNOTATION = TEMPLATE_VARIABLE_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__ORIGINAL_XMI_ID = TEMPLATE_VARIABLE_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__CSI = TEMPLATE_VARIABLE_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__TYPE = TEMPLATE_VARIABLE_CS__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__PROPERTY_ID = TEMPLATE_VARIABLE_CS__PROPERTY_ID;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__PARENT = TEMPLATE_VARIABLE_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Guard Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS__GUARD_EXPRESSION = TEMPLATE_VARIABLE_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Template CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_CS_FEATURE_COUNT = TEMPLATE_VARIABLE_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.CollectionTemplateCSImpl <em>Collection Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.CollectionTemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getCollectionTemplateCS()
+ * @generated
+ */
+ int COLLECTION_TEMPLATE_CS = 2;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__LOGICAL_PARENT = TEMPLATE_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__PIVOT = TEMPLATE_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__OWNED_ANNOTATION = TEMPLATE_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__ORIGINAL_XMI_ID = TEMPLATE_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__CSI = TEMPLATE_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__TYPE = TEMPLATE_CS__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__PROPERTY_ID = TEMPLATE_CS__PROPERTY_ID;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__PARENT = TEMPLATE_CS__PARENT;
+
+ /**
+ * The feature id for the '<em><b>Guard Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__GUARD_EXPRESSION = TEMPLATE_CS__GUARD_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Member Identifier</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER = TEMPLATE_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Rest Identifier</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS__REST_IDENTIFIER = TEMPLATE_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Collection Template CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TEMPLATE_CS_FEATURE_COUNT = TEMPLATE_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DefaultValueCSImpl <em>Default Value CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.DefaultValueCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getDefaultValueCS()
+ * @generated
+ */
+ int DEFAULT_VALUE_CS = 3;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFAULT_VALUE_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Initialiser</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFAULT_VALUE_CS__INITIALISER = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFAULT_VALUE_CS__PROPERTY_ID = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Default Value CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFAULT_VALUE_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl <em>Domain CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getDomainCS()
+ * @generated
+ */
+ int DOMAIN_CS = 4;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__LOGICAL_PARENT = ABSTRACT_DOMAIN_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__PIVOT = ABSTRACT_DOMAIN_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__OWNED_ANNOTATION = ABSTRACT_DOMAIN_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__ORIGINAL_XMI_ID = ABSTRACT_DOMAIN_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__CSI = ABSTRACT_DOMAIN_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Checkonly</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__CHECKONLY = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Enforce</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__ENFORCE = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Model Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__MODEL_ID = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Replace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__REPLACE = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Template</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__TEMPLATE = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Default Value</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__DEFAULT_VALUE = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Implemented By</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS__IMPLEMENTED_BY = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Domain CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOMAIN_CS_FEATURE_COUNT = ABSTRACT_DOMAIN_CS_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.KeyDeclCSImpl <em>Key Decl CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.KeyDeclCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getKeyDeclCS()
+ * @generated
+ */
+ int KEY_DECL_CS = 5;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_DECL_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Path Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_DECL_CS__PATH_NAME = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_DECL_CS__PROPERTY_ID = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Class Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_DECL_CS__CLASS_ID = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Key Decl CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int KEY_DECL_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ModelDeclCSImpl <em>Model Decl CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.ModelDeclCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getModelDeclCS()
+ * @generated
+ */
+ int MODEL_DECL_CS = 6;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS__LOGICAL_PARENT = BaseCSTPackage.NAMED_ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS__PIVOT = BaseCSTPackage.NAMED_ELEMENT_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS__OWNED_ANNOTATION = BaseCSTPackage.NAMED_ELEMENT_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS__ORIGINAL_XMI_ID = BaseCSTPackage.NAMED_ELEMENT_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS__CSI = BaseCSTPackage.NAMED_ELEMENT_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS__NAME = BaseCSTPackage.NAMED_ELEMENT_CS__NAME;
+
+ /**
+ * The feature id for the '<em><b>Meta Model Id</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS__META_MODEL_ID = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Model Decl CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_DECL_CS_FEATURE_COUNT = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ObjectTemplateCSImpl <em>Object Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.ObjectTemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getObjectTemplateCS()
+ * @generated
+ */
+ int OBJECT_TEMPLATE_CS = 7;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__LOGICAL_PARENT = TEMPLATE_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__PIVOT = TEMPLATE_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__OWNED_ANNOTATION = TEMPLATE_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__ORIGINAL_XMI_ID = TEMPLATE_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__CSI = TEMPLATE_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__TYPE = TEMPLATE_CS__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__PROPERTY_ID = TEMPLATE_CS__PROPERTY_ID;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__PARENT = TEMPLATE_CS__PARENT;
+
+ /**
+ * The feature id for the '<em><b>Guard Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__GUARD_EXPRESSION = TEMPLATE_CS__GUARD_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Property Template</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE = TEMPLATE_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Object Template CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBJECT_TEMPLATE_CS_FEATURE_COUNT = TEMPLATE_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ParamDeclarationCSImpl <em>Param Declaration CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.ParamDeclarationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getParamDeclarationCS()
+ * @generated
+ */
+ int PARAM_DECLARATION_CS = 8;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS__LOGICAL_PARENT = BaseCSTPackage.NAMED_ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS__PIVOT = BaseCSTPackage.NAMED_ELEMENT_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS__OWNED_ANNOTATION = BaseCSTPackage.NAMED_ELEMENT_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS__ORIGINAL_XMI_ID = BaseCSTPackage.NAMED_ELEMENT_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS__CSI = BaseCSTPackage.NAMED_ELEMENT_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS__NAME = BaseCSTPackage.NAMED_ELEMENT_CS__NAME;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS__TYPE = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Param Declaration CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DECLARATION_CS_FEATURE_COUNT = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PrimitiveTypeDomainCSImpl <em>Primitive Type Domain CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.PrimitiveTypeDomainCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getPrimitiveTypeDomainCS()
+ * @generated
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS = 9;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__LOGICAL_PARENT = TEMPLATE_VARIABLE_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__PIVOT = TEMPLATE_VARIABLE_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__OWNED_ANNOTATION = TEMPLATE_VARIABLE_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__ORIGINAL_XMI_ID = TEMPLATE_VARIABLE_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__CSI = TEMPLATE_VARIABLE_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__TYPE = TEMPLATE_VARIABLE_CS__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__PROPERTY_ID = TEMPLATE_VARIABLE_CS__PROPERTY_ID;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS__NAME = TEMPLATE_VARIABLE_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Primitive Type Domain CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMITIVE_TYPE_DOMAIN_CS_FEATURE_COUNT = TEMPLATE_VARIABLE_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PropertyTemplateCSImpl <em>Property Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.PropertyTemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getPropertyTemplateCS()
+ * @generated
+ */
+ int PROPERTY_TEMPLATE_CS = 10;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_TEMPLATE_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_TEMPLATE_CS__PROPERTY_ID = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Ocl Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_TEMPLATE_CS__OCL_EXPRESSION = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Opposite</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_TEMPLATE_CS__OPPOSITE = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Property Template CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_TEMPLATE_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl <em>Query CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getQueryCS()
+ * @generated
+ */
+ int QUERY_CS = 11;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__LOGICAL_PARENT = BaseCSTPackage.MODEL_ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__PIVOT = BaseCSTPackage.MODEL_ELEMENT_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__OWNED_ANNOTATION = BaseCSTPackage.MODEL_ELEMENT_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__ORIGINAL_XMI_ID = BaseCSTPackage.MODEL_ELEMENT_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__CSI = BaseCSTPackage.MODEL_ELEMENT_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Path Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__PATH_NAME = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Input Param Declaration</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__INPUT_PARAM_DECLARATION = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Ocl Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__OCL_EXPRESSION = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS__TYPE = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Query CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUERY_CS_FEATURE_COUNT = BaseCSTPackage.MODEL_ELEMENT_CS_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl <em>Relation CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getRelationCS()
+ * @generated
+ */
+ int RELATION_CS = 12;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__LOGICAL_PARENT = BaseCSTPackage.NAMED_ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__PIVOT = BaseCSTPackage.NAMED_ELEMENT_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__OWNED_ANNOTATION = BaseCSTPackage.NAMED_ELEMENT_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__ORIGINAL_XMI_ID = BaseCSTPackage.NAMED_ELEMENT_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__CSI = BaseCSTPackage.NAMED_ELEMENT_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__NAME = BaseCSTPackage.NAMED_ELEMENT_CS__NAME;
+
+ /**
+ * The feature id for the '<em><b>Top</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__TOP = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Overrides</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__OVERRIDES = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Var Declaration</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__VAR_DECLARATION = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Domain</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__DOMAIN = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>When</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__WHEN = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Where</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS__WHERE = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Relation CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATION_CS_FEATURE_COUNT = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TopLevelCSImpl <em>Top Level CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TopLevelCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTopLevelCS()
+ * @generated
+ */
+ int TOP_LEVEL_CS = 15;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOP_LEVEL_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Import Clause</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOP_LEVEL_CS__IMPORT_CLAUSE = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Transformation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOP_LEVEL_CS__TRANSFORMATION = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Top Level CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOP_LEVEL_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl <em>Transformation CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTransformationCS()
+ * @generated
+ */
+ int TRANSFORMATION_CS = 16;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__LOGICAL_PARENT = BaseCSTPackage.NAMED_ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Pivot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__PIVOT = BaseCSTPackage.NAMED_ELEMENT_CS__PIVOT;
+
+ /**
+ * The feature id for the '<em><b>Owned Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__OWNED_ANNOTATION = BaseCSTPackage.NAMED_ELEMENT_CS__OWNED_ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Original Xmi Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__ORIGINAL_XMI_ID = BaseCSTPackage.NAMED_ELEMENT_CS__ORIGINAL_XMI_ID;
+
+ /**
+ * The feature id for the '<em><b>Csi</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__CSI = BaseCSTPackage.NAMED_ELEMENT_CS__CSI;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__NAME = BaseCSTPackage.NAMED_ELEMENT_CS__NAME;
+
+ /**
+ * The feature id for the '<em><b>Model Decl</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__MODEL_DECL = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Extends</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__EXTENDS = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Key Decl</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__KEY_DECL = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__QUERY = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Relation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS__RELATION = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Transformation CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSFORMATION_CS_FEATURE_COUNT = BaseCSTPackage.NAMED_ELEMENT_CS_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.UnitCSImpl <em>Unit CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.UnitCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getUnitCS()
+ * @generated
+ */
+ int UNIT_CS = 17;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNIT_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNIT_CS__IDENTIFIER = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Unit CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNIT_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.VarDeclarationCSImpl <em>Var Declaration CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.VarDeclarationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getVarDeclarationCS()
+ * @generated
+ */
+ int VAR_DECLARATION_CS = 18;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VAR_DECLARATION_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Var Declaration Id</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VAR_DECLARATION_CS__VAR_DECLARATION_ID = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VAR_DECLARATION_CS__TYPE = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Var Declaration CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VAR_DECLARATION_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhenCSImpl <em>When CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhenCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getWhenCS()
+ * @generated
+ */
+ int WHEN_CS = 19;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHEN_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Expr</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHEN_CS__EXPR = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>When CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHEN_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhereCSImpl <em>Where CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhereCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getWhereCS()
+ * @generated
+ */
+ int WHERE_CS = 20;
+
+ /**
+ * The feature id for the '<em><b>Logical Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHERE_CS__LOGICAL_PARENT = BaseCSTPackage.ELEMENT_CS__LOGICAL_PARENT;
+
+ /**
+ * The feature id for the '<em><b>Expr</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHERE_CS__EXPR = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Where CS</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHERE_CS_FEATURE_COUNT = BaseCSTPackage.ELEMENT_CS_FEATURE_COUNT + 1;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS <em>Abstract Domain CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Domain CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS
+ * @generated
+ */
+ EClass getAbstractDomainCS();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS <em>Any Element CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Any Element CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS
+ * @generated
+ */
+ EClass getAnyElementCS();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS <em>Collection Template CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Collection Template CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS
+ * @generated
+ */
+ EClass getCollectionTemplateCS();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS#getMemberIdentifier <em>Member Identifier</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Member Identifier</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS#getMemberIdentifier()
+ * @see #getCollectionTemplateCS()
+ * @generated
+ */
+ EReference getCollectionTemplateCS_MemberIdentifier();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS#getRestIdentifier <em>Rest Identifier</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Rest Identifier</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS#getRestIdentifier()
+ * @see #getCollectionTemplateCS()
+ * @generated
+ */
+ EReference getCollectionTemplateCS_RestIdentifier();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS <em>Default Value CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Default Value CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS
+ * @generated
+ */
+ EClass getDefaultValueCS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getInitialiser <em>Initialiser</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Initialiser</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getInitialiser()
+ * @see #getDefaultValueCS()
+ * @generated
+ */
+ EReference getDefaultValueCS_Initialiser();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getPropertyId <em>Property Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Property Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS#getPropertyId()
+ * @see #getDefaultValueCS()
+ * @generated
+ */
+ EReference getDefaultValueCS_PropertyId();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS <em>Domain CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Domain CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS
+ * @generated
+ */
+ EClass getDomainCS();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isCheckonly <em>Checkonly</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Checkonly</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isCheckonly()
+ * @see #getDomainCS()
+ * @generated
+ */
+ EAttribute getDomainCS_Checkonly();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isEnforce <em>Enforce</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Enforce</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isEnforce()
+ * @see #getDomainCS()
+ * @generated
+ */
+ EAttribute getDomainCS_Enforce();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getModelId <em>Model Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Model Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getModelId()
+ * @see #getDomainCS()
+ * @generated
+ */
+ EReference getDomainCS_ModelId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isReplace <em>Replace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Replace</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#isReplace()
+ * @see #getDomainCS()
+ * @generated
+ */
+ EAttribute getDomainCS_Replace();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getTemplate <em>Template</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Template</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getTemplate()
+ * @see #getDomainCS()
+ * @generated
+ */
+ EReference getDomainCS_Template();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getDefaultValue <em>Default Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Default Value</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getDefaultValue()
+ * @see #getDomainCS()
+ * @generated
+ */
+ EReference getDomainCS_DefaultValue();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getImplementedBy <em>Implemented By</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Implemented By</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS#getImplementedBy()
+ * @see #getDomainCS()
+ * @generated
+ */
+ EReference getDomainCS_ImplementedBy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS <em>Key Decl CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Key Decl CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS
+ * @generated
+ */
+ EClass getKeyDeclCS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getPathName <em>Path Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Path Name</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getPathName()
+ * @see #getKeyDeclCS()
+ * @generated
+ */
+ EReference getKeyDeclCS_PathName();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getPropertyId <em>Property Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Property Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getPropertyId()
+ * @see #getKeyDeclCS()
+ * @generated
+ */
+ EReference getKeyDeclCS_PropertyId();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getClassId <em>Class Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Class Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS#getClassId()
+ * @see #getKeyDeclCS()
+ * @generated
+ */
+ EReference getKeyDeclCS_ClassId();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS <em>Model Decl CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Model Decl CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS
+ * @generated
+ */
+ EClass getModelDeclCS();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS#getMetaModelId <em>Meta Model Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Meta Model Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS#getMetaModelId()
+ * @see #getModelDeclCS()
+ * @generated
+ */
+ EReference getModelDeclCS_MetaModelId();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS <em>Object Template CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Object Template CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS
+ * @generated
+ */
+ EClass getObjectTemplateCS();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS#getPropertyTemplate <em>Property Template</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Property Template</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS#getPropertyTemplate()
+ * @see #getObjectTemplateCS()
+ * @generated
+ */
+ EReference getObjectTemplateCS_PropertyTemplate();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS <em>Param Declaration CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Param Declaration CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS
+ * @generated
+ */
+ EClass getParamDeclarationCS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Type</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS#getType()
+ * @see #getParamDeclarationCS()
+ * @generated
+ */
+ EReference getParamDeclarationCS_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS <em>Primitive Type Domain CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Primitive Type Domain CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS
+ * @generated
+ */
+ EClass getPrimitiveTypeDomainCS();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS#getName()
+ * @see #getPrimitiveTypeDomainCS()
+ * @generated
+ */
+ EAttribute getPrimitiveTypeDomainCS_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS <em>Property Template CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Property Template CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS
+ * @generated
+ */
+ EClass getPropertyTemplateCS();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getPropertyId <em>Property Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Property Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getPropertyId()
+ * @see #getPropertyTemplateCS()
+ * @generated
+ */
+ EReference getPropertyTemplateCS_PropertyId();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getOclExpression <em>Ocl Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Ocl Expression</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#getOclExpression()
+ * @see #getPropertyTemplateCS()
+ * @generated
+ */
+ EReference getPropertyTemplateCS_OclExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#isOpposite <em>Opposite</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Opposite</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS#isOpposite()
+ * @see #getPropertyTemplateCS()
+ * @generated
+ */
+ EAttribute getPropertyTemplateCS_Opposite();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS <em>Query CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Query CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS
+ * @generated
+ */
+ EClass getQueryCS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getPathName <em>Path Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Path Name</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getPathName()
+ * @see #getQueryCS()
+ * @generated
+ */
+ EReference getQueryCS_PathName();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getInputParamDeclaration <em>Input Param Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Input Param Declaration</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getInputParamDeclaration()
+ * @see #getQueryCS()
+ * @generated
+ */
+ EReference getQueryCS_InputParamDeclaration();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getOclExpression <em>Ocl Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Ocl Expression</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getOclExpression()
+ * @see #getQueryCS()
+ * @generated
+ */
+ EReference getQueryCS_OclExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Type</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getType()
+ * @see #getQueryCS()
+ * @generated
+ */
+ EReference getQueryCS_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS <em>Relation CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Relation CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS
+ * @generated
+ */
+ EClass getRelationCS();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#isTop <em>Top</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Top</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#isTop()
+ * @see #getRelationCS()
+ * @generated
+ */
+ EAttribute getRelationCS_Top();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getOverrides <em>Overrides</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Overrides</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getOverrides()
+ * @see #getRelationCS()
+ * @generated
+ */
+ EReference getRelationCS_Overrides();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getVarDeclaration <em>Var Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Var Declaration</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getVarDeclaration()
+ * @see #getRelationCS()
+ * @generated
+ */
+ EReference getRelationCS_VarDeclaration();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getDomain <em>Domain</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Domain</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getDomain()
+ * @see #getRelationCS()
+ * @generated
+ */
+ EReference getRelationCS_Domain();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhen <em>When</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>When</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhen()
+ * @see #getRelationCS()
+ * @generated
+ */
+ EReference getRelationCS_When();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhere <em>Where</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Where</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhere()
+ * @see #getRelationCS()
+ * @generated
+ */
+ EReference getRelationCS_Where();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS <em>Template CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Template CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS
+ * @generated
+ */
+ EClass getTemplateCS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS#getGuardExpression <em>Guard Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Guard Expression</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS#getGuardExpression()
+ * @see #getTemplateCS()
+ * @generated
+ */
+ EReference getTemplateCS_GuardExpression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS <em>Template Variable CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Template Variable CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS
+ * @generated
+ */
+ EClass getTemplateVariableCS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Type</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getType()
+ * @see #getTemplateVariableCS()
+ * @generated
+ */
+ EReference getTemplateVariableCS_Type();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getPropertyId <em>Property Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Property Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getPropertyId()
+ * @see #getTemplateVariableCS()
+ * @generated
+ */
+ EReference getTemplateVariableCS_PropertyId();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS <em>Top Level CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Top Level CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS
+ * @generated
+ */
+ EClass getTopLevelCS();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS#getImportClause <em>Import Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Import Clause</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS#getImportClause()
+ * @see #getTopLevelCS()
+ * @generated
+ */
+ EReference getTopLevelCS_ImportClause();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS#getTransformation <em>Transformation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Transformation</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS#getTransformation()
+ * @see #getTopLevelCS()
+ * @generated
+ */
+ EReference getTopLevelCS_Transformation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS <em>Transformation CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Transformation CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS
+ * @generated
+ */
+ EClass getTransformationCS();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getModelDecl <em>Model Decl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Model Decl</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getModelDecl()
+ * @see #getTransformationCS()
+ * @generated
+ */
+ EReference getTransformationCS_ModelDecl();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getExtends <em>Extends</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Extends</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getExtends()
+ * @see #getTransformationCS()
+ * @generated
+ */
+ EReference getTransformationCS_Extends();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getKeyDecl <em>Key Decl</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Key Decl</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getKeyDecl()
+ * @see #getTransformationCS()
+ * @generated
+ */
+ EReference getTransformationCS_KeyDecl();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getQuery <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Query</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getQuery()
+ * @see #getTransformationCS()
+ * @generated
+ */
+ EReference getTransformationCS_Query();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getRelation <em>Relation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Relation</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getRelation()
+ * @see #getTransformationCS()
+ * @generated
+ */
+ EReference getTransformationCS_Relation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS <em>Unit CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Unit CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS
+ * @generated
+ */
+ EClass getUnitCS();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS#getIdentifier <em>Identifier</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Identifier</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS#getIdentifier()
+ * @see #getUnitCS()
+ * @generated
+ */
+ EReference getUnitCS_Identifier();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS <em>Var Declaration CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Var Declaration CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS
+ * @generated
+ */
+ EClass getVarDeclarationCS();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS#getVarDeclarationId <em>Var Declaration Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Var Declaration Id</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS#getVarDeclarationId()
+ * @see #getVarDeclarationCS()
+ * @generated
+ */
+ EReference getVarDeclarationCS_VarDeclarationId();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Type</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS#getType()
+ * @see #getVarDeclarationCS()
+ * @generated
+ */
+ EReference getVarDeclarationCS_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS <em>When CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>When CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS
+ * @generated
+ */
+ EClass getWhenCS();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS#getExpr <em>Expr</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Expr</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS#getExpr()
+ * @see #getWhenCS()
+ * @generated
+ */
+ EReference getWhenCS_Expr();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS <em>Where CS</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Where CS</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS
+ * @generated
+ */
+ EClass getWhereCS();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS#getExpr <em>Expr</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Expr</em>'.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS#getExpr()
+ * @see #getWhereCS()
+ * @generated
+ */
+ EReference getWhereCS_Expr();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ QVTrelationCSTFactory getQVTrelationCSTFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.AbstractDomainCSImpl <em>Abstract Domain CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.AbstractDomainCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getAbstractDomainCS()
+ * @generated
+ */
+ EClass ABSTRACT_DOMAIN_CS = eINSTANCE.getAbstractDomainCS();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.AnyElementCSImpl <em>Any Element CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.AnyElementCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getAnyElementCS()
+ * @generated
+ */
+ EClass ANY_ELEMENT_CS = eINSTANCE.getAnyElementCS();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.CollectionTemplateCSImpl <em>Collection Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.CollectionTemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getCollectionTemplateCS()
+ * @generated
+ */
+ EClass COLLECTION_TEMPLATE_CS = eINSTANCE.getCollectionTemplateCS();
+
+ /**
+ * The meta object literal for the '<em><b>Member Identifier</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER = eINSTANCE.getCollectionTemplateCS_MemberIdentifier();
+
+ /**
+ * The meta object literal for the '<em><b>Rest Identifier</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COLLECTION_TEMPLATE_CS__REST_IDENTIFIER = eINSTANCE.getCollectionTemplateCS_RestIdentifier();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DefaultValueCSImpl <em>Default Value CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.DefaultValueCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getDefaultValueCS()
+ * @generated
+ */
+ EClass DEFAULT_VALUE_CS = eINSTANCE.getDefaultValueCS();
+
+ /**
+ * The meta object literal for the '<em><b>Initialiser</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEFAULT_VALUE_CS__INITIALISER = eINSTANCE.getDefaultValueCS_Initialiser();
+
+ /**
+ * The meta object literal for the '<em><b>Property Id</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEFAULT_VALUE_CS__PROPERTY_ID = eINSTANCE.getDefaultValueCS_PropertyId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl <em>Domain CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getDomainCS()
+ * @generated
+ */
+ EClass DOMAIN_CS = eINSTANCE.getDomainCS();
+
+ /**
+ * The meta object literal for the '<em><b>Checkonly</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DOMAIN_CS__CHECKONLY = eINSTANCE.getDomainCS_Checkonly();
+
+ /**
+ * The meta object literal for the '<em><b>Enforce</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DOMAIN_CS__ENFORCE = eINSTANCE.getDomainCS_Enforce();
+
+ /**
+ * The meta object literal for the '<em><b>Model Id</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOMAIN_CS__MODEL_ID = eINSTANCE.getDomainCS_ModelId();
+
+ /**
+ * The meta object literal for the '<em><b>Replace</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DOMAIN_CS__REPLACE = eINSTANCE.getDomainCS_Replace();
+
+ /**
+ * The meta object literal for the '<em><b>Template</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOMAIN_CS__TEMPLATE = eINSTANCE.getDomainCS_Template();
+
+ /**
+ * The meta object literal for the '<em><b>Default Value</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOMAIN_CS__DEFAULT_VALUE = eINSTANCE.getDomainCS_DefaultValue();
+
+ /**
+ * The meta object literal for the '<em><b>Implemented By</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOMAIN_CS__IMPLEMENTED_BY = eINSTANCE.getDomainCS_ImplementedBy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.KeyDeclCSImpl <em>Key Decl CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.KeyDeclCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getKeyDeclCS()
+ * @generated
+ */
+ EClass KEY_DECL_CS = eINSTANCE.getKeyDeclCS();
+
+ /**
+ * The meta object literal for the '<em><b>Path Name</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference KEY_DECL_CS__PATH_NAME = eINSTANCE.getKeyDeclCS_PathName();
+
+ /**
+ * The meta object literal for the '<em><b>Property Id</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference KEY_DECL_CS__PROPERTY_ID = eINSTANCE.getKeyDeclCS_PropertyId();
+
+ /**
+ * The meta object literal for the '<em><b>Class Id</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference KEY_DECL_CS__CLASS_ID = eINSTANCE.getKeyDeclCS_ClassId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ModelDeclCSImpl <em>Model Decl CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.ModelDeclCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getModelDeclCS()
+ * @generated
+ */
+ EClass MODEL_DECL_CS = eINSTANCE.getModelDeclCS();
+
+ /**
+ * The meta object literal for the '<em><b>Meta Model Id</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODEL_DECL_CS__META_MODEL_ID = eINSTANCE.getModelDeclCS_MetaModelId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ObjectTemplateCSImpl <em>Object Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.ObjectTemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getObjectTemplateCS()
+ * @generated
+ */
+ EClass OBJECT_TEMPLATE_CS = eINSTANCE.getObjectTemplateCS();
+
+ /**
+ * The meta object literal for the '<em><b>Property Template</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE = eINSTANCE.getObjectTemplateCS_PropertyTemplate();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ParamDeclarationCSImpl <em>Param Declaration CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.ParamDeclarationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getParamDeclarationCS()
+ * @generated
+ */
+ EClass PARAM_DECLARATION_CS = eINSTANCE.getParamDeclarationCS();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PARAM_DECLARATION_CS__TYPE = eINSTANCE.getParamDeclarationCS_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PrimitiveTypeDomainCSImpl <em>Primitive Type Domain CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.PrimitiveTypeDomainCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getPrimitiveTypeDomainCS()
+ * @generated
+ */
+ EClass PRIMITIVE_TYPE_DOMAIN_CS = eINSTANCE.getPrimitiveTypeDomainCS();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PRIMITIVE_TYPE_DOMAIN_CS__NAME = eINSTANCE.getPrimitiveTypeDomainCS_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PropertyTemplateCSImpl <em>Property Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.PropertyTemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getPropertyTemplateCS()
+ * @generated
+ */
+ EClass PROPERTY_TEMPLATE_CS = eINSTANCE.getPropertyTemplateCS();
+
+ /**
+ * The meta object literal for the '<em><b>Property Id</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROPERTY_TEMPLATE_CS__PROPERTY_ID = eINSTANCE.getPropertyTemplateCS_PropertyId();
+
+ /**
+ * The meta object literal for the '<em><b>Ocl Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROPERTY_TEMPLATE_CS__OCL_EXPRESSION = eINSTANCE.getPropertyTemplateCS_OclExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Opposite</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PROPERTY_TEMPLATE_CS__OPPOSITE = eINSTANCE.getPropertyTemplateCS_Opposite();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl <em>Query CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getQueryCS()
+ * @generated
+ */
+ EClass QUERY_CS = eINSTANCE.getQueryCS();
+
+ /**
+ * The meta object literal for the '<em><b>Path Name</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUERY_CS__PATH_NAME = eINSTANCE.getQueryCS_PathName();
+
+ /**
+ * The meta object literal for the '<em><b>Input Param Declaration</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUERY_CS__INPUT_PARAM_DECLARATION = eINSTANCE.getQueryCS_InputParamDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Ocl Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUERY_CS__OCL_EXPRESSION = eINSTANCE.getQueryCS_OclExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUERY_CS__TYPE = eINSTANCE.getQueryCS_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl <em>Relation CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getRelationCS()
+ * @generated
+ */
+ EClass RELATION_CS = eINSTANCE.getRelationCS();
+
+ /**
+ * The meta object literal for the '<em><b>Top</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RELATION_CS__TOP = eINSTANCE.getRelationCS_Top();
+
+ /**
+ * The meta object literal for the '<em><b>Overrides</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RELATION_CS__OVERRIDES = eINSTANCE.getRelationCS_Overrides();
+
+ /**
+ * The meta object literal for the '<em><b>Var Declaration</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RELATION_CS__VAR_DECLARATION = eINSTANCE.getRelationCS_VarDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Domain</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RELATION_CS__DOMAIN = eINSTANCE.getRelationCS_Domain();
+
+ /**
+ * The meta object literal for the '<em><b>When</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RELATION_CS__WHEN = eINSTANCE.getRelationCS_When();
+
+ /**
+ * The meta object literal for the '<em><b>Where</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RELATION_CS__WHERE = eINSTANCE.getRelationCS_Where();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateCSImpl <em>Template CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTemplateCS()
+ * @generated
+ */
+ EClass TEMPLATE_CS = eINSTANCE.getTemplateCS();
+
+ /**
+ * The meta object literal for the '<em><b>Guard Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TEMPLATE_CS__GUARD_EXPRESSION = eINSTANCE.getTemplateCS_GuardExpression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateVariableCSImpl <em>Template Variable CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateVariableCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTemplateVariableCS()
+ * @generated
+ */
+ EClass TEMPLATE_VARIABLE_CS = eINSTANCE.getTemplateVariableCS();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TEMPLATE_VARIABLE_CS__TYPE = eINSTANCE.getTemplateVariableCS_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Property Id</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TEMPLATE_VARIABLE_CS__PROPERTY_ID = eINSTANCE.getTemplateVariableCS_PropertyId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TopLevelCSImpl <em>Top Level CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TopLevelCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTopLevelCS()
+ * @generated
+ */
+ EClass TOP_LEVEL_CS = eINSTANCE.getTopLevelCS();
+
+ /**
+ * The meta object literal for the '<em><b>Import Clause</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TOP_LEVEL_CS__IMPORT_CLAUSE = eINSTANCE.getTopLevelCS_ImportClause();
+
+ /**
+ * The meta object literal for the '<em><b>Transformation</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TOP_LEVEL_CS__TRANSFORMATION = eINSTANCE.getTopLevelCS_Transformation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl <em>Transformation CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getTransformationCS()
+ * @generated
+ */
+ EClass TRANSFORMATION_CS = eINSTANCE.getTransformationCS();
+
+ /**
+ * The meta object literal for the '<em><b>Model Decl</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSFORMATION_CS__MODEL_DECL = eINSTANCE.getTransformationCS_ModelDecl();
+
+ /**
+ * The meta object literal for the '<em><b>Extends</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSFORMATION_CS__EXTENDS = eINSTANCE.getTransformationCS_Extends();
+
+ /**
+ * The meta object literal for the '<em><b>Key Decl</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSFORMATION_CS__KEY_DECL = eINSTANCE.getTransformationCS_KeyDecl();
+
+ /**
+ * The meta object literal for the '<em><b>Query</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSFORMATION_CS__QUERY = eINSTANCE.getTransformationCS_Query();
+
+ /**
+ * The meta object literal for the '<em><b>Relation</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSFORMATION_CS__RELATION = eINSTANCE.getTransformationCS_Relation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.UnitCSImpl <em>Unit CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.UnitCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getUnitCS()
+ * @generated
+ */
+ EClass UNIT_CS = eINSTANCE.getUnitCS();
+
+ /**
+ * The meta object literal for the '<em><b>Identifier</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference UNIT_CS__IDENTIFIER = eINSTANCE.getUnitCS_Identifier();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.VarDeclarationCSImpl <em>Var Declaration CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.VarDeclarationCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getVarDeclarationCS()
+ * @generated
+ */
+ EClass VAR_DECLARATION_CS = eINSTANCE.getVarDeclarationCS();
+
+ /**
+ * The meta object literal for the '<em><b>Var Declaration Id</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VAR_DECLARATION_CS__VAR_DECLARATION_ID = eINSTANCE.getVarDeclarationCS_VarDeclarationId();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VAR_DECLARATION_CS__TYPE = eINSTANCE.getVarDeclarationCS_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhenCSImpl <em>When CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhenCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getWhenCS()
+ * @generated
+ */
+ EClass WHEN_CS = eINSTANCE.getWhenCS();
+
+ /**
+ * The meta object literal for the '<em><b>Expr</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference WHEN_CS__EXPR = eINSTANCE.getWhenCS_Expr();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhereCSImpl <em>Where CS</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhereCSImpl
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.impl.QVTrelationCSTPackageImpl#getWhereCS()
+ * @generated
+ */
+ EClass WHERE_CS = eINSTANCE.getWhereCS();
+
+ /**
+ * The meta object literal for the '<em><b>Expr</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference WHERE_CS__EXPR = eINSTANCE.getWhereCS_Expr();
+
+ }
+
+} //QVTrelationCSTPackage
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QueryCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QueryCS.java
new file mode 100644
index 000000000..957fe667c
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/QueryCS.java
@@ -0,0 +1,143 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.pivot.util.Nameable;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.PathNameCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedTypeRefCS;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Query CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getPathName <em>Path Name</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getInputParamDeclaration <em>Input Param Declaration</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getOclExpression <em>Ocl Expression</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getQueryCS()
+ * @model superTypes="org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS org.eclipse.ocl.examples.pivot.Nameable"
+ * @generated
+ */
+public interface QueryCS extends ModelElementCS, Nameable {
+ /**
+ * Returns the value of the '<em><b>Path Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Path Name</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Path Name</em>' containment reference.
+ * @see #setPathName(PathNameCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getQueryCS_PathName()
+ * @model containment="true"
+ * @generated
+ */
+ PathNameCS getPathName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getPathName <em>Path Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Path Name</em>' containment reference.
+ * @see #getPathName()
+ * @generated
+ */
+ void setPathName(PathNameCS value);
+
+ /**
+ * Returns the value of the '<em><b>Input Param Declaration</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Input Param Declaration</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Input Param Declaration</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getQueryCS_InputParamDeclaration()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ParamDeclarationCS> getInputParamDeclaration();
+
+ /**
+ * Returns the value of the '<em><b>Ocl Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ocl Expression</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ocl Expression</em>' containment reference.
+ * @see #setOclExpression(ExpCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getQueryCS_OclExpression()
+ * @model containment="true"
+ * @generated
+ */
+ ExpCS getOclExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getOclExpression <em>Ocl Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ocl Expression</em>' containment reference.
+ * @see #getOclExpression()
+ * @generated
+ */
+ void setOclExpression(ExpCS value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' containment reference.
+ * @see #setType(TypedTypeRefCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getQueryCS_Type()
+ * @model containment="true"
+ * @generated
+ */
+ TypedTypeRefCS getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS#getType <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' containment reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(TypedTypeRefCS value);
+
+} // QueryCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/RelationCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/RelationCS.java
new file mode 100644
index 000000000..a322aa140
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/RelationCS.java
@@ -0,0 +1,183 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS;
+
+import org.eclipse.qvtd.pivot.qvtrelation.Relation;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Relation CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#isTop <em>Top</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getOverrides <em>Overrides</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getVarDeclaration <em>Var Declaration</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getDomain <em>Domain</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhen <em>When</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhere <em>Where</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getRelationCS()
+ * @model
+ * @generated
+ */
+public interface RelationCS extends NamedElementCS {
+ /**
+ * Returns the value of the '<em><b>Top</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Top</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Top</em>' attribute.
+ * @see #setTop(boolean)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getRelationCS_Top()
+ * @model
+ * @generated
+ */
+ boolean isTop();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#isTop <em>Top</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Top</em>' attribute.
+ * @see #isTop()
+ * @generated
+ */
+ void setTop(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Overrides</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Overrides</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Overrides</em>' reference.
+ * @see #setOverrides(Relation)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getRelationCS_Overrides()
+ * @model
+ * @generated
+ */
+ Relation getOverrides();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getOverrides <em>Overrides</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Overrides</em>' reference.
+ * @see #getOverrides()
+ * @generated
+ */
+ void setOverrides(Relation value);
+
+ /**
+ * Returns the value of the '<em><b>Var Declaration</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Var Declaration</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Var Declaration</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getRelationCS_VarDeclaration()
+ * @model containment="true"
+ * @generated
+ */
+ EList<VarDeclarationCS> getVarDeclaration();
+
+ /**
+ * Returns the value of the '<em><b>Domain</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Domain</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Domain</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getRelationCS_Domain()
+ * @model containment="true"
+ * @generated
+ */
+ EList<AbstractDomainCS> getDomain();
+
+ /**
+ * Returns the value of the '<em><b>When</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>When</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>When</em>' containment reference.
+ * @see #setWhen(WhenCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getRelationCS_When()
+ * @model containment="true"
+ * @generated
+ */
+ WhenCS getWhen();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhen <em>When</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>When</em>' containment reference.
+ * @see #getWhen()
+ * @generated
+ */
+ void setWhen(WhenCS value);
+
+ /**
+ * Returns the value of the '<em><b>Where</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Where</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Where</em>' containment reference.
+ * @see #setWhere(WhereCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getRelationCS_Where()
+ * @model containment="true"
+ * @generated
+ */
+ WhereCS getWhere();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS#getWhere <em>Where</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Where</em>' containment reference.
+ * @see #getWhere()
+ * @generated
+ */
+ void setWhere(WhereCS value);
+
+} // RelationCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateCS.java
new file mode 100644
index 000000000..cdc9165e5
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateCS.java
@@ -0,0 +1,64 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS#getGuardExpression <em>Guard Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTemplateCS()
+ * @model abstract="true"
+ * @generated
+ */
+public interface TemplateCS extends TemplateVariableCS, ExpCS {
+ /**
+ * Returns the value of the '<em><b>Guard Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Guard Expression</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Guard Expression</em>' containment reference.
+ * @see #setGuardExpression(ExpCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTemplateCS_GuardExpression()
+ * @model containment="true"
+ * @generated
+ */
+ ExpCS getGuardExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS#getGuardExpression <em>Guard Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Guard Expression</em>' containment reference.
+ * @see #getGuardExpression()
+ * @generated
+ */
+ void setGuardExpression(ExpCS value);
+
+} // TemplateCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateVariableCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateVariableCS.java
new file mode 100644
index 000000000..bb2064c28
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TemplateVariableCS.java
@@ -0,0 +1,94 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.ocl.examples.pivot.Property;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedTypeRefCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Template Variable CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getPropertyId <em>Property Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTemplateVariableCS()
+ * @model abstract="true"
+ * @generated
+ */
+public interface TemplateVariableCS extends ModelElementCS {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' containment reference.
+ * @see #setType(TypedTypeRefCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTemplateVariableCS_Type()
+ * @model containment="true"
+ * @generated
+ */
+ TypedTypeRefCS getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getType <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' containment reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(TypedTypeRefCS value);
+
+ /**
+ * Returns the value of the '<em><b>Property Id</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property Id</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Property Id</em>' reference.
+ * @see #setPropertyId(Property)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTemplateVariableCS_PropertyId()
+ * @model
+ * @generated
+ */
+ Property getPropertyId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS#getPropertyId <em>Property Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Property Id</em>' reference.
+ * @see #getPropertyId()
+ * @generated
+ */
+ void setPropertyId(Property value);
+
+} // TemplateVariableCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TopLevelCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TopLevelCS.java
new file mode 100644
index 000000000..8c1a65a6a
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TopLevelCS.java
@@ -0,0 +1,73 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Top Level CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS#getImportClause <em>Import Clause</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS#getTransformation <em>Transformation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTopLevelCS()
+ * @model
+ * @generated
+ */
+public interface TopLevelCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Import Clause</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Import Clause</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Import Clause</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTopLevelCS_ImportClause()
+ * @model containment="true"
+ * @generated
+ */
+ EList<UnitCS> getImportClause();
+
+ /**
+ * Returns the value of the '<em><b>Transformation</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Transformation</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Transformation</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTopLevelCS_Transformation()
+ * @model containment="true"
+ * @generated
+ */
+ EList<TransformationCS> getTransformation();
+
+} // TopLevelCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TransformationCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TransformationCS.java
new file mode 100644
index 000000000..9e4577de3
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/TransformationCS.java
@@ -0,0 +1,126 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS;
+
+import org.eclipse.qvtd.pivot.qvtbase.Transformation;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Transformation CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getModelDecl <em>Model Decl</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getExtends <em>Extends</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getKeyDecl <em>Key Decl</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS#getRelation <em>Relation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTransformationCS()
+ * @model
+ * @generated
+ */
+public interface TransformationCS extends NamedElementCS {
+ /**
+ * Returns the value of the '<em><b>Model Decl</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Model Decl</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Model Decl</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTransformationCS_ModelDecl()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ModelDeclCS> getModelDecl();
+
+ /**
+ * Returns the value of the '<em><b>Extends</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.pivot.qvtbase.Transformation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extends</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extends</em>' reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTransformationCS_Extends()
+ * @model
+ * @generated
+ */
+ EList<Transformation> getExtends();
+
+ /**
+ * Returns the value of the '<em><b>Key Decl</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Key Decl</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Key Decl</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTransformationCS_KeyDecl()
+ * @model containment="true"
+ * @generated
+ */
+ EList<KeyDeclCS> getKeyDecl();
+
+ /**
+ * Returns the value of the '<em><b>Query</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Query</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Query</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTransformationCS_Query()
+ * @model containment="true"
+ * @generated
+ */
+ EList<QueryCS> getQuery();
+
+ /**
+ * Returns the value of the '<em><b>Relation</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Relation</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Relation</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getTransformationCS_Relation()
+ * @model containment="true"
+ * @generated
+ */
+ EList<RelationCS> getRelation();
+
+} // TransformationCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/UnitCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/UnitCS.java
new file mode 100644
index 000000000..97ac003d2
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/UnitCS.java
@@ -0,0 +1,58 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.pivot.Element;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unit CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS#getIdentifier <em>Identifier</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getUnitCS()
+ * @model
+ * @generated
+ */
+public interface UnitCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Identifier</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.ocl.examples.pivot.Element}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Identifier</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Identifier</em>' reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getUnitCS_Identifier()
+ * @model required="true"
+ * @generated
+ */
+ EList<Element> getIdentifier();
+
+} // UnitCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/VarDeclarationCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/VarDeclarationCS.java
new file mode 100644
index 000000000..129ee45e2
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/VarDeclarationCS.java
@@ -0,0 +1,86 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.pivot.Property;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedTypeRefCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Var Declaration CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS#getVarDeclarationId <em>Var Declaration Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getVarDeclarationCS()
+ * @model
+ * @generated
+ */
+public interface VarDeclarationCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Var Declaration Id</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.ocl.examples.pivot.Property}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Var Declaration Id</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Var Declaration Id</em>' reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getVarDeclarationCS_VarDeclarationId()
+ * @model
+ * @generated
+ */
+ EList<Property> getVarDeclarationId();
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' containment reference.
+ * @see #setType(TypedTypeRefCS)
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getVarDeclarationCS_Type()
+ * @model containment="true"
+ * @generated
+ */
+ TypedTypeRefCS getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS#getType <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' containment reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(TypedTypeRefCS value);
+
+} // VarDeclarationCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhenCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhenCS.java
new file mode 100644
index 000000000..a6acd21e4
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhenCS.java
@@ -0,0 +1,58 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>When CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS#getExpr <em>Expr</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getWhenCS()
+ * @model
+ * @generated
+ */
+public interface WhenCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Expr</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expr</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expr</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getWhenCS_Expr()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<ExpCS> getExpr();
+
+} // WhenCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhereCS.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhereCS.java
new file mode 100644
index 000000000..0b340283d
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/WhereCS.java
@@ -0,0 +1,58 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Where CS</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS#getExpr <em>Expr</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getWhereCS()
+ * @model
+ * @generated
+ */
+public interface WhereCS extends ElementCS {
+ /**
+ * Returns the value of the '<em><b>Expr</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expr</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expr</em>' containment reference list.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#getWhereCS_Expr()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<ExpCS> getExpr();
+
+} // WhereCS
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AbstractDomainCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AbstractDomainCSImpl.java
new file mode 100644
index 000000000..5b2f8ad1b
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AbstractDomainCSImpl.java
@@ -0,0 +1,60 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ModelElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Domain CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class AbstractDomainCSImpl extends ModelElementCSImpl implements AbstractDomainCS {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractDomainCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.ABSTRACT_DOMAIN_CS;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitAbstractDomainCS(this);
+ }
+} //AbstractDomainCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AnyElementCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AnyElementCSImpl.java
new file mode 100644
index 000000000..8cc1a2b44
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/AnyElementCSImpl.java
@@ -0,0 +1,60 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.impl.ExpCSImpl;
+import org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Any Element CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class AnyElementCSImpl extends ExpCSImpl implements AnyElementCS {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnyElementCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.ANY_ELEMENT_CS;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitAnyElementCS(this);
+ }
+} //AnyElementCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/CollectionTemplateCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/CollectionTemplateCSImpl.java
new file mode 100644
index 000000000..3896814fe
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/CollectionTemplateCSImpl.java
@@ -0,0 +1,235 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Collection Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.CollectionTemplateCSImpl#getMemberIdentifier <em>Member Identifier</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.CollectionTemplateCSImpl#getRestIdentifier <em>Rest Identifier</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CollectionTemplateCSImpl extends TemplateCSImpl implements CollectionTemplateCS {
+ /**
+ * The cached value of the '{@link #getMemberIdentifier() <em>Member Identifier</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemberIdentifier()
+ * @generated
+ * @ordered
+ */
+ protected EList<ExpCS> memberIdentifier;
+
+ /**
+ * The cached value of the '{@link #getRestIdentifier() <em>Rest Identifier</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRestIdentifier()
+ * @generated
+ * @ordered
+ */
+ protected ExpCS restIdentifier;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CollectionTemplateCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.COLLECTION_TEMPLATE_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ExpCS> getMemberIdentifier() {
+ if (memberIdentifier == null) {
+ memberIdentifier = new EObjectContainmentEList<ExpCS>(ExpCS.class, this, QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER);
+ }
+ return memberIdentifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpCS getRestIdentifier() {
+ return restIdentifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRestIdentifier(ExpCS newRestIdentifier, NotificationChain msgs) {
+ ExpCS oldRestIdentifier = restIdentifier;
+ restIdentifier = newRestIdentifier;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER, oldRestIdentifier, newRestIdentifier);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRestIdentifier(ExpCS newRestIdentifier) {
+ if (newRestIdentifier != restIdentifier) {
+ NotificationChain msgs = null;
+ if (restIdentifier != null)
+ msgs = ((InternalEObject)restIdentifier).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER, null, msgs);
+ if (newRestIdentifier != null)
+ msgs = ((InternalEObject)newRestIdentifier).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER, null, msgs);
+ msgs = basicSetRestIdentifier(newRestIdentifier, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER, newRestIdentifier, newRestIdentifier));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER:
+ return ((InternalEList<?>)getMemberIdentifier()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER:
+ return basicSetRestIdentifier(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER:
+ return getMemberIdentifier();
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER:
+ return getRestIdentifier();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER:
+ getMemberIdentifier().clear();
+ getMemberIdentifier().addAll((Collection<? extends ExpCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER:
+ setRestIdentifier((ExpCS)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER:
+ getMemberIdentifier().clear();
+ return;
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER:
+ setRestIdentifier((ExpCS)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER:
+ return memberIdentifier != null && !memberIdentifier.isEmpty();
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS__REST_IDENTIFIER:
+ return restIdentifier != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitCollectionTemplateCS(this);
+ }
+} //CollectionTemplateCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DefaultValueCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DefaultValueCSImpl.java
new file mode 100644
index 000000000..8bef9ebba
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DefaultValueCSImpl.java
@@ -0,0 +1,256 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.ocl.examples.pivot.Property;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Default Value CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DefaultValueCSImpl#getInitialiser <em>Initialiser</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DefaultValueCSImpl#getPropertyId <em>Property Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DefaultValueCSImpl extends ElementCSImpl implements DefaultValueCS {
+ /**
+ * The cached value of the '{@link #getInitialiser() <em>Initialiser</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitialiser()
+ * @generated
+ * @ordered
+ */
+ protected ExpCS initialiser;
+
+ /**
+ * The cached value of the '{@link #getPropertyId() <em>Property Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPropertyId()
+ * @generated
+ * @ordered
+ */
+ protected Property propertyId;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DefaultValueCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.DEFAULT_VALUE_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpCS getInitialiser() {
+ return initialiser;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInitialiser(ExpCS newInitialiser, NotificationChain msgs) {
+ ExpCS oldInitialiser = initialiser;
+ initialiser = newInitialiser;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER, oldInitialiser, newInitialiser);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInitialiser(ExpCS newInitialiser) {
+ if (newInitialiser != initialiser) {
+ NotificationChain msgs = null;
+ if (initialiser != null)
+ msgs = ((InternalEObject)initialiser).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER, null, msgs);
+ if (newInitialiser != null)
+ msgs = ((InternalEObject)newInitialiser).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER, null, msgs);
+ msgs = basicSetInitialiser(newInitialiser, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER, newInitialiser, newInitialiser));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getPropertyId() {
+ if (propertyId != null && ((EObject)propertyId).eIsProxy()) {
+ InternalEObject oldPropertyId = (InternalEObject)propertyId;
+ propertyId = (Property)eResolveProxy(oldPropertyId);
+ if (propertyId != oldPropertyId) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, QVTrelationCSTPackage.DEFAULT_VALUE_CS__PROPERTY_ID, oldPropertyId, propertyId));
+ }
+ }
+ return propertyId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetPropertyId() {
+ return propertyId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPropertyId(Property newPropertyId) {
+ Property oldPropertyId = propertyId;
+ propertyId = newPropertyId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DEFAULT_VALUE_CS__PROPERTY_ID, oldPropertyId, propertyId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER:
+ return basicSetInitialiser(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER:
+ return getInitialiser();
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__PROPERTY_ID:
+ if (resolve) return getPropertyId();
+ return basicGetPropertyId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER:
+ setInitialiser((ExpCS)newValue);
+ return;
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__PROPERTY_ID:
+ setPropertyId((Property)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER:
+ setInitialiser((ExpCS)null);
+ return;
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__PROPERTY_ID:
+ setPropertyId((Property)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__INITIALISER:
+ return initialiser != null;
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS__PROPERTY_ID:
+ return propertyId != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitDefaultValueCS(this);
+ }
+} //DefaultValueCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DomainCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DomainCSImpl.java
new file mode 100644
index 000000000..b887822df
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/DomainCSImpl.java
@@ -0,0 +1,537 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
+import org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Domain CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl#isCheckonly <em>Checkonly</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl#isEnforce <em>Enforce</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl#getModelId <em>Model Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl#isReplace <em>Replace</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl#getTemplate <em>Template</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl#getDefaultValue <em>Default Value</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.DomainCSImpl#getImplementedBy <em>Implemented By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DomainCSImpl extends AbstractDomainCSImpl implements DomainCS {
+ /**
+ * The default value of the '{@link #isCheckonly() <em>Checkonly</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCheckonly()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CHECKONLY_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCheckonly() <em>Checkonly</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCheckonly()
+ * @generated
+ * @ordered
+ */
+ protected boolean checkonly = CHECKONLY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isEnforce() <em>Enforce</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isEnforce()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ENFORCE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isEnforce() <em>Enforce</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isEnforce()
+ * @generated
+ * @ordered
+ */
+ protected boolean enforce = ENFORCE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getModelId() <em>Model Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getModelId()
+ * @generated
+ * @ordered
+ */
+ protected TypedModel modelId;
+
+ /**
+ * The default value of the '{@link #isReplace() <em>Replace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReplace()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean REPLACE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isReplace() <em>Replace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReplace()
+ * @generated
+ * @ordered
+ */
+ protected boolean replace = REPLACE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTemplate() <em>Template</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTemplate()
+ * @generated
+ * @ordered
+ */
+ protected TemplateCS template;
+
+ /**
+ * The cached value of the '{@link #getDefaultValue() <em>Default Value</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultValue()
+ * @generated
+ * @ordered
+ */
+ protected EList<DefaultValueCS> defaultValue;
+
+ /**
+ * The cached value of the '{@link #getImplementedBy() <em>Implemented By</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementedBy()
+ * @generated
+ * @ordered
+ */
+ protected ExpCS implementedBy;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DomainCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.DOMAIN_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCheckonly() {
+ return checkonly;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCheckonly(boolean newCheckonly) {
+ boolean oldCheckonly = checkonly;
+ checkonly = newCheckonly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__CHECKONLY, oldCheckonly, checkonly));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isEnforce() {
+ return enforce;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnforce(boolean newEnforce) {
+ boolean oldEnforce = enforce;
+ enforce = newEnforce;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__ENFORCE, oldEnforce, enforce));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedModel getModelId() {
+ if (modelId != null && modelId.eIsProxy()) {
+ InternalEObject oldModelId = (InternalEObject)modelId;
+ modelId = (TypedModel)eResolveProxy(oldModelId);
+ if (modelId != oldModelId) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, QVTrelationCSTPackage.DOMAIN_CS__MODEL_ID, oldModelId, modelId));
+ }
+ }
+ return modelId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedModel basicGetModelId() {
+ return modelId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setModelId(TypedModel newModelId) {
+ TypedModel oldModelId = modelId;
+ modelId = newModelId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__MODEL_ID, oldModelId, modelId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isReplace() {
+ return replace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReplace(boolean newReplace) {
+ boolean oldReplace = replace;
+ replace = newReplace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__REPLACE, oldReplace, replace));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateCS getTemplate() {
+ return template;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemplate(TemplateCS newTemplate, NotificationChain msgs) {
+ TemplateCS oldTemplate = template;
+ template = newTemplate;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE, oldTemplate, newTemplate);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemplate(TemplateCS newTemplate) {
+ if (newTemplate != template) {
+ NotificationChain msgs = null;
+ if (template != null)
+ msgs = ((InternalEObject)template).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE, null, msgs);
+ if (newTemplate != null)
+ msgs = ((InternalEObject)newTemplate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE, null, msgs);
+ msgs = basicSetTemplate(newTemplate, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE, newTemplate, newTemplate));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DefaultValueCS> getDefaultValue() {
+ if (defaultValue == null) {
+ defaultValue = new EObjectContainmentEList<DefaultValueCS>(DefaultValueCS.class, this, QVTrelationCSTPackage.DOMAIN_CS__DEFAULT_VALUE);
+ }
+ return defaultValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpCS getImplementedBy() {
+ return implementedBy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetImplementedBy(ExpCS newImplementedBy, NotificationChain msgs) {
+ ExpCS oldImplementedBy = implementedBy;
+ implementedBy = newImplementedBy;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY, oldImplementedBy, newImplementedBy);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImplementedBy(ExpCS newImplementedBy) {
+ if (newImplementedBy != implementedBy) {
+ NotificationChain msgs = null;
+ if (implementedBy != null)
+ msgs = ((InternalEObject)implementedBy).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY, null, msgs);
+ if (newImplementedBy != null)
+ msgs = ((InternalEObject)newImplementedBy).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY, null, msgs);
+ msgs = basicSetImplementedBy(newImplementedBy, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY, newImplementedBy, newImplementedBy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE:
+ return basicSetTemplate(null, msgs);
+ case QVTrelationCSTPackage.DOMAIN_CS__DEFAULT_VALUE:
+ return ((InternalEList<?>)getDefaultValue()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY:
+ return basicSetImplementedBy(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DOMAIN_CS__CHECKONLY:
+ return isCheckonly();
+ case QVTrelationCSTPackage.DOMAIN_CS__ENFORCE:
+ return isEnforce();
+ case QVTrelationCSTPackage.DOMAIN_CS__MODEL_ID:
+ if (resolve) return getModelId();
+ return basicGetModelId();
+ case QVTrelationCSTPackage.DOMAIN_CS__REPLACE:
+ return isReplace();
+ case QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE:
+ return getTemplate();
+ case QVTrelationCSTPackage.DOMAIN_CS__DEFAULT_VALUE:
+ return getDefaultValue();
+ case QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY:
+ return getImplementedBy();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DOMAIN_CS__CHECKONLY:
+ setCheckonly((Boolean)newValue);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__ENFORCE:
+ setEnforce((Boolean)newValue);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__MODEL_ID:
+ setModelId((TypedModel)newValue);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__REPLACE:
+ setReplace((Boolean)newValue);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE:
+ setTemplate((TemplateCS)newValue);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__DEFAULT_VALUE:
+ getDefaultValue().clear();
+ getDefaultValue().addAll((Collection<? extends DefaultValueCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY:
+ setImplementedBy((ExpCS)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DOMAIN_CS__CHECKONLY:
+ setCheckonly(CHECKONLY_EDEFAULT);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__ENFORCE:
+ setEnforce(ENFORCE_EDEFAULT);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__MODEL_ID:
+ setModelId((TypedModel)null);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__REPLACE:
+ setReplace(REPLACE_EDEFAULT);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE:
+ setTemplate((TemplateCS)null);
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__DEFAULT_VALUE:
+ getDefaultValue().clear();
+ return;
+ case QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY:
+ setImplementedBy((ExpCS)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.DOMAIN_CS__CHECKONLY:
+ return checkonly != CHECKONLY_EDEFAULT;
+ case QVTrelationCSTPackage.DOMAIN_CS__ENFORCE:
+ return enforce != ENFORCE_EDEFAULT;
+ case QVTrelationCSTPackage.DOMAIN_CS__MODEL_ID:
+ return modelId != null;
+ case QVTrelationCSTPackage.DOMAIN_CS__REPLACE:
+ return replace != REPLACE_EDEFAULT;
+ case QVTrelationCSTPackage.DOMAIN_CS__TEMPLATE:
+ return template != null;
+ case QVTrelationCSTPackage.DOMAIN_CS__DEFAULT_VALUE:
+ return defaultValue != null && !defaultValue.isEmpty();
+ case QVTrelationCSTPackage.DOMAIN_CS__IMPLEMENTED_BY:
+ return implementedBy != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public String toString() {
+ return super.toString();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitDomainCS(this);
+ }
+
+ public String getName() {
+ if ((modelId != null) && !modelId.eIsProxy()) {
+ return modelId.getName();
+ }
+ return "null";
+ }
+} //DomainCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/KeyDeclCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/KeyDeclCSImpl.java
new file mode 100644
index 000000000..0d1afafd0
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/KeyDeclCSImpl.java
@@ -0,0 +1,250 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.ocl.examples.pivot.Property;
+import org.eclipse.ocl.examples.xtext.base.baseCST.PathNameCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Key Decl CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.KeyDeclCSImpl#getPathName <em>Path Name</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.KeyDeclCSImpl#getPropertyId <em>Property Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.KeyDeclCSImpl#getClassId <em>Class Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class KeyDeclCSImpl extends ElementCSImpl implements KeyDeclCS {
+ /**
+ * The cached value of the '{@link #getPathName() <em>Path Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPathName()
+ * @generated
+ * @ordered
+ */
+ protected PathNameCS pathName;
+
+ /**
+ * The cached value of the '{@link #getPropertyId() <em>Property Id</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPropertyId()
+ * @generated
+ * @ordered
+ */
+ protected EList<Property> propertyId;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected KeyDeclCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.KEY_DECL_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PathNameCS getPathName() {
+ return pathName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPathName(PathNameCS newPathName, NotificationChain msgs) {
+ PathNameCS oldPathName = pathName;
+ pathName = newPathName;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME, oldPathName, newPathName);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPathName(PathNameCS newPathName) {
+ if (newPathName != pathName) {
+ NotificationChain msgs = null;
+ if (pathName != null)
+ msgs = ((InternalEObject)pathName).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME, null, msgs);
+ if (newPathName != null)
+ msgs = ((InternalEObject)newPathName).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME, null, msgs);
+ msgs = basicSetPathName(newPathName, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME, newPathName, newPathName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Property> getPropertyId() {
+ if (propertyId == null) {
+ propertyId = new EObjectResolvingEList<Property>(Property.class, this, QVTrelationCSTPackage.KEY_DECL_CS__PROPERTY_ID);
+ }
+ return propertyId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.ocl.examples.pivot.Class getClassId() {
+ // TODO: implement this method to return the 'Class Id' reference
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME:
+ return basicSetPathName(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME:
+ return getPathName();
+ case QVTrelationCSTPackage.KEY_DECL_CS__PROPERTY_ID:
+ return getPropertyId();
+ case QVTrelationCSTPackage.KEY_DECL_CS__CLASS_ID:
+ return getClassId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME:
+ setPathName((PathNameCS)newValue);
+ return;
+ case QVTrelationCSTPackage.KEY_DECL_CS__PROPERTY_ID:
+ getPropertyId().clear();
+ getPropertyId().addAll((Collection<? extends Property>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME:
+ setPathName((PathNameCS)null);
+ return;
+ case QVTrelationCSTPackage.KEY_DECL_CS__PROPERTY_ID:
+ getPropertyId().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.KEY_DECL_CS__PATH_NAME:
+ return pathName != null;
+ case QVTrelationCSTPackage.KEY_DECL_CS__PROPERTY_ID:
+ return propertyId != null && !propertyId.isEmpty();
+ case QVTrelationCSTPackage.KEY_DECL_CS__CLASS_ID:
+ return getClassId() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitKeyDeclCS(this);
+ }
+} //KeyDeclCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ModelDeclCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ModelDeclCSImpl.java
new file mode 100644
index 000000000..1ad459ccc
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ModelDeclCSImpl.java
@@ -0,0 +1,150 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.NamedElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Model Decl CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ModelDeclCSImpl#getMetaModelId <em>Meta Model Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ModelDeclCSImpl extends NamedElementCSImpl implements ModelDeclCS {
+ /**
+ * The cached value of the '{@link #getMetaModelId() <em>Meta Model Id</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetaModelId()
+ * @generated
+ * @ordered
+ */
+ protected EList<org.eclipse.ocl.examples.pivot.Package> metaModelId;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModelDeclCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.MODEL_DECL_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<org.eclipse.ocl.examples.pivot.Package> getMetaModelId() {
+ if (metaModelId == null) {
+ metaModelId = new EObjectResolvingEList<org.eclipse.ocl.examples.pivot.Package>(org.eclipse.ocl.examples.pivot.Package.class, this, QVTrelationCSTPackage.MODEL_DECL_CS__META_MODEL_ID);
+ }
+ return metaModelId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.MODEL_DECL_CS__META_MODEL_ID:
+ return getMetaModelId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.MODEL_DECL_CS__META_MODEL_ID:
+ getMetaModelId().clear();
+ getMetaModelId().addAll((Collection<? extends org.eclipse.ocl.examples.pivot.Package>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.MODEL_DECL_CS__META_MODEL_ID:
+ getMetaModelId().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.MODEL_DECL_CS__META_MODEL_ID:
+ return metaModelId != null && !metaModelId.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitModelDeclCS(this);
+ }
+} //ModelDeclCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ObjectTemplateCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ObjectTemplateCSImpl.java
new file mode 100644
index 000000000..cd0739dc5
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ObjectTemplateCSImpl.java
@@ -0,0 +1,167 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Object Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ObjectTemplateCSImpl#getPropertyTemplate <em>Property Template</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ObjectTemplateCSImpl extends TemplateCSImpl implements ObjectTemplateCS {
+ /**
+ * The cached value of the '{@link #getPropertyTemplate() <em>Property Template</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPropertyTemplate()
+ * @generated
+ * @ordered
+ */
+ protected EList<PropertyTemplateCS> propertyTemplate;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ObjectTemplateCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.OBJECT_TEMPLATE_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PropertyTemplateCS> getPropertyTemplate() {
+ if (propertyTemplate == null) {
+ propertyTemplate = new EObjectContainmentEList<PropertyTemplateCS>(PropertyTemplateCS.class, this, QVTrelationCSTPackage.OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE);
+ }
+ return propertyTemplate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE:
+ return ((InternalEList<?>)getPropertyTemplate()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE:
+ return getPropertyTemplate();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE:
+ getPropertyTemplate().clear();
+ getPropertyTemplate().addAll((Collection<? extends PropertyTemplateCS>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE:
+ getPropertyTemplate().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE:
+ return propertyTemplate != null && !propertyTemplate.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitObjectTemplateCS(this);
+ }
+} //ObjectTemplateCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ParamDeclarationCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ParamDeclarationCSImpl.java
new file mode 100644
index 000000000..c3511948f
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/ParamDeclarationCSImpl.java
@@ -0,0 +1,194 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedRefCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.NamedElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Param Declaration CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.ParamDeclarationCSImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ParamDeclarationCSImpl extends NamedElementCSImpl implements ParamDeclarationCS {
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected TypedRefCS type;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParamDeclarationCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.PARAM_DECLARATION_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedRefCS getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetType(TypedRefCS newType, NotificationChain msgs) {
+ TypedRefCS oldType = type;
+ type = newType;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE, oldType, newType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(TypedRefCS newType) {
+ if (newType != type) {
+ NotificationChain msgs = null;
+ if (type != null)
+ msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE, null, msgs);
+ if (newType != null)
+ msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE, null, msgs);
+ msgs = basicSetType(newType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE, newType, newType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE:
+ return basicSetType(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE:
+ return getType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE:
+ setType((TypedRefCS)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE:
+ setType((TypedRefCS)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PARAM_DECLARATION_CS__TYPE:
+ return type != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitParamDeclarationCS(this);
+ }
+} //ParamDeclarationCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PrimitiveTypeDomainCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PrimitiveTypeDomainCSImpl.java
new file mode 100644
index 000000000..ff0a56ea9
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PrimitiveTypeDomainCSImpl.java
@@ -0,0 +1,174 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Primitive Type Domain CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PrimitiveTypeDomainCSImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PrimitiveTypeDomainCSImpl extends TemplateVariableCSImpl implements PrimitiveTypeDomainCS {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PrimitiveTypeDomainCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.PRIMITIVE_TYPE_DOMAIN_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.PRIMITIVE_TYPE_DOMAIN_CS__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PRIMITIVE_TYPE_DOMAIN_CS__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PRIMITIVE_TYPE_DOMAIN_CS__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PRIMITIVE_TYPE_DOMAIN_CS__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PRIMITIVE_TYPE_DOMAIN_CS__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public String toString() {
+ return super.toString();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitPrimitiveTypeDomainCS(this);
+ }
+} //PrimitiveTypeDomainCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PropertyTemplateCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PropertyTemplateCSImpl.java
new file mode 100644
index 000000000..33045af77
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/PropertyTemplateCSImpl.java
@@ -0,0 +1,318 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.ocl.examples.pivot.Property;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PropertyTemplateCSImpl#getPropertyId <em>Property Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PropertyTemplateCSImpl#getOclExpression <em>Ocl Expression</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.PropertyTemplateCSImpl#isOpposite <em>Opposite</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyTemplateCSImpl extends ElementCSImpl implements PropertyTemplateCS {
+ /**
+ * The cached value of the '{@link #getPropertyId() <em>Property Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPropertyId()
+ * @generated
+ * @ordered
+ */
+ protected Property propertyId;
+
+ /**
+ * The cached value of the '{@link #getOclExpression() <em>Ocl Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOclExpression()
+ * @generated
+ * @ordered
+ */
+ protected ExpCS oclExpression;
+
+ /**
+ * The default value of the '{@link #isOpposite() <em>Opposite</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOpposite()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean OPPOSITE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isOpposite() <em>Opposite</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOpposite()
+ * @generated
+ * @ordered
+ */
+ protected boolean opposite = OPPOSITE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PropertyTemplateCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.PROPERTY_TEMPLATE_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getPropertyId() {
+ if (propertyId != null && ((EObject)propertyId).eIsProxy()) {
+ InternalEObject oldPropertyId = (InternalEObject)propertyId;
+ propertyId = (Property)eResolveProxy(oldPropertyId);
+ if (propertyId != oldPropertyId) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__PROPERTY_ID, oldPropertyId, propertyId));
+ }
+ }
+ return propertyId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetPropertyId() {
+ return propertyId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPropertyId(Property newPropertyId) {
+ Property oldPropertyId = propertyId;
+ propertyId = newPropertyId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__PROPERTY_ID, oldPropertyId, propertyId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpCS getOclExpression() {
+ return oclExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOclExpression(ExpCS newOclExpression, NotificationChain msgs) {
+ ExpCS oldOclExpression = oclExpression;
+ oclExpression = newOclExpression;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION, oldOclExpression, newOclExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOclExpression(ExpCS newOclExpression) {
+ if (newOclExpression != oclExpression) {
+ NotificationChain msgs = null;
+ if (oclExpression != null)
+ msgs = ((InternalEObject)oclExpression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION, null, msgs);
+ if (newOclExpression != null)
+ msgs = ((InternalEObject)newOclExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION, null, msgs);
+ msgs = basicSetOclExpression(newOclExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION, newOclExpression, newOclExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOpposite() {
+ return opposite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOpposite(boolean newOpposite) {
+ boolean oldOpposite = opposite;
+ opposite = newOpposite;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OPPOSITE, oldOpposite, opposite));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION:
+ return basicSetOclExpression(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__PROPERTY_ID:
+ if (resolve) return getPropertyId();
+ return basicGetPropertyId();
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION:
+ return getOclExpression();
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OPPOSITE:
+ return isOpposite();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__PROPERTY_ID:
+ setPropertyId((Property)newValue);
+ return;
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION:
+ setOclExpression((ExpCS)newValue);
+ return;
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OPPOSITE:
+ setOpposite((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__PROPERTY_ID:
+ setPropertyId((Property)null);
+ return;
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION:
+ setOclExpression((ExpCS)null);
+ return;
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OPPOSITE:
+ setOpposite(OPPOSITE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__PROPERTY_ID:
+ return propertyId != null;
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OCL_EXPRESSION:
+ return oclExpression != null;
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS__OPPOSITE:
+ return opposite != OPPOSITE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public String toString() {
+ return super.toString();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitPropertyTemplateCS(this);
+ }
+} //PropertyTemplateCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTFactoryImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTFactoryImpl.java
new file mode 100644
index 000000000..f1d3c8991
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTFactoryImpl.java
@@ -0,0 +1,312 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTFactory;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QVTrelationCSTFactoryImpl extends EFactoryImpl implements QVTrelationCSTFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static QVTrelationCSTFactory init() {
+ try {
+ QVTrelationCSTFactory theQVTrelationCSTFactory = (QVTrelationCSTFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/qvt/0.9/QVTrelationCST");
+ if (theQVTrelationCSTFactory != null) {
+ return theQVTrelationCSTFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new QVTrelationCSTFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QVTrelationCSTFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case QVTrelationCSTPackage.ANY_ELEMENT_CS: return createAnyElementCS();
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS: return createCollectionTemplateCS();
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS: return createDefaultValueCS();
+ case QVTrelationCSTPackage.DOMAIN_CS: return createDomainCS();
+ case QVTrelationCSTPackage.KEY_DECL_CS: return createKeyDeclCS();
+ case QVTrelationCSTPackage.MODEL_DECL_CS: return createModelDeclCS();
+ case QVTrelationCSTPackage.OBJECT_TEMPLATE_CS: return createObjectTemplateCS();
+ case QVTrelationCSTPackage.PARAM_DECLARATION_CS: return createParamDeclarationCS();
+ case QVTrelationCSTPackage.PRIMITIVE_TYPE_DOMAIN_CS: return createPrimitiveTypeDomainCS();
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS: return createPropertyTemplateCS();
+ case QVTrelationCSTPackage.QUERY_CS: return createQueryCS();
+ case QVTrelationCSTPackage.RELATION_CS: return createRelationCS();
+ case QVTrelationCSTPackage.TOP_LEVEL_CS: return createTopLevelCS();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS: return createTransformationCS();
+ case QVTrelationCSTPackage.UNIT_CS: return createUnitCS();
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS: return createVarDeclarationCS();
+ case QVTrelationCSTPackage.WHEN_CS: return createWhenCS();
+ case QVTrelationCSTPackage.WHERE_CS: return createWhereCS();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnyElementCS createAnyElementCS() {
+ AnyElementCSImpl anyElementCS = new AnyElementCSImpl();
+ return anyElementCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollectionTemplateCS createCollectionTemplateCS() {
+ CollectionTemplateCSImpl collectionTemplateCS = new CollectionTemplateCSImpl();
+ return collectionTemplateCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DefaultValueCS createDefaultValueCS() {
+ DefaultValueCSImpl defaultValueCS = new DefaultValueCSImpl();
+ return defaultValueCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DomainCS createDomainCS() {
+ DomainCSImpl domainCS = new DomainCSImpl();
+ return domainCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public KeyDeclCS createKeyDeclCS() {
+ KeyDeclCSImpl keyDeclCS = new KeyDeclCSImpl();
+ return keyDeclCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelDeclCS createModelDeclCS() {
+ ModelDeclCSImpl modelDeclCS = new ModelDeclCSImpl();
+ return modelDeclCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectTemplateCS createObjectTemplateCS() {
+ ObjectTemplateCSImpl objectTemplateCS = new ObjectTemplateCSImpl();
+ return objectTemplateCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParamDeclarationCS createParamDeclarationCS() {
+ ParamDeclarationCSImpl paramDeclarationCS = new ParamDeclarationCSImpl();
+ return paramDeclarationCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PrimitiveTypeDomainCS createPrimitiveTypeDomainCS() {
+ PrimitiveTypeDomainCSImpl primitiveTypeDomainCS = new PrimitiveTypeDomainCSImpl();
+ return primitiveTypeDomainCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PropertyTemplateCS createPropertyTemplateCS() {
+ PropertyTemplateCSImpl propertyTemplateCS = new PropertyTemplateCSImpl();
+ return propertyTemplateCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueryCS createQueryCS() {
+ QueryCSImpl queryCS = new QueryCSImpl();
+ return queryCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RelationCS createRelationCS() {
+ RelationCSImpl relationCS = new RelationCSImpl();
+ return relationCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TopLevelCS createTopLevelCS() {
+ TopLevelCSImpl topLevelCS = new TopLevelCSImpl();
+ return topLevelCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TransformationCS createTransformationCS() {
+ TransformationCSImpl transformationCS = new TransformationCSImpl();
+ return transformationCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnitCS createUnitCS() {
+ UnitCSImpl unitCS = new UnitCSImpl();
+ return unitCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VarDeclarationCS createVarDeclarationCS() {
+ VarDeclarationCSImpl varDeclarationCS = new VarDeclarationCSImpl();
+ return varDeclarationCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WhenCS createWhenCS() {
+ WhenCSImpl whenCS = new WhenCSImpl();
+ return whenCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WhereCS createWhereCS() {
+ WhereCSImpl whereCS = new WhereCSImpl();
+ return whereCS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QVTrelationCSTPackage getQVTrelationCSTPackage() {
+ return (QVTrelationCSTPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static QVTrelationCSTPackage getPackage() {
+ return QVTrelationCSTPackage.eINSTANCE;
+ }
+
+} //QVTrelationCSTFactoryImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTPackageImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTPackageImpl.java
new file mode 100644
index 000000000..6093bfef2
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QVTrelationCSTPackageImpl.java
@@ -0,0 +1,1146 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.ocl.examples.pivot.PivotPackage;
+import org.eclipse.ocl.examples.xtext.base.baseCST.BaseCSTPackage;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.EssentialOCLCSTPackage;
+import org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage;
+import org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTFactory;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QVTrelationCSTPackageImpl extends EPackageImpl implements QVTrelationCSTPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractDomainCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass anyElementCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass collectionTemplateCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass defaultValueCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass domainCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass keyDeclCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass modelDeclCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass objectTemplateCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass paramDeclarationCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass primitiveTypeDomainCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass propertyTemplateCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass queryCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass relationCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass templateCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass templateVariableCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass topLevelCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass transformationCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass unitCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass varDeclarationCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass whenCSEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass whereCSEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private QVTrelationCSTPackageImpl() {
+ super(eNS_URI, QVTrelationCSTFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link QVTrelationCSTPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static QVTrelationCSTPackage init() {
+ if (isInited) return (QVTrelationCSTPackage)EPackage.Registry.INSTANCE.getEPackage(QVTrelationCSTPackage.eNS_URI);
+
+ // Obtain or create and register package
+ QVTrelationCSTPackageImpl theQVTrelationCSTPackage = (QVTrelationCSTPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof QVTrelationCSTPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new QVTrelationCSTPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EssentialOCLCSTPackage.eINSTANCE.eClass();
+ QVTrelationPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theQVTrelationCSTPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theQVTrelationCSTPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theQVTrelationCSTPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(QVTrelationCSTPackage.eNS_URI, theQVTrelationCSTPackage);
+ return theQVTrelationCSTPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAbstractDomainCS() {
+ return abstractDomainCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAnyElementCS() {
+ return anyElementCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCollectionTemplateCS() {
+ return collectionTemplateCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCollectionTemplateCS_MemberIdentifier() {
+ return (EReference)collectionTemplateCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCollectionTemplateCS_RestIdentifier() {
+ return (EReference)collectionTemplateCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDefaultValueCS() {
+ return defaultValueCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDefaultValueCS_Initialiser() {
+ return (EReference)defaultValueCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDefaultValueCS_PropertyId() {
+ return (EReference)defaultValueCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDomainCS() {
+ return domainCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDomainCS_Checkonly() {
+ return (EAttribute)domainCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDomainCS_Enforce() {
+ return (EAttribute)domainCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDomainCS_ModelId() {
+ return (EReference)domainCSEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDomainCS_Replace() {
+ return (EAttribute)domainCSEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDomainCS_Template() {
+ return (EReference)domainCSEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDomainCS_DefaultValue() {
+ return (EReference)domainCSEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDomainCS_ImplementedBy() {
+ return (EReference)domainCSEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getKeyDeclCS() {
+ return keyDeclCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getKeyDeclCS_PathName() {
+ return (EReference)keyDeclCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getKeyDeclCS_PropertyId() {
+ return (EReference)keyDeclCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getKeyDeclCS_ClassId() {
+ return (EReference)keyDeclCSEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getModelDeclCS() {
+ return modelDeclCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModelDeclCS_MetaModelId() {
+ return (EReference)modelDeclCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getObjectTemplateCS() {
+ return objectTemplateCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getObjectTemplateCS_PropertyTemplate() {
+ return (EReference)objectTemplateCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParamDeclarationCS() {
+ return paramDeclarationCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParamDeclarationCS_Type() {
+ return (EReference)paramDeclarationCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPrimitiveTypeDomainCS() {
+ return primitiveTypeDomainCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPrimitiveTypeDomainCS_Name() {
+ return (EAttribute)primitiveTypeDomainCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPropertyTemplateCS() {
+ return propertyTemplateCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPropertyTemplateCS_PropertyId() {
+ return (EReference)propertyTemplateCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPropertyTemplateCS_OclExpression() {
+ return (EReference)propertyTemplateCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPropertyTemplateCS_Opposite() {
+ return (EAttribute)propertyTemplateCSEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getQueryCS() {
+ return queryCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQueryCS_PathName() {
+ return (EReference)queryCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQueryCS_InputParamDeclaration() {
+ return (EReference)queryCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQueryCS_OclExpression() {
+ return (EReference)queryCSEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQueryCS_Type() {
+ return (EReference)queryCSEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRelationCS() {
+ return relationCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRelationCS_Top() {
+ return (EAttribute)relationCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRelationCS_Overrides() {
+ return (EReference)relationCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRelationCS_VarDeclaration() {
+ return (EReference)relationCSEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRelationCS_Domain() {
+ return (EReference)relationCSEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRelationCS_When() {
+ return (EReference)relationCSEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRelationCS_Where() {
+ return (EReference)relationCSEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTemplateCS() {
+ return templateCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateCS_GuardExpression() {
+ return (EReference)templateCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTemplateVariableCS() {
+ return templateVariableCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateVariableCS_Type() {
+ return (EReference)templateVariableCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateVariableCS_PropertyId() {
+ return (EReference)templateVariableCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTopLevelCS() {
+ return topLevelCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTopLevelCS_ImportClause() {
+ return (EReference)topLevelCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTopLevelCS_Transformation() {
+ return (EReference)topLevelCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTransformationCS() {
+ return transformationCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransformationCS_ModelDecl() {
+ return (EReference)transformationCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransformationCS_Extends() {
+ return (EReference)transformationCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransformationCS_KeyDecl() {
+ return (EReference)transformationCSEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransformationCS_Query() {
+ return (EReference)transformationCSEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransformationCS_Relation() {
+ return (EReference)transformationCSEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUnitCS() {
+ return unitCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUnitCS_Identifier() {
+ return (EReference)unitCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVarDeclarationCS() {
+ return varDeclarationCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVarDeclarationCS_VarDeclarationId() {
+ return (EReference)varDeclarationCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVarDeclarationCS_Type() {
+ return (EReference)varDeclarationCSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getWhenCS() {
+ return whenCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWhenCS_Expr() {
+ return (EReference)whenCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getWhereCS() {
+ return whereCSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWhereCS_Expr() {
+ return (EReference)whereCSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QVTrelationCSTFactory getQVTrelationCSTFactory() {
+ return (QVTrelationCSTFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ abstractDomainCSEClass = createEClass(ABSTRACT_DOMAIN_CS);
+
+ anyElementCSEClass = createEClass(ANY_ELEMENT_CS);
+
+ collectionTemplateCSEClass = createEClass(COLLECTION_TEMPLATE_CS);
+ createEReference(collectionTemplateCSEClass, COLLECTION_TEMPLATE_CS__MEMBER_IDENTIFIER);
+ createEReference(collectionTemplateCSEClass, COLLECTION_TEMPLATE_CS__REST_IDENTIFIER);
+
+ defaultValueCSEClass = createEClass(DEFAULT_VALUE_CS);
+ createEReference(defaultValueCSEClass, DEFAULT_VALUE_CS__INITIALISER);
+ createEReference(defaultValueCSEClass, DEFAULT_VALUE_CS__PROPERTY_ID);
+
+ domainCSEClass = createEClass(DOMAIN_CS);
+ createEAttribute(domainCSEClass, DOMAIN_CS__CHECKONLY);
+ createEAttribute(domainCSEClass, DOMAIN_CS__ENFORCE);
+ createEReference(domainCSEClass, DOMAIN_CS__MODEL_ID);
+ createEAttribute(domainCSEClass, DOMAIN_CS__REPLACE);
+ createEReference(domainCSEClass, DOMAIN_CS__TEMPLATE);
+ createEReference(domainCSEClass, DOMAIN_CS__DEFAULT_VALUE);
+ createEReference(domainCSEClass, DOMAIN_CS__IMPLEMENTED_BY);
+
+ keyDeclCSEClass = createEClass(KEY_DECL_CS);
+ createEReference(keyDeclCSEClass, KEY_DECL_CS__PATH_NAME);
+ createEReference(keyDeclCSEClass, KEY_DECL_CS__PROPERTY_ID);
+ createEReference(keyDeclCSEClass, KEY_DECL_CS__CLASS_ID);
+
+ modelDeclCSEClass = createEClass(MODEL_DECL_CS);
+ createEReference(modelDeclCSEClass, MODEL_DECL_CS__META_MODEL_ID);
+
+ objectTemplateCSEClass = createEClass(OBJECT_TEMPLATE_CS);
+ createEReference(objectTemplateCSEClass, OBJECT_TEMPLATE_CS__PROPERTY_TEMPLATE);
+
+ paramDeclarationCSEClass = createEClass(PARAM_DECLARATION_CS);
+ createEReference(paramDeclarationCSEClass, PARAM_DECLARATION_CS__TYPE);
+
+ primitiveTypeDomainCSEClass = createEClass(PRIMITIVE_TYPE_DOMAIN_CS);
+ createEAttribute(primitiveTypeDomainCSEClass, PRIMITIVE_TYPE_DOMAIN_CS__NAME);
+
+ propertyTemplateCSEClass = createEClass(PROPERTY_TEMPLATE_CS);
+ createEReference(propertyTemplateCSEClass, PROPERTY_TEMPLATE_CS__PROPERTY_ID);
+ createEReference(propertyTemplateCSEClass, PROPERTY_TEMPLATE_CS__OCL_EXPRESSION);
+ createEAttribute(propertyTemplateCSEClass, PROPERTY_TEMPLATE_CS__OPPOSITE);
+
+ queryCSEClass = createEClass(QUERY_CS);
+ createEReference(queryCSEClass, QUERY_CS__PATH_NAME);
+ createEReference(queryCSEClass, QUERY_CS__INPUT_PARAM_DECLARATION);
+ createEReference(queryCSEClass, QUERY_CS__OCL_EXPRESSION);
+ createEReference(queryCSEClass, QUERY_CS__TYPE);
+
+ relationCSEClass = createEClass(RELATION_CS);
+ createEAttribute(relationCSEClass, RELATION_CS__TOP);
+ createEReference(relationCSEClass, RELATION_CS__OVERRIDES);
+ createEReference(relationCSEClass, RELATION_CS__VAR_DECLARATION);
+ createEReference(relationCSEClass, RELATION_CS__DOMAIN);
+ createEReference(relationCSEClass, RELATION_CS__WHEN);
+ createEReference(relationCSEClass, RELATION_CS__WHERE);
+
+ templateCSEClass = createEClass(TEMPLATE_CS);
+ createEReference(templateCSEClass, TEMPLATE_CS__GUARD_EXPRESSION);
+
+ templateVariableCSEClass = createEClass(TEMPLATE_VARIABLE_CS);
+ createEReference(templateVariableCSEClass, TEMPLATE_VARIABLE_CS__TYPE);
+ createEReference(templateVariableCSEClass, TEMPLATE_VARIABLE_CS__PROPERTY_ID);
+
+ topLevelCSEClass = createEClass(TOP_LEVEL_CS);
+ createEReference(topLevelCSEClass, TOP_LEVEL_CS__IMPORT_CLAUSE);
+ createEReference(topLevelCSEClass, TOP_LEVEL_CS__TRANSFORMATION);
+
+ transformationCSEClass = createEClass(TRANSFORMATION_CS);
+ createEReference(transformationCSEClass, TRANSFORMATION_CS__MODEL_DECL);
+ createEReference(transformationCSEClass, TRANSFORMATION_CS__EXTENDS);
+ createEReference(transformationCSEClass, TRANSFORMATION_CS__KEY_DECL);
+ createEReference(transformationCSEClass, TRANSFORMATION_CS__QUERY);
+ createEReference(transformationCSEClass, TRANSFORMATION_CS__RELATION);
+
+ unitCSEClass = createEClass(UNIT_CS);
+ createEReference(unitCSEClass, UNIT_CS__IDENTIFIER);
+
+ varDeclarationCSEClass = createEClass(VAR_DECLARATION_CS);
+ createEReference(varDeclarationCSEClass, VAR_DECLARATION_CS__VAR_DECLARATION_ID);
+ createEReference(varDeclarationCSEClass, VAR_DECLARATION_CS__TYPE);
+
+ whenCSEClass = createEClass(WHEN_CS);
+ createEReference(whenCSEClass, WHEN_CS__EXPR);
+
+ whereCSEClass = createEClass(WHERE_CS);
+ createEReference(whereCSEClass, WHERE_CS__EXPR);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ BaseCSTPackage theBaseCSTPackage = (BaseCSTPackage)EPackage.Registry.INSTANCE.getEPackage(BaseCSTPackage.eNS_URI);
+ PivotPackage thePivotPackage = (PivotPackage)EPackage.Registry.INSTANCE.getEPackage(PivotPackage.eNS_URI);
+ EssentialOCLCSTPackage theEssentialOCLCSTPackage = (EssentialOCLCSTPackage)EPackage.Registry.INSTANCE.getEPackage(EssentialOCLCSTPackage.eNS_URI);
+ QVTbasePackage theQVTbasePackage = (QVTbasePackage)EPackage.Registry.INSTANCE.getEPackage(QVTbasePackage.eNS_URI);
+ QVTrelationPackage theQVTrelationPackage = (QVTrelationPackage)EPackage.Registry.INSTANCE.getEPackage(QVTrelationPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ abstractDomainCSEClass.getESuperTypes().add(theBaseCSTPackage.getModelElementCS());
+ abstractDomainCSEClass.getESuperTypes().add(thePivotPackage.getNameable());
+ anyElementCSEClass.getESuperTypes().add(theEssentialOCLCSTPackage.getExpCS());
+ collectionTemplateCSEClass.getESuperTypes().add(this.getTemplateCS());
+ defaultValueCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+ domainCSEClass.getESuperTypes().add(this.getAbstractDomainCS());
+ keyDeclCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+ modelDeclCSEClass.getESuperTypes().add(theBaseCSTPackage.getNamedElementCS());
+ objectTemplateCSEClass.getESuperTypes().add(this.getTemplateCS());
+ paramDeclarationCSEClass.getESuperTypes().add(theBaseCSTPackage.getNamedElementCS());
+ primitiveTypeDomainCSEClass.getESuperTypes().add(this.getTemplateVariableCS());
+ primitiveTypeDomainCSEClass.getESuperTypes().add(this.getAbstractDomainCS());
+ propertyTemplateCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+ queryCSEClass.getESuperTypes().add(theBaseCSTPackage.getModelElementCS());
+ queryCSEClass.getESuperTypes().add(thePivotPackage.getNameable());
+ relationCSEClass.getESuperTypes().add(theBaseCSTPackage.getNamedElementCS());
+ templateCSEClass.getESuperTypes().add(this.getTemplateVariableCS());
+ templateCSEClass.getESuperTypes().add(theEssentialOCLCSTPackage.getExpCS());
+ templateVariableCSEClass.getESuperTypes().add(theBaseCSTPackage.getModelElementCS());
+ topLevelCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+ transformationCSEClass.getESuperTypes().add(theBaseCSTPackage.getNamedElementCS());
+ unitCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+ varDeclarationCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+ whenCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+ whereCSEClass.getESuperTypes().add(theBaseCSTPackage.getElementCS());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(abstractDomainCSEClass, AbstractDomainCS.class, "AbstractDomainCS", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(anyElementCSEClass, AnyElementCS.class, "AnyElementCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(collectionTemplateCSEClass, CollectionTemplateCS.class, "CollectionTemplateCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCollectionTemplateCS_MemberIdentifier(), theEssentialOCLCSTPackage.getExpCS(), null, "memberIdentifier", null, 1, -1, CollectionTemplateCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCollectionTemplateCS_RestIdentifier(), theEssentialOCLCSTPackage.getExpCS(), null, "restIdentifier", null, 1, 1, CollectionTemplateCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(defaultValueCSEClass, DefaultValueCS.class, "DefaultValueCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDefaultValueCS_Initialiser(), theEssentialOCLCSTPackage.getExpCS(), null, "initialiser", null, 1, 1, DefaultValueCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDefaultValueCS_PropertyId(), thePivotPackage.getProperty(), null, "propertyId", null, 1, 1, DefaultValueCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(domainCSEClass, DomainCS.class, "DomainCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDomainCS_Checkonly(), ecorePackage.getEBoolean(), "checkonly", null, 0, 1, DomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDomainCS_Enforce(), ecorePackage.getEBoolean(), "enforce", null, 0, 1, DomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDomainCS_ModelId(), theQVTbasePackage.getTypedModel(), null, "modelId", null, 0, 1, DomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDomainCS_Replace(), ecorePackage.getEBoolean(), "replace", null, 0, 1, DomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDomainCS_Template(), this.getTemplateCS(), null, "template", null, 0, 1, DomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDomainCS_DefaultValue(), this.getDefaultValueCS(), null, "defaultValue", null, 0, -1, DomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDomainCS_ImplementedBy(), theEssentialOCLCSTPackage.getExpCS(), null, "implementedBy", null, 0, 1, DomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(keyDeclCSEClass, KeyDeclCS.class, "KeyDeclCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getKeyDeclCS_PathName(), theBaseCSTPackage.getPathNameCS(), null, "pathName", null, 0, 1, KeyDeclCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getKeyDeclCS_PropertyId(), thePivotPackage.getProperty(), null, "propertyId", null, 0, -1, KeyDeclCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getKeyDeclCS_ClassId(), thePivotPackage.getClass_(), null, "classId", null, 0, 1, KeyDeclCS.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+
+ initEClass(modelDeclCSEClass, ModelDeclCS.class, "ModelDeclCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getModelDeclCS_MetaModelId(), thePivotPackage.getPackage(), null, "metaModelId", null, 0, -1, ModelDeclCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(objectTemplateCSEClass, ObjectTemplateCS.class, "ObjectTemplateCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getObjectTemplateCS_PropertyTemplate(), this.getPropertyTemplateCS(), null, "propertyTemplate", null, 0, -1, ObjectTemplateCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(paramDeclarationCSEClass, ParamDeclarationCS.class, "ParamDeclarationCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getParamDeclarationCS_Type(), theBaseCSTPackage.getTypedRefCS(), null, "type", null, 0, 1, ParamDeclarationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(primitiveTypeDomainCSEClass, PrimitiveTypeDomainCS.class, "PrimitiveTypeDomainCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPrimitiveTypeDomainCS_Name(), ecorePackage.getEString(), "name", null, 0, 1, PrimitiveTypeDomainCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(propertyTemplateCSEClass, PropertyTemplateCS.class, "PropertyTemplateCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPropertyTemplateCS_PropertyId(), thePivotPackage.getProperty(), null, "propertyId", null, 0, 1, PropertyTemplateCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPropertyTemplateCS_OclExpression(), theEssentialOCLCSTPackage.getExpCS(), null, "oclExpression", null, 0, 1, PropertyTemplateCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPropertyTemplateCS_Opposite(), ecorePackage.getEBoolean(), "opposite", "false", 0, 1, PropertyTemplateCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(queryCSEClass, QueryCS.class, "QueryCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getQueryCS_PathName(), theBaseCSTPackage.getPathNameCS(), null, "pathName", null, 0, 1, QueryCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getQueryCS_InputParamDeclaration(), this.getParamDeclarationCS(), null, "inputParamDeclaration", null, 0, -1, QueryCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getQueryCS_OclExpression(), theEssentialOCLCSTPackage.getExpCS(), null, "oclExpression", null, 0, 1, QueryCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getQueryCS_Type(), theBaseCSTPackage.getTypedTypeRefCS(), null, "type", null, 0, 1, QueryCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(relationCSEClass, RelationCS.class, "RelationCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRelationCS_Top(), ecorePackage.getEBoolean(), "top", null, 0, 1, RelationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelationCS_Overrides(), theQVTrelationPackage.getRelation(), null, "overrides", null, 0, 1, RelationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelationCS_VarDeclaration(), this.getVarDeclarationCS(), null, "varDeclaration", null, 0, -1, RelationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelationCS_Domain(), this.getAbstractDomainCS(), null, "domain", null, 0, -1, RelationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelationCS_When(), this.getWhenCS(), null, "when", null, 0, 1, RelationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelationCS_Where(), this.getWhereCS(), null, "where", null, 0, 1, RelationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(templateCSEClass, TemplateCS.class, "TemplateCS", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTemplateCS_GuardExpression(), theEssentialOCLCSTPackage.getExpCS(), null, "guardExpression", null, 0, 1, TemplateCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(templateVariableCSEClass, TemplateVariableCS.class, "TemplateVariableCS", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTemplateVariableCS_Type(), theBaseCSTPackage.getTypedTypeRefCS(), null, "type", null, 0, 1, TemplateVariableCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTemplateVariableCS_PropertyId(), thePivotPackage.getProperty(), null, "propertyId", null, 0, 1, TemplateVariableCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(topLevelCSEClass, TopLevelCS.class, "TopLevelCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTopLevelCS_ImportClause(), this.getUnitCS(), null, "importClause", null, 0, -1, TopLevelCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTopLevelCS_Transformation(), this.getTransformationCS(), null, "transformation", null, 0, -1, TopLevelCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(transformationCSEClass, TransformationCS.class, "TransformationCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTransformationCS_ModelDecl(), this.getModelDeclCS(), null, "modelDecl", null, 0, -1, TransformationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTransformationCS_Extends(), theQVTbasePackage.getTransformation(), null, "extends", null, 0, -1, TransformationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTransformationCS_KeyDecl(), this.getKeyDeclCS(), null, "keyDecl", null, 0, -1, TransformationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTransformationCS_Query(), this.getQueryCS(), null, "query", null, 0, -1, TransformationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTransformationCS_Relation(), this.getRelationCS(), null, "relation", null, 0, -1, TransformationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(unitCSEClass, UnitCS.class, "UnitCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getUnitCS_Identifier(), thePivotPackage.getElement(), null, "identifier", null, 1, -1, UnitCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(varDeclarationCSEClass, VarDeclarationCS.class, "VarDeclarationCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVarDeclarationCS_VarDeclarationId(), thePivotPackage.getProperty(), null, "varDeclarationId", null, 0, -1, VarDeclarationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getVarDeclarationCS_Type(), theBaseCSTPackage.getTypedTypeRefCS(), null, "type", null, 0, 1, VarDeclarationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(whenCSEClass, WhenCS.class, "WhenCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getWhenCS_Expr(), theEssentialOCLCSTPackage.getExpCS(), null, "expr", null, 1, -1, WhenCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(whereCSEClass, WhereCS.class, "WhereCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getWhereCS_Expr(), theEssentialOCLCSTPackage.getExpCS(), null, "expr", null, 1, -1, WhereCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //QVTrelationCSTPackageImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QueryCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QueryCSImpl.java
new file mode 100644
index 000000000..20a6299cd
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/QueryCSImpl.java
@@ -0,0 +1,378 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.baseCST.PathNameCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedTypeRefCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ModelElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Query CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl#getPathName <em>Path Name</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl#getInputParamDeclaration <em>Input Param Declaration</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl#getOclExpression <em>Ocl Expression</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.QueryCSImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class QueryCSImpl extends ModelElementCSImpl implements QueryCS {
+ /**
+ * The cached value of the '{@link #getPathName() <em>Path Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPathName()
+ * @generated
+ * @ordered
+ */
+ protected PathNameCS pathName;
+
+ /**
+ * The cached value of the '{@link #getInputParamDeclaration() <em>Input Param Declaration</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputParamDeclaration()
+ * @generated
+ * @ordered
+ */
+ protected EList<ParamDeclarationCS> inputParamDeclaration;
+
+ /**
+ * The cached value of the '{@link #getOclExpression() <em>Ocl Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOclExpression()
+ * @generated
+ * @ordered
+ */
+ protected ExpCS oclExpression;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected TypedTypeRefCS type;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QueryCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.QUERY_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PathNameCS getPathName() {
+ return pathName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPathName(PathNameCS newPathName, NotificationChain msgs) {
+ PathNameCS oldPathName = pathName;
+ pathName = newPathName;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.QUERY_CS__PATH_NAME, oldPathName, newPathName);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPathName(PathNameCS newPathName) {
+ if (newPathName != pathName) {
+ NotificationChain msgs = null;
+ if (pathName != null)
+ msgs = ((InternalEObject)pathName).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.QUERY_CS__PATH_NAME, null, msgs);
+ if (newPathName != null)
+ msgs = ((InternalEObject)newPathName).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.QUERY_CS__PATH_NAME, null, msgs);
+ msgs = basicSetPathName(newPathName, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.QUERY_CS__PATH_NAME, newPathName, newPathName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ParamDeclarationCS> getInputParamDeclaration() {
+ if (inputParamDeclaration == null) {
+ inputParamDeclaration = new EObjectContainmentEList<ParamDeclarationCS>(ParamDeclarationCS.class, this, QVTrelationCSTPackage.QUERY_CS__INPUT_PARAM_DECLARATION);
+ }
+ return inputParamDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpCS getOclExpression() {
+ return oclExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOclExpression(ExpCS newOclExpression, NotificationChain msgs) {
+ ExpCS oldOclExpression = oclExpression;
+ oclExpression = newOclExpression;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION, oldOclExpression, newOclExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOclExpression(ExpCS newOclExpression) {
+ if (newOclExpression != oclExpression) {
+ NotificationChain msgs = null;
+ if (oclExpression != null)
+ msgs = ((InternalEObject)oclExpression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION, null, msgs);
+ if (newOclExpression != null)
+ msgs = ((InternalEObject)newOclExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION, null, msgs);
+ msgs = basicSetOclExpression(newOclExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION, newOclExpression, newOclExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedTypeRefCS getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetType(TypedTypeRefCS newType, NotificationChain msgs) {
+ TypedTypeRefCS oldType = type;
+ type = newType;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.QUERY_CS__TYPE, oldType, newType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(TypedTypeRefCS newType) {
+ if (newType != type) {
+ NotificationChain msgs = null;
+ if (type != null)
+ msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.QUERY_CS__TYPE, null, msgs);
+ if (newType != null)
+ msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.QUERY_CS__TYPE, null, msgs);
+ msgs = basicSetType(newType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.QUERY_CS__TYPE, newType, newType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.QUERY_CS__PATH_NAME:
+ return basicSetPathName(null, msgs);
+ case QVTrelationCSTPackage.QUERY_CS__INPUT_PARAM_DECLARATION:
+ return ((InternalEList<?>)getInputParamDeclaration()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION:
+ return basicSetOclExpression(null, msgs);
+ case QVTrelationCSTPackage.QUERY_CS__TYPE:
+ return basicSetType(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.QUERY_CS__PATH_NAME:
+ return getPathName();
+ case QVTrelationCSTPackage.QUERY_CS__INPUT_PARAM_DECLARATION:
+ return getInputParamDeclaration();
+ case QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION:
+ return getOclExpression();
+ case QVTrelationCSTPackage.QUERY_CS__TYPE:
+ return getType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.QUERY_CS__PATH_NAME:
+ setPathName((PathNameCS)newValue);
+ return;
+ case QVTrelationCSTPackage.QUERY_CS__INPUT_PARAM_DECLARATION:
+ getInputParamDeclaration().clear();
+ getInputParamDeclaration().addAll((Collection<? extends ParamDeclarationCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION:
+ setOclExpression((ExpCS)newValue);
+ return;
+ case QVTrelationCSTPackage.QUERY_CS__TYPE:
+ setType((TypedTypeRefCS)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.QUERY_CS__PATH_NAME:
+ setPathName((PathNameCS)null);
+ return;
+ case QVTrelationCSTPackage.QUERY_CS__INPUT_PARAM_DECLARATION:
+ getInputParamDeclaration().clear();
+ return;
+ case QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION:
+ setOclExpression((ExpCS)null);
+ return;
+ case QVTrelationCSTPackage.QUERY_CS__TYPE:
+ setType((TypedTypeRefCS)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.QUERY_CS__PATH_NAME:
+ return pathName != null;
+ case QVTrelationCSTPackage.QUERY_CS__INPUT_PARAM_DECLARATION:
+ return inputParamDeclaration != null && !inputParamDeclaration.isEmpty();
+ case QVTrelationCSTPackage.QUERY_CS__OCL_EXPRESSION:
+ return oclExpression != null;
+ case QVTrelationCSTPackage.QUERY_CS__TYPE:
+ return type != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitQueryCS(this);
+ }
+
+ public String getName() {
+// if ((pathName != null) && !pathName.eIsProxy()) {
+// return pathName.getName();
+// }
+ return "null";
+ }
+} //QueryCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/RelationCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/RelationCSImpl.java
new file mode 100644
index 000000000..ab0d58845
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/RelationCSImpl.java
@@ -0,0 +1,464 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.NamedElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.pivot.qvtrelation.Relation;
+import org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Relation CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl#isTop <em>Top</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl#getOverrides <em>Overrides</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl#getVarDeclaration <em>Var Declaration</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl#getDomain <em>Domain</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl#getWhen <em>When</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.RelationCSImpl#getWhere <em>Where</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RelationCSImpl extends NamedElementCSImpl implements RelationCS {
+ /**
+ * The default value of the '{@link #isTop() <em>Top</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isTop()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean TOP_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isTop() <em>Top</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isTop()
+ * @generated
+ * @ordered
+ */
+ protected boolean top = TOP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getOverrides() <em>Overrides</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOverrides()
+ * @generated
+ * @ordered
+ */
+ protected Relation overrides;
+
+ /**
+ * The cached value of the '{@link #getVarDeclaration() <em>Var Declaration</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVarDeclaration()
+ * @generated
+ * @ordered
+ */
+ protected EList<VarDeclarationCS> varDeclaration;
+
+ /**
+ * The cached value of the '{@link #getDomain() <em>Domain</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDomain()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractDomainCS> domain;
+
+ /**
+ * The cached value of the '{@link #getWhen() <em>When</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWhen()
+ * @generated
+ * @ordered
+ */
+ protected WhenCS when;
+
+ /**
+ * The cached value of the '{@link #getWhere() <em>Where</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWhere()
+ * @generated
+ * @ordered
+ */
+ protected WhereCS where;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RelationCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.RELATION_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTop() {
+ return top;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTop(boolean newTop) {
+ boolean oldTop = top;
+ top = newTop;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.RELATION_CS__TOP, oldTop, top));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Relation getOverrides() {
+ if (overrides != null && overrides.eIsProxy()) {
+ InternalEObject oldOverrides = (InternalEObject)overrides;
+ overrides = (Relation)eResolveProxy(oldOverrides);
+ if (overrides != oldOverrides) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, QVTrelationCSTPackage.RELATION_CS__OVERRIDES, oldOverrides, overrides));
+ }
+ }
+ return overrides;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Relation basicGetOverrides() {
+ return overrides;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOverrides(Relation newOverrides) {
+ Relation oldOverrides = overrides;
+ overrides = newOverrides;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.RELATION_CS__OVERRIDES, oldOverrides, overrides));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VarDeclarationCS> getVarDeclaration() {
+ if (varDeclaration == null) {
+ varDeclaration = new EObjectContainmentEList<VarDeclarationCS>(VarDeclarationCS.class, this, QVTrelationCSTPackage.RELATION_CS__VAR_DECLARATION);
+ }
+ return varDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AbstractDomainCS> getDomain() {
+ if (domain == null) {
+ domain = new EObjectContainmentEList<AbstractDomainCS>(AbstractDomainCS.class, this, QVTrelationCSTPackage.RELATION_CS__DOMAIN);
+ }
+ return domain;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WhenCS getWhen() {
+ return when;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetWhen(WhenCS newWhen, NotificationChain msgs) {
+ WhenCS oldWhen = when;
+ when = newWhen;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.RELATION_CS__WHEN, oldWhen, newWhen);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWhen(WhenCS newWhen) {
+ if (newWhen != when) {
+ NotificationChain msgs = null;
+ if (when != null)
+ msgs = ((InternalEObject)when).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.RELATION_CS__WHEN, null, msgs);
+ if (newWhen != null)
+ msgs = ((InternalEObject)newWhen).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.RELATION_CS__WHEN, null, msgs);
+ msgs = basicSetWhen(newWhen, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.RELATION_CS__WHEN, newWhen, newWhen));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WhereCS getWhere() {
+ return where;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetWhere(WhereCS newWhere, NotificationChain msgs) {
+ WhereCS oldWhere = where;
+ where = newWhere;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.RELATION_CS__WHERE, oldWhere, newWhere);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWhere(WhereCS newWhere) {
+ if (newWhere != where) {
+ NotificationChain msgs = null;
+ if (where != null)
+ msgs = ((InternalEObject)where).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.RELATION_CS__WHERE, null, msgs);
+ if (newWhere != null)
+ msgs = ((InternalEObject)newWhere).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.RELATION_CS__WHERE, null, msgs);
+ msgs = basicSetWhere(newWhere, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.RELATION_CS__WHERE, newWhere, newWhere));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.RELATION_CS__VAR_DECLARATION:
+ return ((InternalEList<?>)getVarDeclaration()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.RELATION_CS__DOMAIN:
+ return ((InternalEList<?>)getDomain()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.RELATION_CS__WHEN:
+ return basicSetWhen(null, msgs);
+ case QVTrelationCSTPackage.RELATION_CS__WHERE:
+ return basicSetWhere(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.RELATION_CS__TOP:
+ return isTop();
+ case QVTrelationCSTPackage.RELATION_CS__OVERRIDES:
+ if (resolve) return getOverrides();
+ return basicGetOverrides();
+ case QVTrelationCSTPackage.RELATION_CS__VAR_DECLARATION:
+ return getVarDeclaration();
+ case QVTrelationCSTPackage.RELATION_CS__DOMAIN:
+ return getDomain();
+ case QVTrelationCSTPackage.RELATION_CS__WHEN:
+ return getWhen();
+ case QVTrelationCSTPackage.RELATION_CS__WHERE:
+ return getWhere();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.RELATION_CS__TOP:
+ setTop((Boolean)newValue);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__OVERRIDES:
+ setOverrides((Relation)newValue);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__VAR_DECLARATION:
+ getVarDeclaration().clear();
+ getVarDeclaration().addAll((Collection<? extends VarDeclarationCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__DOMAIN:
+ getDomain().clear();
+ getDomain().addAll((Collection<? extends AbstractDomainCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__WHEN:
+ setWhen((WhenCS)newValue);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__WHERE:
+ setWhere((WhereCS)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.RELATION_CS__TOP:
+ setTop(TOP_EDEFAULT);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__OVERRIDES:
+ setOverrides((Relation)null);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__VAR_DECLARATION:
+ getVarDeclaration().clear();
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__DOMAIN:
+ getDomain().clear();
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__WHEN:
+ setWhen((WhenCS)null);
+ return;
+ case QVTrelationCSTPackage.RELATION_CS__WHERE:
+ setWhere((WhereCS)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.RELATION_CS__TOP:
+ return top != TOP_EDEFAULT;
+ case QVTrelationCSTPackage.RELATION_CS__OVERRIDES:
+ return overrides != null;
+ case QVTrelationCSTPackage.RELATION_CS__VAR_DECLARATION:
+ return varDeclaration != null && !varDeclaration.isEmpty();
+ case QVTrelationCSTPackage.RELATION_CS__DOMAIN:
+ return domain != null && !domain.isEmpty();
+ case QVTrelationCSTPackage.RELATION_CS__WHEN:
+ return when != null;
+ case QVTrelationCSTPackage.RELATION_CS__WHERE:
+ return where != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public String toString() {
+ return super.toString();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitRelationCS(this);
+ }
+} //RelationCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateCSImpl.java
new file mode 100644
index 000000000..53b349816
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateCSImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.EssentialOCLCSTPackage;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.OperatorCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Template CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateCSImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateCSImpl#getGuardExpression <em>Guard Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class TemplateCSImpl extends TemplateVariableCSImpl implements TemplateCS {
+ /**
+ * The cached value of the '{@link #getParent() <em>Parent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParent()
+ * @generated
+ * @ordered
+ */
+ protected OperatorCS parent;
+
+ /**
+ * The cached value of the '{@link #getGuardExpression() <em>Guard Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGuardExpression()
+ * @generated
+ * @ordered
+ */
+ protected ExpCS guardExpression;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemplateCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.TEMPLATE_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperatorCS getParent() {
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(OperatorCS newParent) {
+ OperatorCS oldParent = parent;
+ parent = newParent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.TEMPLATE_CS__PARENT, oldParent, parent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpCS getGuardExpression() {
+ return guardExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetGuardExpression(ExpCS newGuardExpression, NotificationChain msgs) {
+ ExpCS oldGuardExpression = guardExpression;
+ guardExpression = newGuardExpression;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION, oldGuardExpression, newGuardExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGuardExpression(ExpCS newGuardExpression) {
+ if (newGuardExpression != guardExpression) {
+ NotificationChain msgs = null;
+ if (guardExpression != null)
+ msgs = ((InternalEObject)guardExpression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION, null, msgs);
+ if (newGuardExpression != null)
+ msgs = ((InternalEObject)newGuardExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION, null, msgs);
+ msgs = basicSetGuardExpression(newGuardExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION, newGuardExpression, newGuardExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION:
+ return basicSetGuardExpression(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_CS__PARENT:
+ return getParent();
+ case QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION:
+ return getGuardExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_CS__PARENT:
+ setParent((OperatorCS)newValue);
+ return;
+ case QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION:
+ setGuardExpression((ExpCS)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_CS__PARENT:
+ setParent((OperatorCS)null);
+ return;
+ case QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION:
+ setGuardExpression((ExpCS)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_CS__PARENT:
+ return parent != null;
+ case QVTrelationCSTPackage.TEMPLATE_CS__GUARD_EXPRESSION:
+ return guardExpression != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ExpCS.class) {
+ switch (derivedFeatureID) {
+ case QVTrelationCSTPackage.TEMPLATE_CS__PARENT: return EssentialOCLCSTPackage.EXP_CS__PARENT;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == ExpCS.class) {
+ switch (baseFeatureID) {
+ case EssentialOCLCSTPackage.EXP_CS__PARENT: return QVTrelationCSTPackage.TEMPLATE_CS__PARENT;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitTemplateCS(this);
+ }
+} //TemplateCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateVariableCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateVariableCSImpl.java
new file mode 100644
index 000000000..9487f53d4
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TemplateVariableCSImpl.java
@@ -0,0 +1,256 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.ocl.examples.pivot.Property;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedTypeRefCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ModelElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Template Variable CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateVariableCSImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TemplateVariableCSImpl#getPropertyId <em>Property Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class TemplateVariableCSImpl extends ModelElementCSImpl implements TemplateVariableCS {
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected TypedTypeRefCS type;
+
+ /**
+ * The cached value of the '{@link #getPropertyId() <em>Property Id</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPropertyId()
+ * @generated
+ * @ordered
+ */
+ protected Property propertyId;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemplateVariableCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.TEMPLATE_VARIABLE_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedTypeRefCS getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetType(TypedTypeRefCS newType, NotificationChain msgs) {
+ TypedTypeRefCS oldType = type;
+ type = newType;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE, oldType, newType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(TypedTypeRefCS newType) {
+ if (newType != type) {
+ NotificationChain msgs = null;
+ if (type != null)
+ msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE, null, msgs);
+ if (newType != null)
+ msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE, null, msgs);
+ msgs = basicSetType(newType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE, newType, newType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getPropertyId() {
+ if (propertyId != null && ((EObject)propertyId).eIsProxy()) {
+ InternalEObject oldPropertyId = (InternalEObject)propertyId;
+ propertyId = (Property)eResolveProxy(oldPropertyId);
+ if (propertyId != oldPropertyId) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__PROPERTY_ID, oldPropertyId, propertyId));
+ }
+ }
+ return propertyId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetPropertyId() {
+ return propertyId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPropertyId(Property newPropertyId) {
+ Property oldPropertyId = propertyId;
+ propertyId = newPropertyId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__PROPERTY_ID, oldPropertyId, propertyId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE:
+ return basicSetType(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE:
+ return getType();
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__PROPERTY_ID:
+ if (resolve) return getPropertyId();
+ return basicGetPropertyId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE:
+ setType((TypedTypeRefCS)newValue);
+ return;
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__PROPERTY_ID:
+ setPropertyId((Property)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE:
+ setType((TypedTypeRefCS)null);
+ return;
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__PROPERTY_ID:
+ setPropertyId((Property)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__TYPE:
+ return type != null;
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS__PROPERTY_ID:
+ return propertyId != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitTemplateVariableCS(this);
+ }
+} //TemplateVariableCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TopLevelCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TopLevelCSImpl.java
new file mode 100644
index 000000000..8b3e78fdb
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TopLevelCSImpl.java
@@ -0,0 +1,205 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Top Level CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TopLevelCSImpl#getImportClause <em>Import Clause</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TopLevelCSImpl#getTransformation <em>Transformation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TopLevelCSImpl extends ElementCSImpl implements TopLevelCS {
+ /**
+ * The cached value of the '{@link #getImportClause() <em>Import Clause</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImportClause()
+ * @generated
+ * @ordered
+ */
+ protected EList<UnitCS> importClause;
+
+ /**
+ * The cached value of the '{@link #getTransformation() <em>Transformation</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTransformation()
+ * @generated
+ * @ordered
+ */
+ protected EList<TransformationCS> transformation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TopLevelCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.TOP_LEVEL_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UnitCS> getImportClause() {
+ if (importClause == null) {
+ importClause = new EObjectContainmentEList<UnitCS>(UnitCS.class, this, QVTrelationCSTPackage.TOP_LEVEL_CS__IMPORT_CLAUSE);
+ }
+ return importClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TransformationCS> getTransformation() {
+ if (transformation == null) {
+ transformation = new EObjectContainmentEList<TransformationCS>(TransformationCS.class, this, QVTrelationCSTPackage.TOP_LEVEL_CS__TRANSFORMATION);
+ }
+ return transformation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__IMPORT_CLAUSE:
+ return ((InternalEList<?>)getImportClause()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__TRANSFORMATION:
+ return ((InternalEList<?>)getTransformation()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__IMPORT_CLAUSE:
+ return getImportClause();
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__TRANSFORMATION:
+ return getTransformation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__IMPORT_CLAUSE:
+ getImportClause().clear();
+ getImportClause().addAll((Collection<? extends UnitCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__TRANSFORMATION:
+ getTransformation().clear();
+ getTransformation().addAll((Collection<? extends TransformationCS>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__IMPORT_CLAUSE:
+ getImportClause().clear();
+ return;
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__TRANSFORMATION:
+ getTransformation().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__IMPORT_CLAUSE:
+ return importClause != null && !importClause.isEmpty();
+ case QVTrelationCSTPackage.TOP_LEVEL_CS__TRANSFORMATION:
+ return transformation != null && !transformation.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitTopLevelCS(this);
+ }
+} //TopLevelCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TransformationCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TransformationCSImpl.java
new file mode 100644
index 000000000..8c832cb28
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/TransformationCSImpl.java
@@ -0,0 +1,315 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.NamedElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.pivot.qvtbase.Transformation;
+import org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Transformation CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl#getModelDecl <em>Model Decl</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl#getExtends <em>Extends</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl#getKeyDecl <em>Key Decl</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl#getQuery <em>Query</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.TransformationCSImpl#getRelation <em>Relation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TransformationCSImpl extends NamedElementCSImpl implements TransformationCS {
+ /**
+ * The cached value of the '{@link #getModelDecl() <em>Model Decl</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getModelDecl()
+ * @generated
+ * @ordered
+ */
+ protected EList<ModelDeclCS> modelDecl;
+
+ /**
+ * The cached value of the '{@link #getExtends() <em>Extends</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtends()
+ * @generated
+ * @ordered
+ */
+ protected EList<Transformation> extends_;
+
+ /**
+ * The cached value of the '{@link #getKeyDecl() <em>Key Decl</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKeyDecl()
+ * @generated
+ * @ordered
+ */
+ protected EList<KeyDeclCS> keyDecl;
+
+ /**
+ * The cached value of the '{@link #getQuery() <em>Query</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuery()
+ * @generated
+ * @ordered
+ */
+ protected EList<QueryCS> query;
+
+ /**
+ * The cached value of the '{@link #getRelation() <em>Relation</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRelation()
+ * @generated
+ * @ordered
+ */
+ protected EList<RelationCS> relation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TransformationCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.TRANSFORMATION_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ModelDeclCS> getModelDecl() {
+ if (modelDecl == null) {
+ modelDecl = new EObjectContainmentEList<ModelDeclCS>(ModelDeclCS.class, this, QVTrelationCSTPackage.TRANSFORMATION_CS__MODEL_DECL);
+ }
+ return modelDecl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Transformation> getExtends() {
+ if (extends_ == null) {
+ extends_ = new EObjectResolvingEList<Transformation>(Transformation.class, this, QVTrelationCSTPackage.TRANSFORMATION_CS__EXTENDS);
+ }
+ return extends_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<KeyDeclCS> getKeyDecl() {
+ if (keyDecl == null) {
+ keyDecl = new EObjectContainmentEList<KeyDeclCS>(KeyDeclCS.class, this, QVTrelationCSTPackage.TRANSFORMATION_CS__KEY_DECL);
+ }
+ return keyDecl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<QueryCS> getQuery() {
+ if (query == null) {
+ query = new EObjectContainmentEList<QueryCS>(QueryCS.class, this, QVTrelationCSTPackage.TRANSFORMATION_CS__QUERY);
+ }
+ return query;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RelationCS> getRelation() {
+ if (relation == null) {
+ relation = new EObjectContainmentEList<RelationCS>(RelationCS.class, this, QVTrelationCSTPackage.TRANSFORMATION_CS__RELATION);
+ }
+ return relation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__MODEL_DECL:
+ return ((InternalEList<?>)getModelDecl()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__KEY_DECL:
+ return ((InternalEList<?>)getKeyDecl()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__QUERY:
+ return ((InternalEList<?>)getQuery()).basicRemove(otherEnd, msgs);
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__RELATION:
+ return ((InternalEList<?>)getRelation()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__MODEL_DECL:
+ return getModelDecl();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__EXTENDS:
+ return getExtends();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__KEY_DECL:
+ return getKeyDecl();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__QUERY:
+ return getQuery();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__RELATION:
+ return getRelation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__MODEL_DECL:
+ getModelDecl().clear();
+ getModelDecl().addAll((Collection<? extends ModelDeclCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__EXTENDS:
+ getExtends().clear();
+ getExtends().addAll((Collection<? extends Transformation>)newValue);
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__KEY_DECL:
+ getKeyDecl().clear();
+ getKeyDecl().addAll((Collection<? extends KeyDeclCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__QUERY:
+ getQuery().clear();
+ getQuery().addAll((Collection<? extends QueryCS>)newValue);
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__RELATION:
+ getRelation().clear();
+ getRelation().addAll((Collection<? extends RelationCS>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__MODEL_DECL:
+ getModelDecl().clear();
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__EXTENDS:
+ getExtends().clear();
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__KEY_DECL:
+ getKeyDecl().clear();
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__QUERY:
+ getQuery().clear();
+ return;
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__RELATION:
+ getRelation().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__MODEL_DECL:
+ return modelDecl != null && !modelDecl.isEmpty();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__EXTENDS:
+ return extends_ != null && !extends_.isEmpty();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__KEY_DECL:
+ return keyDecl != null && !keyDecl.isEmpty();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__QUERY:
+ return query != null && !query.isEmpty();
+ case QVTrelationCSTPackage.TRANSFORMATION_CS__RELATION:
+ return relation != null && !relation.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitTransformationCS(this);
+ }
+} //TransformationCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/UnitCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/UnitCSImpl.java
new file mode 100644
index 000000000..5692adfe3
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/UnitCSImpl.java
@@ -0,0 +1,151 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.ocl.examples.pivot.Element;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unit CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.UnitCSImpl#getIdentifier <em>Identifier</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UnitCSImpl extends ElementCSImpl implements UnitCS {
+ /**
+ * The cached value of the '{@link #getIdentifier() <em>Identifier</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIdentifier()
+ * @generated
+ * @ordered
+ */
+ protected EList<Element> identifier;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UnitCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.UNIT_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getIdentifier() {
+ if (identifier == null) {
+ identifier = new EObjectResolvingEList<Element>(Element.class, this, QVTrelationCSTPackage.UNIT_CS__IDENTIFIER);
+ }
+ return identifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.UNIT_CS__IDENTIFIER:
+ return getIdentifier();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.UNIT_CS__IDENTIFIER:
+ getIdentifier().clear();
+ getIdentifier().addAll((Collection<? extends Element>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.UNIT_CS__IDENTIFIER:
+ getIdentifier().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.UNIT_CS__IDENTIFIER:
+ return identifier != null && !identifier.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitUnitCS(this);
+ }
+} //UnitCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/VarDeclarationCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/VarDeclarationCSImpl.java
new file mode 100644
index 000000000..97bdaa35f
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/VarDeclarationCSImpl.java
@@ -0,0 +1,234 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.ocl.examples.pivot.Property;
+import org.eclipse.ocl.examples.xtext.base.baseCST.TypedTypeRefCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Var Declaration CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.VarDeclarationCSImpl#getVarDeclarationId <em>Var Declaration Id</em>}</li>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.VarDeclarationCSImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VarDeclarationCSImpl extends ElementCSImpl implements VarDeclarationCS {
+ /**
+ * The cached value of the '{@link #getVarDeclarationId() <em>Var Declaration Id</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVarDeclarationId()
+ * @generated
+ * @ordered
+ */
+ protected EList<Property> varDeclarationId;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected TypedTypeRefCS type;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VarDeclarationCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.VAR_DECLARATION_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Property> getVarDeclarationId() {
+ if (varDeclarationId == null) {
+ varDeclarationId = new EObjectResolvingEList<Property>(Property.class, this, QVTrelationCSTPackage.VAR_DECLARATION_CS__VAR_DECLARATION_ID);
+ }
+ return varDeclarationId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedTypeRefCS getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetType(TypedTypeRefCS newType, NotificationChain msgs) {
+ TypedTypeRefCS oldType = type;
+ type = newType;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE, oldType, newType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(TypedTypeRefCS newType) {
+ if (newType != type) {
+ NotificationChain msgs = null;
+ if (type != null)
+ msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE, null, msgs);
+ if (newType != null)
+ msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE, null, msgs);
+ msgs = basicSetType(newType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE, newType, newType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE:
+ return basicSetType(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__VAR_DECLARATION_ID:
+ return getVarDeclarationId();
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE:
+ return getType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__VAR_DECLARATION_ID:
+ getVarDeclarationId().clear();
+ getVarDeclarationId().addAll((Collection<? extends Property>)newValue);
+ return;
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE:
+ setType((TypedTypeRefCS)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__VAR_DECLARATION_ID:
+ getVarDeclarationId().clear();
+ return;
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE:
+ setType((TypedTypeRefCS)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__VAR_DECLARATION_ID:
+ return varDeclarationId != null && !varDeclarationId.isEmpty();
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS__TYPE:
+ return type != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitVarDeclarationCS(this);
+ }
+} //VarDeclarationCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhenCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhenCSImpl.java
new file mode 100644
index 000000000..efc0ce88b
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhenCSImpl.java
@@ -0,0 +1,168 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>When CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhenCSImpl#getExpr <em>Expr</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class WhenCSImpl extends ElementCSImpl implements WhenCS {
+ /**
+ * The cached value of the '{@link #getExpr() <em>Expr</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpr()
+ * @generated
+ * @ordered
+ */
+ protected EList<ExpCS> expr;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected WhenCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.WHEN_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ExpCS> getExpr() {
+ if (expr == null) {
+ expr = new EObjectContainmentEList<ExpCS>(ExpCS.class, this, QVTrelationCSTPackage.WHEN_CS__EXPR);
+ }
+ return expr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHEN_CS__EXPR:
+ return ((InternalEList<?>)getExpr()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHEN_CS__EXPR:
+ return getExpr();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHEN_CS__EXPR:
+ getExpr().clear();
+ getExpr().addAll((Collection<? extends ExpCS>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHEN_CS__EXPR:
+ getExpr().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHEN_CS__EXPR:
+ return expr != null && !expr.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitWhenCS(this);
+ }
+} //WhenCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhereCSImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhereCSImpl.java
new file mode 100644
index 000000000..5856ecffd
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/impl/WhereCSImpl.java
@@ -0,0 +1,168 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.ocl.examples.xtext.base.baseCST.impl.ElementCSImpl;
+import org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+import org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS;
+import org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSVisitor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Where CS</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.qvtd.xtext.qvtrelationcst.impl.WhereCSImpl#getExpr <em>Expr</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class WhereCSImpl extends ElementCSImpl implements WhereCS {
+ /**
+ * The cached value of the '{@link #getExpr() <em>Expr</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpr()
+ * @generated
+ * @ordered
+ */
+ protected EList<ExpCS> expr;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected WhereCSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return QVTrelationCSTPackage.Literals.WHERE_CS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ExpCS> getExpr() {
+ if (expr == null) {
+ expr = new EObjectContainmentEList<ExpCS>(ExpCS.class, this, QVTrelationCSTPackage.WHERE_CS__EXPR);
+ }
+ return expr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHERE_CS__EXPR:
+ return ((InternalEList<?>)getExpr()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHERE_CS__EXPR:
+ return getExpr();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHERE_CS__EXPR:
+ getExpr().clear();
+ getExpr().addAll((Collection<? extends ExpCS>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHERE_CS__EXPR:
+ getExpr().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case QVTrelationCSTPackage.WHERE_CS__EXPR:
+ return expr != null && !expr.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <R, C> R accept(BaseCSVisitor<R, C> visitor) {
+ return (R) visitor.getAdapter(QVTrelationCSVisitor.class).visitWhereCS(this);
+ }
+} //WhereCSImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractDelegatingQVTrelationCSVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractDelegatingQVTrelationCSVisitor.java
new file mode 100644
index 000000000..276bb3519
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractDelegatingQVTrelationCSVisitor.java
@@ -0,0 +1,127 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010,2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: /org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
+ * by: org.eclipse.ocl.examples.build.acceleo.GenerateVisitor
+ * defined by: org.eclipse.ocl.examples.build.acceleo.generateVisitors.mtl
+ * invoked by: org.eclipse.ocl.examples.build.utilities.*
+ * from: org.eclipse.ocl.examples.build.*.mwe2
+ *
+ * Do not edit it.
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+/**
+ * An AbstractDelegatingQVTrelationCSVisitor delegates all visits.
+ */
+public abstract class AbstractDelegatingQVTrelationCSVisitor<R, C, D extends QVTrelationCSVisitor<R, C>>
+ extends org.eclipse.ocl.examples.xtext.essentialocl.util.AbstractDelegatingEssentialOCLCSVisitor<R, C, D>
+ implements QVTrelationCSVisitor<R, C>
+{
+ protected AbstractDelegatingQVTrelationCSVisitor(D delegate, C context) {
+ super(delegate, context);
+ }
+
+ @Override
+ public R visiting(org.eclipse.ocl.examples.xtext.base.util.VisitableCS visitable) {
+ return delegate.visiting(visitable);
+ }
+
+ public R visitAbstractDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS object) {
+ return delegate.visitAbstractDomainCS(object);
+ }
+
+ public R visitAnyElementCS(org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS object) {
+ return delegate.visitAnyElementCS(object);
+ }
+
+ public R visitCollectionTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS object) {
+ return delegate.visitCollectionTemplateCS(object);
+ }
+
+ public R visitDefaultValueCS(org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS object) {
+ return delegate.visitDefaultValueCS(object);
+ }
+
+ public R visitDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS object) {
+ return delegate.visitDomainCS(object);
+ }
+
+ public R visitKeyDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS object) {
+ return delegate.visitKeyDeclCS(object);
+ }
+
+ public R visitModelDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS object) {
+ return delegate.visitModelDeclCS(object);
+ }
+
+ public R visitObjectTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS object) {
+ return delegate.visitObjectTemplateCS(object);
+ }
+
+ public R visitParamDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS object) {
+ return delegate.visitParamDeclarationCS(object);
+ }
+
+ public R visitPrimitiveTypeDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS object) {
+ return delegate.visitPrimitiveTypeDomainCS(object);
+ }
+
+ public R visitPropertyTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS object) {
+ return delegate.visitPropertyTemplateCS(object);
+ }
+
+ public R visitQueryCS(org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS object) {
+ return delegate.visitQueryCS(object);
+ }
+
+ public R visitRelationCS(org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS object) {
+ return delegate.visitRelationCS(object);
+ }
+
+ public R visitTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS object) {
+ return delegate.visitTemplateCS(object);
+ }
+
+ public R visitTemplateVariableCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS object) {
+ return delegate.visitTemplateVariableCS(object);
+ }
+
+ public R visitTopLevelCS(org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS object) {
+ return delegate.visitTopLevelCS(object);
+ }
+
+ public R visitTransformationCS(org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS object) {
+ return delegate.visitTransformationCS(object);
+ }
+
+ public R visitUnitCS(org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS object) {
+ return delegate.visitUnitCS(object);
+ }
+
+ public R visitVarDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS object) {
+ return delegate.visitVarDeclarationCS(object);
+ }
+
+ public R visitWhenCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS object) {
+ return delegate.visitWhenCS(object);
+ }
+
+ public R visitWhereCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS object) {
+ return delegate.visitWhereCS(object);
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingDelegatingQVTrelationCSVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingDelegatingQVTrelationCSVisitor.java
new file mode 100644
index 000000000..82b80ea8a
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingDelegatingQVTrelationCSVisitor.java
@@ -0,0 +1,130 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010,2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: /org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
+ * by: org.eclipse.ocl.examples.build.acceleo.GenerateVisitor
+ * defined by: org.eclipse.ocl.examples.build.acceleo.generateVisitors.mtl
+ * invoked by: org.eclipse.ocl.examples.build.utilities.*
+ * from: org.eclipse.ocl.examples.build.*.mwe2
+ *
+ * Do not edit it.
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.util.AbstractDelegatingEssentialOCLCSVisitor;
+import org.eclipse.ocl.examples.xtext.essentialocl.util.EssentialOCLCSVisitor;
+
+/**
+ * An AbstractExtendingDelegatingQVTrelationCSVisitor delegates all visits.
+ */
+public abstract class AbstractExtendingDelegatingQVTrelationCSVisitor<R, C, D extends EssentialOCLCSVisitor<R, C>>
+ extends AbstractDelegatingEssentialOCLCSVisitor<R, C, D>
+ implements QVTrelationCSVisitor<R, C>
+{
+ protected AbstractExtendingDelegatingQVTrelationCSVisitor(D delegate, C context) {
+ super(delegate, context);
+ }
+
+ @Override
+ public R visiting(org.eclipse.ocl.examples.xtext.base.util.VisitableCS visitable) {
+ return delegate.visiting(visitable);
+ }
+
+ public R visitAbstractDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS object) {
+ return delegate.visitModelElementCS(object);
+ }
+
+ public R visitAnyElementCS(org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS object) {
+ return delegate.visitExpCS(object);
+ }
+
+ public R visitCollectionTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS object) {
+ return visitTemplateCS(object);
+ }
+
+ public R visitDefaultValueCS(org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS object) {
+ return delegate.visitElementCS(object);
+ }
+
+ public R visitDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS object) {
+ return visitAbstractDomainCS(object);
+ }
+
+ public R visitKeyDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS object) {
+ return delegate.visitElementCS(object);
+ }
+
+ public R visitModelDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS object) {
+ return delegate.visitNamedElementCS(object);
+ }
+
+ public R visitObjectTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS object) {
+ return visitTemplateCS(object);
+ }
+
+ public R visitParamDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS object) {
+ return delegate.visitNamedElementCS(object);
+ }
+
+ public R visitPrimitiveTypeDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS object) {
+ return visitTemplateVariableCS(object);
+ }
+
+ public R visitPropertyTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS object) {
+ return delegate.visitElementCS(object);
+ }
+
+ public R visitQueryCS(org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS object) {
+ return delegate.visitModelElementCS(object);
+ }
+
+ public R visitRelationCS(org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS object) {
+ return delegate.visitNamedElementCS(object);
+ }
+
+ public R visitTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS object) {
+ return visitTemplateVariableCS(object);
+ }
+
+ public R visitTemplateVariableCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS object) {
+ return delegate.visitModelElementCS(object);
+ }
+
+ public R visitTopLevelCS(org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS object) {
+ return delegate.visitElementCS(object);
+ }
+
+ public R visitTransformationCS(org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS object) {
+ return delegate.visitNamedElementCS(object);
+ }
+
+ public R visitUnitCS(org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS object) {
+ return delegate.visitElementCS(object);
+ }
+
+ public R visitVarDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS object) {
+ return delegate.visitElementCS(object);
+ }
+
+ public R visitWhenCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS object) {
+ return delegate.visitElementCS(object);
+ }
+
+ public R visitWhereCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS object) {
+ return delegate.visitElementCS(object);
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingQVTrelationCSVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingQVTrelationCSVisitor.java
new file mode 100644
index 000000000..dfb1f4e49
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractExtendingQVTrelationCSVisitor.java
@@ -0,0 +1,131 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010,2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: /org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
+ * by: org.eclipse.ocl.examples.build.acceleo.GenerateVisitor
+ * defined by: org.eclipse.ocl.examples.build.acceleo.generateVisitors.mtl
+ * invoked by: org.eclipse.ocl.examples.build.utilities.*
+ * from: org.eclipse.ocl.examples.build.*.mwe2
+ *
+ * Do not edit it.
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+/**
+ * An AbstractExtendingQVTrelationCSVisitor provides a default implementation for each
+ * visitXxx method that delegates to the visitYyy method of the first
+ * super class, (or transitively its first super class first super class
+ * until a non-interface super-class is found). In the absence of any
+ * suitable first super class, the method delegates to visiting().
+ */
+public abstract class AbstractExtendingQVTrelationCSVisitor<R, C>
+ extends org.eclipse.ocl.examples.xtext.essentialocl.util.AbstractExtendingEssentialOCLCSVisitor<R, C>
+ implements QVTrelationCSVisitor<R, C>
+{
+ /**
+ * Initializes me with an initial value for my result.
+ *
+ * @param context my initial result value
+ */
+ protected AbstractExtendingQVTrelationCSVisitor(C context) {
+ super(context);
+ }
+
+ public R visitAbstractDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS object) {
+ return visitModelElementCS(object);
+ }
+
+ public R visitAnyElementCS(org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS object) {
+ return visitExpCS(object);
+ }
+
+ public R visitCollectionTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS object) {
+ return visitTemplateCS(object);
+ }
+
+ public R visitDefaultValueCS(org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS object) {
+ return visitElementCS(object);
+ }
+
+ public R visitDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS object) {
+ return visitAbstractDomainCS(object);
+ }
+
+ public R visitKeyDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS object) {
+ return visitElementCS(object);
+ }
+
+ public R visitModelDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS object) {
+ return visitNamedElementCS(object);
+ }
+
+ public R visitObjectTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS object) {
+ return visitTemplateCS(object);
+ }
+
+ public R visitParamDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS object) {
+ return visitNamedElementCS(object);
+ }
+
+ public R visitPrimitiveTypeDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS object) {
+ return visitTemplateVariableCS(object);
+ }
+
+ public R visitPropertyTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS object) {
+ return visitElementCS(object);
+ }
+
+ public R visitQueryCS(org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS object) {
+ return visitModelElementCS(object);
+ }
+
+ public R visitRelationCS(org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS object) {
+ return visitNamedElementCS(object);
+ }
+
+ public R visitTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS object) {
+ return visitTemplateVariableCS(object);
+ }
+
+ public R visitTemplateVariableCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS object) {
+ return visitModelElementCS(object);
+ }
+
+ public R visitTopLevelCS(org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS object) {
+ return visitElementCS(object);
+ }
+
+ public R visitTransformationCS(org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS object) {
+ return visitNamedElementCS(object);
+ }
+
+ public R visitUnitCS(org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS object) {
+ return visitElementCS(object);
+ }
+
+ public R visitVarDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS object) {
+ return visitElementCS(object);
+ }
+
+ public R visitWhenCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS object) {
+ return visitElementCS(object);
+ }
+
+ public R visitWhereCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS object) {
+ return visitElementCS(object);
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractNullQVTrelationCSVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractNullQVTrelationCSVisitor.java
new file mode 100644
index 000000000..653337868
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractNullQVTrelationCSVisitor.java
@@ -0,0 +1,127 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010,2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: /org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
+ * by: org.eclipse.ocl.examples.build.acceleo.GenerateVisitor
+ * defined by: org.eclipse.ocl.examples.build.acceleo.generateVisitors.mtl
+ * invoked by: org.eclipse.ocl.examples.build.utilities.*
+ * from: org.eclipse.ocl.examples.build.*.mwe2
+ *
+ * Do not edit it.
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+/**
+ * An AbstractNullQVTrelationCSVisitor provides a default implementation for each
+ * visitXxx method that returns null.
+ */
+public abstract class AbstractNullQVTrelationCSVisitor<R, C>
+ extends org.eclipse.ocl.examples.xtext.essentialocl.util.AbstractNullEssentialOCLCSVisitor<R, C> implements QVTrelationCSVisitor<R, C>
+{
+ /**
+ * Initializes me with an initial value for my result.
+ *
+ * @param context my initial result value
+ */
+ protected AbstractNullQVTrelationCSVisitor(C context) {
+ super(context);
+ }
+
+ public R visitAbstractDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS object) {
+ return null;
+ }
+
+ public R visitAnyElementCS(org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS object) {
+ return null;
+ }
+
+ public R visitCollectionTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS object) {
+ return null;
+ }
+
+ public R visitDefaultValueCS(org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS object) {
+ return null;
+ }
+
+ public R visitDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS object) {
+ return null;
+ }
+
+ public R visitKeyDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS object) {
+ return null;
+ }
+
+ public R visitModelDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS object) {
+ return null;
+ }
+
+ public R visitObjectTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS object) {
+ return null;
+ }
+
+ public R visitParamDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS object) {
+ return null;
+ }
+
+ public R visitPrimitiveTypeDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS object) {
+ return null;
+ }
+
+ public R visitPropertyTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS object) {
+ return null;
+ }
+
+ public R visitQueryCS(org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS object) {
+ return null;
+ }
+
+ public R visitRelationCS(org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS object) {
+ return null;
+ }
+
+ public R visitTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS object) {
+ return null;
+ }
+
+ public R visitTemplateVariableCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS object) {
+ return null;
+ }
+
+ public R visitTopLevelCS(org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS object) {
+ return null;
+ }
+
+ public R visitTransformationCS(org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS object) {
+ return null;
+ }
+
+ public R visitUnitCS(org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS object) {
+ return null;
+ }
+
+ public R visitVarDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS object) {
+ return null;
+ }
+
+ public R visitWhenCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS object) {
+ return null;
+ }
+
+ public R visitWhereCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS object) {
+ return null;
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractQVTrelationCSVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractQVTrelationCSVisitor.java
new file mode 100644
index 000000000..9ac8decf5
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/AbstractQVTrelationCSVisitor.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010,2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: /org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
+ * by: org.eclipse.ocl.examples.build.acceleo.GenerateVisitor
+ * defined by: org.eclipse.ocl.examples.build.acceleo.generateVisitors.mtl
+ * invoked by: org.eclipse.ocl.examples.build.utilities.*
+ * from: org.eclipse.ocl.examples.build.*.mwe2
+ *
+ * Do not edit it.
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+/**
+ */
+public abstract class AbstractQVTrelationCSVisitor<R, C>
+ extends org.eclipse.ocl.examples.xtext.essentialocl.util.AbstractEssentialOCLCSVisitor<R, C>
+ implements QVTrelationCSVisitor<R, C>
+{
+ /**
+ * Initializes me with an initial value for my result.
+ *
+ * @param context my initial result value
+ */
+ protected AbstractQVTrelationCSVisitor(C context) {
+ super(context);
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/DecorableQVTrelationCSVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/DecorableQVTrelationCSVisitor.java
new file mode 100644
index 000000000..479df1ac8
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/DecorableQVTrelationCSVisitor.java
@@ -0,0 +1,34 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010,2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: /org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
+ * by: org.eclipse.ocl.examples.build.acceleo.GenerateVisitor
+ * defined by: org.eclipse.ocl.examples.build.acceleo.generateVisitors.mtl
+ * invoked by: org.eclipse.ocl.examples.build.utilities.*
+ * from: org.eclipse.ocl.examples.build.*.mwe2
+ *
+ * Do not edit it.
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+/**
+ */
+public interface DecorableQVTrelationCSVisitor<R, C> extends QVTrelationCSVisitor<R, C>, org.eclipse.ocl.examples.xtext.essentialocl.util.DecorableEssentialOCLCSVisitor<R, C>
+{
+// DecorableQVTrelationCSVisitor<R, C> createNestedVisitor();
+ void setUndecoratedVisitor(org.eclipse.ocl.examples.xtext.base.util.BaseCSVisitor<R, C> visitor);
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTAdapterFactory.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTAdapterFactory.java
new file mode 100644
index 000000000..ff07c1612
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTAdapterFactory.java
@@ -0,0 +1,650 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.ocl.examples.pivot.util.Nameable;
+import org.eclipse.ocl.examples.pivot.util.Pivotable;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.PivotableElementCS;
+
+import org.eclipse.ocl.examples.xtext.base.util.VisitableCS;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+import org.eclipse.qvtd.xtext.qvtrelationcst.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage
+ * @generated
+ */
+public class QVTrelationCSTAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static QVTrelationCSTPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QVTrelationCSTAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = QVTrelationCSTPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QVTrelationCSTSwitch<Adapter> modelSwitch =
+ new QVTrelationCSTSwitch<Adapter>() {
+ @Override
+ public Adapter caseAbstractDomainCS(AbstractDomainCS object) {
+ return createAbstractDomainCSAdapter();
+ }
+ @Override
+ public Adapter caseAnyElementCS(AnyElementCS object) {
+ return createAnyElementCSAdapter();
+ }
+ @Override
+ public Adapter caseCollectionTemplateCS(CollectionTemplateCS object) {
+ return createCollectionTemplateCSAdapter();
+ }
+ @Override
+ public Adapter caseDefaultValueCS(DefaultValueCS object) {
+ return createDefaultValueCSAdapter();
+ }
+ @Override
+ public Adapter caseDomainCS(DomainCS object) {
+ return createDomainCSAdapter();
+ }
+ @Override
+ public Adapter caseKeyDeclCS(KeyDeclCS object) {
+ return createKeyDeclCSAdapter();
+ }
+ @Override
+ public Adapter caseModelDeclCS(ModelDeclCS object) {
+ return createModelDeclCSAdapter();
+ }
+ @Override
+ public Adapter caseObjectTemplateCS(ObjectTemplateCS object) {
+ return createObjectTemplateCSAdapter();
+ }
+ @Override
+ public Adapter caseParamDeclarationCS(ParamDeclarationCS object) {
+ return createParamDeclarationCSAdapter();
+ }
+ @Override
+ public Adapter casePrimitiveTypeDomainCS(PrimitiveTypeDomainCS object) {
+ return createPrimitiveTypeDomainCSAdapter();
+ }
+ @Override
+ public Adapter casePropertyTemplateCS(PropertyTemplateCS object) {
+ return createPropertyTemplateCSAdapter();
+ }
+ @Override
+ public Adapter caseQueryCS(QueryCS object) {
+ return createQueryCSAdapter();
+ }
+ @Override
+ public Adapter caseRelationCS(RelationCS object) {
+ return createRelationCSAdapter();
+ }
+ @Override
+ public Adapter caseTemplateCS(TemplateCS object) {
+ return createTemplateCSAdapter();
+ }
+ @Override
+ public Adapter caseTemplateVariableCS(TemplateVariableCS object) {
+ return createTemplateVariableCSAdapter();
+ }
+ @Override
+ public Adapter caseTopLevelCS(TopLevelCS object) {
+ return createTopLevelCSAdapter();
+ }
+ @Override
+ public Adapter caseTransformationCS(TransformationCS object) {
+ return createTransformationCSAdapter();
+ }
+ @Override
+ public Adapter caseUnitCS(UnitCS object) {
+ return createUnitCSAdapter();
+ }
+ @Override
+ public Adapter caseVarDeclarationCS(VarDeclarationCS object) {
+ return createVarDeclarationCSAdapter();
+ }
+ @Override
+ public Adapter caseWhenCS(WhenCS object) {
+ return createWhenCSAdapter();
+ }
+ @Override
+ public Adapter caseWhereCS(WhereCS object) {
+ return createWhereCSAdapter();
+ }
+ @Override
+ public Adapter caseVisitableCS(VisitableCS object) {
+ return createVisitableCSAdapter();
+ }
+ @Override
+ public Adapter caseElementCS(ElementCS object) {
+ return createElementCSAdapter();
+ }
+ @Override
+ public Adapter casePivotable(Pivotable object) {
+ return createPivotableAdapter();
+ }
+ @Override
+ public Adapter casePivotableElementCS(PivotableElementCS object) {
+ return createPivotableElementCSAdapter();
+ }
+ @Override
+ public Adapter caseModelElementCS(ModelElementCS object) {
+ return createModelElementCSAdapter();
+ }
+ @Override
+ public Adapter caseNameable(Nameable object) {
+ return createNameableAdapter();
+ }
+ @Override
+ public Adapter caseExpCS(ExpCS object) {
+ return createExpCSAdapter();
+ }
+ @Override
+ public Adapter caseNamedElementCS(NamedElementCS object) {
+ return createNamedElementCSAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS <em>Abstract Domain CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS
+ * @generated
+ */
+ public Adapter createAbstractDomainCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS <em>Any Element CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS
+ * @generated
+ */
+ public Adapter createAnyElementCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS <em>Collection Template CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS
+ * @generated
+ */
+ public Adapter createCollectionTemplateCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS <em>Default Value CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS
+ * @generated
+ */
+ public Adapter createDefaultValueCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS <em>Domain CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS
+ * @generated
+ */
+ public Adapter createDomainCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS <em>Key Decl CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS
+ * @generated
+ */
+ public Adapter createKeyDeclCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS <em>Model Decl CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS
+ * @generated
+ */
+ public Adapter createModelDeclCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS <em>Object Template CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS
+ * @generated
+ */
+ public Adapter createObjectTemplateCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS <em>Param Declaration CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS
+ * @generated
+ */
+ public Adapter createParamDeclarationCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS <em>Primitive Type Domain CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS
+ * @generated
+ */
+ public Adapter createPrimitiveTypeDomainCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS <em>Property Template CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS
+ * @generated
+ */
+ public Adapter createPropertyTemplateCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS <em>Query CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS
+ * @generated
+ */
+ public Adapter createQueryCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS <em>Relation CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS
+ * @generated
+ */
+ public Adapter createRelationCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS <em>Template CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS
+ * @generated
+ */
+ public Adapter createTemplateCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS <em>Template Variable CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS
+ * @generated
+ */
+ public Adapter createTemplateVariableCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS <em>Top Level CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS
+ * @generated
+ */
+ public Adapter createTopLevelCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS <em>Transformation CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS
+ * @generated
+ */
+ public Adapter createTransformationCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS <em>Unit CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS
+ * @generated
+ */
+ public Adapter createUnitCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS <em>Var Declaration CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS
+ * @generated
+ */
+ public Adapter createVarDeclarationCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS <em>When CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS
+ * @generated
+ */
+ public Adapter createWhenCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS <em>Where CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS
+ * @generated
+ */
+ public Adapter createWhereCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.xtext.base.util.VisitableCS <em>Visitable CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.ocl.examples.xtext.base.util.VisitableCS
+ * @generated
+ */
+ public Adapter createVisitableCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS <em>Element CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS
+ * @generated
+ */
+ public Adapter createElementCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.pivot.util.Pivotable <em>Pivotable</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.ocl.examples.pivot.util.Pivotable
+ * @generated
+ */
+ public Adapter createPivotableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.xtext.base.baseCST.PivotableElementCS <em>Pivotable Element CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.ocl.examples.xtext.base.baseCST.PivotableElementCS
+ * @generated
+ */
+ public Adapter createPivotableElementCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS <em>Model Element CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS
+ * @generated
+ */
+ public Adapter createModelElementCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.pivot.util.Nameable <em>Nameable</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.ocl.examples.pivot.util.Nameable
+ * @generated
+ */
+ public Adapter createNameableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS <em>Exp CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS
+ * @generated
+ */
+ public Adapter createExpCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS <em>Named Element CS</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS
+ * @generated
+ */
+ public Adapter createNamedElementCSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //QVTrelationCSTAdapterFactory
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceFactoryImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceFactoryImpl.java
new file mode 100644
index 000000000..24300d3d9
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceFactoryImpl.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSTResourceImpl
+ * @generated
+ */
+public class QVTrelationCSTResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QVTrelationCSTResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ Resource result = new QVTrelationCSTResourceImpl(uri);
+ return result;
+ }
+
+} //QVTrelationCSTResourceFactoryImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceImpl.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceImpl.java
new file mode 100644
index 000000000..d73fe2b60
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTResourceImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSTResourceFactoryImpl
+ * @generated
+ */
+public class QVTrelationCSTResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public QVTrelationCSTResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //QVTrelationCSTResourceImpl
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTSwitch.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTSwitch.java
new file mode 100644
index 000000000..738e48fa6
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTSwitch.java
@@ -0,0 +1,781 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.ocl.examples.pivot.util.Nameable;
+import org.eclipse.ocl.examples.pivot.util.Pivotable;
+
+import org.eclipse.ocl.examples.xtext.base.baseCST.ElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.ModelElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.NamedElementCS;
+import org.eclipse.ocl.examples.xtext.base.baseCST.PivotableElementCS;
+
+import org.eclipse.ocl.examples.xtext.base.util.VisitableCS;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.essentialOCLCST.ExpCS;
+
+import org.eclipse.qvtd.xtext.qvtrelationcst.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage
+ * @generated
+ */
+public class QVTrelationCSTSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static QVTrelationCSTPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QVTrelationCSTSwitch() {
+ if (modelPackage == null) {
+ modelPackage = QVTrelationCSTPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case QVTrelationCSTPackage.ABSTRACT_DOMAIN_CS: {
+ AbstractDomainCS abstractDomainCS = (AbstractDomainCS)theEObject;
+ T result = caseAbstractDomainCS(abstractDomainCS);
+ if (result == null) result = caseModelElementCS(abstractDomainCS);
+ if (result == null) result = caseNameable(abstractDomainCS);
+ if (result == null) result = casePivotableElementCS(abstractDomainCS);
+ if (result == null) result = caseElementCS(abstractDomainCS);
+ if (result == null) result = casePivotable(abstractDomainCS);
+ if (result == null) result = caseVisitableCS(abstractDomainCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.ANY_ELEMENT_CS: {
+ AnyElementCS anyElementCS = (AnyElementCS)theEObject;
+ T result = caseAnyElementCS(anyElementCS);
+ if (result == null) result = caseExpCS(anyElementCS);
+ if (result == null) result = caseModelElementCS(anyElementCS);
+ if (result == null) result = casePivotableElementCS(anyElementCS);
+ if (result == null) result = caseElementCS(anyElementCS);
+ if (result == null) result = casePivotable(anyElementCS);
+ if (result == null) result = caseVisitableCS(anyElementCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.COLLECTION_TEMPLATE_CS: {
+ CollectionTemplateCS collectionTemplateCS = (CollectionTemplateCS)theEObject;
+ T result = caseCollectionTemplateCS(collectionTemplateCS);
+ if (result == null) result = caseTemplateCS(collectionTemplateCS);
+ if (result == null) result = caseTemplateVariableCS(collectionTemplateCS);
+ if (result == null) result = caseExpCS(collectionTemplateCS);
+ if (result == null) result = caseModelElementCS(collectionTemplateCS);
+ if (result == null) result = casePivotableElementCS(collectionTemplateCS);
+ if (result == null) result = caseElementCS(collectionTemplateCS);
+ if (result == null) result = casePivotable(collectionTemplateCS);
+ if (result == null) result = caseVisitableCS(collectionTemplateCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.DEFAULT_VALUE_CS: {
+ DefaultValueCS defaultValueCS = (DefaultValueCS)theEObject;
+ T result = caseDefaultValueCS(defaultValueCS);
+ if (result == null) result = caseElementCS(defaultValueCS);
+ if (result == null) result = caseVisitableCS(defaultValueCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.DOMAIN_CS: {
+ DomainCS domainCS = (DomainCS)theEObject;
+ T result = caseDomainCS(domainCS);
+ if (result == null) result = caseAbstractDomainCS(domainCS);
+ if (result == null) result = caseModelElementCS(domainCS);
+ if (result == null) result = caseNameable(domainCS);
+ if (result == null) result = casePivotableElementCS(domainCS);
+ if (result == null) result = caseElementCS(domainCS);
+ if (result == null) result = casePivotable(domainCS);
+ if (result == null) result = caseVisitableCS(domainCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.KEY_DECL_CS: {
+ KeyDeclCS keyDeclCS = (KeyDeclCS)theEObject;
+ T result = caseKeyDeclCS(keyDeclCS);
+ if (result == null) result = caseElementCS(keyDeclCS);
+ if (result == null) result = caseVisitableCS(keyDeclCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.MODEL_DECL_CS: {
+ ModelDeclCS modelDeclCS = (ModelDeclCS)theEObject;
+ T result = caseModelDeclCS(modelDeclCS);
+ if (result == null) result = caseNamedElementCS(modelDeclCS);
+ if (result == null) result = caseModelElementCS(modelDeclCS);
+ if (result == null) result = caseNameable(modelDeclCS);
+ if (result == null) result = casePivotableElementCS(modelDeclCS);
+ if (result == null) result = caseElementCS(modelDeclCS);
+ if (result == null) result = casePivotable(modelDeclCS);
+ if (result == null) result = caseVisitableCS(modelDeclCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.OBJECT_TEMPLATE_CS: {
+ ObjectTemplateCS objectTemplateCS = (ObjectTemplateCS)theEObject;
+ T result = caseObjectTemplateCS(objectTemplateCS);
+ if (result == null) result = caseTemplateCS(objectTemplateCS);
+ if (result == null) result = caseTemplateVariableCS(objectTemplateCS);
+ if (result == null) result = caseExpCS(objectTemplateCS);
+ if (result == null) result = caseModelElementCS(objectTemplateCS);
+ if (result == null) result = casePivotableElementCS(objectTemplateCS);
+ if (result == null) result = caseElementCS(objectTemplateCS);
+ if (result == null) result = casePivotable(objectTemplateCS);
+ if (result == null) result = caseVisitableCS(objectTemplateCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.PARAM_DECLARATION_CS: {
+ ParamDeclarationCS paramDeclarationCS = (ParamDeclarationCS)theEObject;
+ T result = caseParamDeclarationCS(paramDeclarationCS);
+ if (result == null) result = caseNamedElementCS(paramDeclarationCS);
+ if (result == null) result = caseModelElementCS(paramDeclarationCS);
+ if (result == null) result = caseNameable(paramDeclarationCS);
+ if (result == null) result = casePivotableElementCS(paramDeclarationCS);
+ if (result == null) result = caseElementCS(paramDeclarationCS);
+ if (result == null) result = casePivotable(paramDeclarationCS);
+ if (result == null) result = caseVisitableCS(paramDeclarationCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.PRIMITIVE_TYPE_DOMAIN_CS: {
+ PrimitiveTypeDomainCS primitiveTypeDomainCS = (PrimitiveTypeDomainCS)theEObject;
+ T result = casePrimitiveTypeDomainCS(primitiveTypeDomainCS);
+ if (result == null) result = caseTemplateVariableCS(primitiveTypeDomainCS);
+ if (result == null) result = caseAbstractDomainCS(primitiveTypeDomainCS);
+ if (result == null) result = caseModelElementCS(primitiveTypeDomainCS);
+ if (result == null) result = caseNameable(primitiveTypeDomainCS);
+ if (result == null) result = casePivotableElementCS(primitiveTypeDomainCS);
+ if (result == null) result = caseElementCS(primitiveTypeDomainCS);
+ if (result == null) result = casePivotable(primitiveTypeDomainCS);
+ if (result == null) result = caseVisitableCS(primitiveTypeDomainCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.PROPERTY_TEMPLATE_CS: {
+ PropertyTemplateCS propertyTemplateCS = (PropertyTemplateCS)theEObject;
+ T result = casePropertyTemplateCS(propertyTemplateCS);
+ if (result == null) result = caseElementCS(propertyTemplateCS);
+ if (result == null) result = caseVisitableCS(propertyTemplateCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.QUERY_CS: {
+ QueryCS queryCS = (QueryCS)theEObject;
+ T result = caseQueryCS(queryCS);
+ if (result == null) result = caseModelElementCS(queryCS);
+ if (result == null) result = caseNameable(queryCS);
+ if (result == null) result = casePivotableElementCS(queryCS);
+ if (result == null) result = caseElementCS(queryCS);
+ if (result == null) result = casePivotable(queryCS);
+ if (result == null) result = caseVisitableCS(queryCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.RELATION_CS: {
+ RelationCS relationCS = (RelationCS)theEObject;
+ T result = caseRelationCS(relationCS);
+ if (result == null) result = caseNamedElementCS(relationCS);
+ if (result == null) result = caseModelElementCS(relationCS);
+ if (result == null) result = caseNameable(relationCS);
+ if (result == null) result = casePivotableElementCS(relationCS);
+ if (result == null) result = caseElementCS(relationCS);
+ if (result == null) result = casePivotable(relationCS);
+ if (result == null) result = caseVisitableCS(relationCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.TEMPLATE_CS: {
+ TemplateCS templateCS = (TemplateCS)theEObject;
+ T result = caseTemplateCS(templateCS);
+ if (result == null) result = caseTemplateVariableCS(templateCS);
+ if (result == null) result = caseExpCS(templateCS);
+ if (result == null) result = caseModelElementCS(templateCS);
+ if (result == null) result = casePivotableElementCS(templateCS);
+ if (result == null) result = caseElementCS(templateCS);
+ if (result == null) result = casePivotable(templateCS);
+ if (result == null) result = caseVisitableCS(templateCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.TEMPLATE_VARIABLE_CS: {
+ TemplateVariableCS templateVariableCS = (TemplateVariableCS)theEObject;
+ T result = caseTemplateVariableCS(templateVariableCS);
+ if (result == null) result = caseModelElementCS(templateVariableCS);
+ if (result == null) result = casePivotableElementCS(templateVariableCS);
+ if (result == null) result = caseElementCS(templateVariableCS);
+ if (result == null) result = casePivotable(templateVariableCS);
+ if (result == null) result = caseVisitableCS(templateVariableCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.TOP_LEVEL_CS: {
+ TopLevelCS topLevelCS = (TopLevelCS)theEObject;
+ T result = caseTopLevelCS(topLevelCS);
+ if (result == null) result = caseElementCS(topLevelCS);
+ if (result == null) result = caseVisitableCS(topLevelCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.TRANSFORMATION_CS: {
+ TransformationCS transformationCS = (TransformationCS)theEObject;
+ T result = caseTransformationCS(transformationCS);
+ if (result == null) result = caseNamedElementCS(transformationCS);
+ if (result == null) result = caseModelElementCS(transformationCS);
+ if (result == null) result = caseNameable(transformationCS);
+ if (result == null) result = casePivotableElementCS(transformationCS);
+ if (result == null) result = caseElementCS(transformationCS);
+ if (result == null) result = casePivotable(transformationCS);
+ if (result == null) result = caseVisitableCS(transformationCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.UNIT_CS: {
+ UnitCS unitCS = (UnitCS)theEObject;
+ T result = caseUnitCS(unitCS);
+ if (result == null) result = caseElementCS(unitCS);
+ if (result == null) result = caseVisitableCS(unitCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.VAR_DECLARATION_CS: {
+ VarDeclarationCS varDeclarationCS = (VarDeclarationCS)theEObject;
+ T result = caseVarDeclarationCS(varDeclarationCS);
+ if (result == null) result = caseElementCS(varDeclarationCS);
+ if (result == null) result = caseVisitableCS(varDeclarationCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.WHEN_CS: {
+ WhenCS whenCS = (WhenCS)theEObject;
+ T result = caseWhenCS(whenCS);
+ if (result == null) result = caseElementCS(whenCS);
+ if (result == null) result = caseVisitableCS(whenCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case QVTrelationCSTPackage.WHERE_CS: {
+ WhereCS whereCS = (WhereCS)theEObject;
+ T result = caseWhereCS(whereCS);
+ if (result == null) result = caseElementCS(whereCS);
+ if (result == null) result = caseVisitableCS(whereCS);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Domain CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Abstract Domain CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractDomainCS(AbstractDomainCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Any Element CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Any Element CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAnyElementCS(AnyElementCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Collection Template CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Collection Template CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCollectionTemplateCS(CollectionTemplateCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Default Value CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Default Value CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDefaultValueCS(DefaultValueCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Domain CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Domain CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDomainCS(DomainCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Key Decl CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Key Decl CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseKeyDeclCS(KeyDeclCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Model Decl CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Model Decl CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModelDeclCS(ModelDeclCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Object Template CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Object Template CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseObjectTemplateCS(ObjectTemplateCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Param Declaration CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Param Declaration CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseParamDeclarationCS(ParamDeclarationCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Primitive Type Domain CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Primitive Type Domain CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePrimitiveTypeDomainCS(PrimitiveTypeDomainCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Property Template CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Property Template CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePropertyTemplateCS(PropertyTemplateCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Query CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Query CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQueryCS(QueryCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Relation CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Relation CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRelationCS(RelationCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Template CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Template CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTemplateCS(TemplateCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Template Variable CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Template Variable CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTemplateVariableCS(TemplateVariableCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Top Level CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Top Level CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTopLevelCS(TopLevelCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Transformation CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Transformation CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTransformationCS(TransformationCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Unit CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Unit CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUnitCS(UnitCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Var Declaration CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Var Declaration CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVarDeclarationCS(VarDeclarationCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>When CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>When CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseWhenCS(WhenCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Where CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Where CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseWhereCS(WhereCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Visitable CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Visitable CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVisitableCS(VisitableCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Element CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElementCS(ElementCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Pivotable</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Pivotable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePivotable(Pivotable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Pivotable Element CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Pivotable Element CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePivotableElementCS(PivotableElementCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Model Element CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Model Element CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModelElementCS(ModelElementCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Nameable</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Nameable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNameable(Nameable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Exp CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Exp CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExpCS(ExpCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Named Element CS</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Named Element CS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNamedElementCS(NamedElementCS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //QVTrelationCSTSwitch
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTXMLProcessor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTXMLProcessor.java
new file mode 100644
index 000000000..58ceb1019
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSTXMLProcessor.java
@@ -0,0 +1,64 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class QVTrelationCSTXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QVTrelationCSTXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ QVTrelationCSTPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the QVTrelationCSTResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new QVTrelationCSTResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new QVTrelationCSTResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //QVTrelationCSTXMLProcessor
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSVisitor.java
new file mode 100644
index 000000000..f711ec718
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen/org/eclipse/qvtd/xtext/qvtrelationcst/util/QVTrelationCSVisitor.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010,2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * This code is auto-generated
+ * from: /org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
+ * by: org.eclipse.ocl.examples.build.acceleo.GenerateVisitor
+ * defined by: org.eclipse.ocl.examples.build.acceleo.generateVisitors.mtl
+ * invoked by: org.eclipse.ocl.examples.build.utilities.*
+ * from: org.eclipse.ocl.examples.build.*.mwe2
+ *
+ * Do not edit it.
+ *
+ * $Id$
+ */
+package org.eclipse.qvtd.xtext.qvtrelationcst.util;
+
+/**
+ */
+public interface QVTrelationCSVisitor<R, C> extends org.eclipse.ocl.examples.xtext.essentialocl.util.EssentialOCLCSVisitor<R, C>
+{
+ R visitAbstractDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.AbstractDomainCS object);
+ R visitAnyElementCS(org.eclipse.qvtd.xtext.qvtrelationcst.AnyElementCS object);
+ R visitCollectionTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.CollectionTemplateCS object);
+ R visitDefaultValueCS(org.eclipse.qvtd.xtext.qvtrelationcst.DefaultValueCS object);
+ R visitDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.DomainCS object);
+ R visitKeyDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.KeyDeclCS object);
+ R visitModelDeclCS(org.eclipse.qvtd.xtext.qvtrelationcst.ModelDeclCS object);
+ R visitObjectTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.ObjectTemplateCS object);
+ R visitParamDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.ParamDeclarationCS object);
+ R visitPrimitiveTypeDomainCS(org.eclipse.qvtd.xtext.qvtrelationcst.PrimitiveTypeDomainCS object);
+ R visitPropertyTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.PropertyTemplateCS object);
+ R visitQueryCS(org.eclipse.qvtd.xtext.qvtrelationcst.QueryCS object);
+ R visitRelationCS(org.eclipse.qvtd.xtext.qvtrelationcst.RelationCS object);
+ R visitTemplateCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateCS object);
+ R visitTemplateVariableCS(org.eclipse.qvtd.xtext.qvtrelationcst.TemplateVariableCS object);
+ R visitTopLevelCS(org.eclipse.qvtd.xtext.qvtrelationcst.TopLevelCS object);
+ R visitTransformationCS(org.eclipse.qvtd.xtext.qvtrelationcst.TransformationCS object);
+ R visitUnitCS(org.eclipse.qvtd.xtext.qvtrelationcst.UnitCS object);
+ R visitVarDeclarationCS(org.eclipse.qvtd.xtext.qvtrelationcst.VarDeclarationCS object);
+ R visitWhenCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhenCS object);
+ R visitWhereCS(org.eclipse.qvtd.xtext.qvtrelationcst.WhereCS object);
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore b/plugins/org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
new file mode 100644
index 000000000..7f9c581ab
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="qvtrelationcst" nsURI="http://www.eclipse.org/qvt/0.9/QVTrelationCST"
+ nsPrefix="qvtrcs">
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractDomainCS" abstract="true" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//ModelElementCS ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Nameable"/>
+ <eClassifiers xsi:type="ecore:EClass" name="AnyElementCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.essentialocl/model/EssentialOCLCST.ecore#//ExpCS"/>
+ <eClassifiers xsi:type="ecore:EClass" name="CollectionTemplateCS" eSuperTypes="#//TemplateCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="memberIdentifier" lowerBound="1"
+ upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.essentialocl/model/EssentialOCLCST.ecore#//ExpCS"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="restIdentifier" lowerBound="1"
+ eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.essentialocl/model/EssentialOCLCST.ecore#//ExpCS"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DefaultValueCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//ElementCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="initialiser" lowerBound="1"
+ eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.essentialocl/model/EssentialOCLCST.ecore#//ExpCS"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="propertyId" lowerBound="1"
+ eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Property"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DomainCS" eSuperTypes="#//AbstractDomainCS">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="checkonly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="enforce" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="modelId" eType="ecore:EClass ../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore#//TypedModel"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="replace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="template" eType="#//TemplateCS"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="defaultValue" upperBound="-1"
+ eType="#//DefaultValueCS" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="implementedBy" eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.essentialocl/model/EssentialOCLCST.ecore#//ExpCS"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="KeyDeclCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//ElementCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="pathName" eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//PathNameCS"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="propertyId" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="classId" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Class"
+ changeable="false" volatile="true" transient="true" derived="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ModelDeclCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//NamedElementCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="metaModelId" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ObjectTemplateCS" eSuperTypes="#//TemplateCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="propertyTemplate" upperBound="-1"
+ eType="#//PropertyTemplateCS" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ParamDeclarationCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//NamedElementCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//TypedRefCS"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PrimitiveTypeDomainCS" eSuperTypes="#//TemplateVariableCS #//AbstractDomainCS">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PropertyTemplateCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//ElementCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="propertyId" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="oclExpression" eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.essentialocl/model/EssentialOCLCST.ecore#//ExpCS"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="opposite" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="QueryCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//ModelElementCS ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Nameable">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="pathName" eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//PathNameCS"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inputParamDeclaration"
+ upperBound="-1" eType="#//ParamDeclarationCS" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="oclExpression" eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.essentialocl/model/EssentialOCLCST.ecore#//ExpCS"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//TypedTypeRefCS"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RelationCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//NamedElementCS">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="top" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="overrides" eType="ecore:EClass ../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore#QVTRelation.Relation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="varDeclaration" upperBound="-1"
+ eType="#//VarDeclarationCS" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="domain" upperBound="-1"
+ eType="#//AbstractDomainCS" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="when" eType="#//WhenCS"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="where" eType="#//WhereCS"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TemplateCS" abstract="true" eSuperTypes="#//TemplateVariableCS ../../org.eclipse.ocl.examples.xtext.essentialocl/model/EssentialOCLCST.ecore#//ExpCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="guardExpression" eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.essentialocl/model/EssentialOCLCST.ecore#//ExpCS"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TemplateVariableCS" abstract="true"
+ eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//ModelElementCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//TypedTypeRefCS"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="propertyId" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Property"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TopLevelCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//ElementCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="importClause" upperBound="-1"
+ eType="#//UnitCS" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="transformation" upperBound="-1"
+ eType="#//TransformationCS" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TransformationCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//NamedElementCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="modelDecl" upperBound="-1"
+ eType="#//ModelDeclCS" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extends" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore#//Transformation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="keyDecl" upperBound="-1"
+ eType="#//KeyDeclCS" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="query" upperBound="-1"
+ eType="#//QueryCS" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="relation" upperBound="-1"
+ eType="#//RelationCS" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UnitCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//ElementCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="identifier" lowerBound="1"
+ upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Element"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="VarDeclarationCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//ElementCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="varDeclarationId" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//TypedTypeRefCS"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="WhenCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//ElementCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expr" lowerBound="1" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.essentialocl/model/EssentialOCLCST.ecore#//ExpCS"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="WhereCS" eSuperTypes="../../org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore#//ElementCS">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expr" lowerBound="1" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.ocl.examples.xtext.essentialocl/model/EssentialOCLCST.ecore#//ExpCS"
+ containment="true"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.genmodel b/plugins/org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.genmodel
new file mode 100644
index 000000000..423e81d1e
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.genmodel
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.qvtd.xtext.qvtrelation/emf-gen"
+ modelPluginID="org.eclipse.qvtd.xtext.qvtrelation" modelName="QVTrelationCST" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="6.0" copyrightFields="false" usedGenPackages="platform:/plugin/org.eclipse.ocl.examples.xtext.base/model/BaseCST.genmodel#//baseCST platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.ocl.examples.xtext.essentialocl/model/EssentialOCLCST.genmodel#//essentialOCLCST platform:/plugin/org.eclipse.ocl.examples.pivot/model/Pivot.merged.genmodel#//pivot ../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.genmodel#//qvtbase ../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.genmodel#//qvttemplate ../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.genmodel#//qvtrelation">
+ <foreignModel>QVTrelationCST.ecore</foreignModel>
+ <genPackages prefix="QVTrelationCST" basePackage="org.eclipse.qvtd.xtext" resource="XML"
+ disposableProviderFactory="true" fileExtensions="qvtr" ecorePackage="QVTrelationCST.ecore#/">
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/plugin.properties b/plugins/org.eclipse.qvtd.xtext.qvtrelation/plugin.properties
new file mode 100644
index 000000000..9cc9108ad
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/plugin.properties
@@ -0,0 +1,15 @@
+###############################################################################
+# Copyright (c) 2011 Eclipse Modeling Project and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# E.D.Willink - initial API and implementation
+#
+# $Id$
+###############################################################################
+
+pluginName = QVTrelation CS Model and Parser
+providerName = Eclipse Modeling Project
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/plugin.xml b/plugins/org.eclipse.qvtd.xtext.qvtrelation/plugin.xml
new file mode 100644
index 000000000..29c1d1115
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/plugin.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/qvt/0.9/QVTrelationCST"
+ class="org.eclipse.qvtd.xtext.qvtrelationcst.QVTrelationCSTPackage"
+ genModel="model/QVTrelationCST.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="qvtr"
+ class="org.eclipse.qvtd.xtext.qvtrelationcst.util.QVTrelationCSTResourceFactoryImpl"/>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/AbstractQVTrelationRuntimeModule.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/AbstractQVTrelationRuntimeModule.java
new file mode 100644
index 000000000..795e0be4e
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/AbstractQVTrelationRuntimeModule.java
@@ -0,0 +1,197 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.qvtd.xtext.qvtrelation;
+
+import java.util.Properties;
+
+import org.eclipse.xtext.Constants;
+import org.eclipse.xtext.service.DefaultRuntimeModule;
+
+import com.google.inject.Binder;
+import com.google.inject.name.Names;
+
+/**
+ * Manual modifications go to {org.eclipse.qvtd.xtext.qvtrelation.QVTrelationRuntimeModule}
+ */
+ @SuppressWarnings("all")
+public abstract class AbstractQVTrelationRuntimeModule extends DefaultRuntimeModule {
+
+ protected Properties properties = null;
+
+ @Override
+ public void configure(Binder binder) {
+ properties = tryBindProperties(binder, "org/eclipse/qvtd/xtext/qvtrelation/QVTrelation.properties");
+ super.configure(binder);
+ }
+
+ public void configureLanguageName(Binder binder) {
+ binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.qvtd.xtext.qvtrelation.QVTrelation");
+ }
+
+ public void configureFileExtensions(Binder binder) {
+ if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null)
+ binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("qvtr");
+ }
+
+ // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+ public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
+ return org.eclipse.qvtd.xtext.qvtrelation.services.QVTrelationGrammarAccess.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parseTreeConstructor.ParseTreeConstructorFragment
+ public Class<? extends org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor> bindIParseTreeConstructor() {
+ return org.eclipse.qvtd.xtext.qvtrelation.parseTreeConstruction.QVTrelationParsetreeConstructor.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
+ return org.eclipse.qvtd.xtext.qvtrelation.parser.antlr.QVTrelationParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> bindITokenToStringConverter() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
+ return org.eclipse.qvtd.xtext.qvtrelation.parser.antlr.QVTrelationAntlrTokenFileProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
+ return org.eclipse.qvtd.xtext.qvtrelation.parser.antlr.internal.InternalQVTrelationLexer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.qvtd.xtext.qvtrelation.parser.antlr.internal.InternalQVTrelationLexer> provideInternalQVTrelationLexer() {
+ return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.qvtd.xtext.qvtrelation.parser.antlr.internal.InternalQVTrelationLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureRuntimeLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.parser.antlr.LexerBindings.RUNTIME)).to(org.eclipse.qvtd.xtext.qvtrelation.parser.antlr.internal.InternalQVTrelationLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.validation.JavaValidatorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.qvtd.xtext.qvtrelation.validation.QVTrelationJavaValidator> bindQVTrelationJavaValidator() {
+ return org.eclipse.qvtd.xtext.qvtrelation.validation.QVTrelationJavaValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
+ return org.eclipse.qvtd.xtext.qvtrelation.scoping.QVTrelationScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
+ return org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public void configureIgnoreCaseLinking(com.google.inject.Binder binder) {
+ binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
+ }
+
+ // contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
+ public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+ return org.eclipse.qvtd.xtext.qvtrelation.formatting.QVTrelationFormatter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() {
+ return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.resource.containers.IAllContainersState.Provider> bindIAllContainersState$Provider() {
+ return org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptions(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.serializer.tokens.ICrossReferenceSerializer> bindICrossReferenceSerializer() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.serializer.EssentialOCLCrossReferenceSerializer.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.validation.IDiagnosticConverter> bindIDiagnosticConverter() {
+ return org.eclipse.ocl.examples.xtext.base.utilities.PivotDiagnosticConverter.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.resource.IFragmentProvider> bindIFragmentProvider() {
+ return org.eclipse.ocl.examples.xtext.base.cs2pivot.BaseFragmentProvider.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.IHiddenTokenSequencer> bindIHiddenTokenSequencer() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.serializer.EssentialOCLHiddenTokenSequencer.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.linking.ILinker> bindILinker() {
+ return org.eclipse.ocl.examples.xtext.base.utilities.CS2PivotLinker.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.linking.ILinkingDiagnosticMessageProvider> bindILinkingDiagnosticMessageProvider() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.services.EssentialOCLLinkingDiagnosticMessageProvider.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.linking.ILinkingService> bindILinkingService() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.services.EssentialOCLLinkingService.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.naming.IQualifiedNameConverter> bindIQualifiedNameConverter() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.services.EssentialOCLQualifiedNameConverter.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.services.EssentialOCLQualifiedNameProvider.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.resource.IResourceServiceProvider> bindIResourceServiceProvider() {
+ return org.eclipse.ocl.examples.xtext.base.services.PivotResourceServiceProvider.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.validation.IResourceValidator> bindIResourceValidator() {
+ return org.eclipse.ocl.examples.xtext.base.utilities.PivotResourceValidator.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.conversion.IValueConverterService> bindIValueConverterService() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.services.EssentialOCLValueConverterService.class;
+ }
+
+ // contributed by org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment
+ public Class<? extends org.eclipse.xtext.resource.XtextResource> bindXtextResource() {
+ return org.eclipse.ocl.examples.xtext.essentialocl.utilities.EssentialOCLCSResource.class;
+ }
+
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelation.xmi b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelation.xmi
new file mode 100644
index 000000000..740754bef
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelation.xmi
@@ -0,0 +1,1833 @@
+<?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.qvtrelation.QVTrelation" 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="qvtrelation">
+ <ePackage href="http://www.eclipse.org/qvt/0.9/QVTrelation#/"/>
+ </metamodelDeclarations>
+ <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel">
+ <ePackage href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#/"/>
+ </metamodelDeclarations>
+ <rules xsi:type="xtext:ParserRule" name="TopLevelCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//TopLevelCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="import"/>
+ <elements xsi:type="xtext:Assignment" feature="importClause" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="transformation" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="UnitCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//UnitCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="identifier" operator="+=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Element"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:Assignment" feature="identifier" operator="+=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Element"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="TransformationCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//TransformationCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="transformation"/>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="modelDecl" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="modelDecl" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="extends"/>
+ <elements xsi:type="xtext:Assignment" feature="extends" 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="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="extends" 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="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="keyDecl" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="relation" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="query" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ModelDeclCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//ModelDeclCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Assignment" feature="metaModelId" operator="+=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@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="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Assignment" feature="metaModelId" operator="+=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@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="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="metaModelId" operator="+=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@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="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="KeyDeclCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//KeyDeclCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="key"/>
+ <elements xsi:type="xtext:Assignment" feature="pathName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.33"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Assignment" feature="propertyId" operator="+=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Property"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="propertyId" operator="+=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Property"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="RelationCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//RelationCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="top" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value="top"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="relation"/>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="overrides"/>
+ <elements xsi:type="xtext:Assignment" feature="overrides" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.5">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelation#//Relation"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="varDeclaration" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="+">
+ <elements xsi:type="xtext:Assignment" feature="domain" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="domain" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="when" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="where" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="WhenCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//WhenCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//WhenCS"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="when"/>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="expr" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.61"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="WhereCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//WhereCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//WhereCS"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="where"/>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="expr" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.61"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="VarDeclarationCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//VarDeclarationCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="varDeclarationId" operator="+=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Property"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="varDeclarationId" operator="+=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Property"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="type" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="DomainCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//DomainCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="checkonly" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value="checkonly"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="enforce" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value="enforce"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="domain"/>
+ <elements xsi:type="xtext:Assignment" feature="modelId" 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#//TypedModel"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="template" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="implementedby"/>
+ <elements xsi:type="xtext:Assignment" feature="implementedBy" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.61"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="default_values"/>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Assignment" cardinality="+" feature="defaultValue" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PrimitiveTypeDomainCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//PrimitiveTypeDomainCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="primitive"/>
+ <elements xsi:type="xtext:Keyword" value="domain"/>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="type" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="TemplateCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//TemplateCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Assignment" feature="guardExpression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.61"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ObjectTemplateCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//ObjectTemplateCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="propertyId" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Property"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="type" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="propertyTemplate" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="propertyTemplate" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PropertyTemplateCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//PropertyTemplateCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="propertyId" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Property"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Assignment" feature="oclExpression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.61"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="CollectionTemplateCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//CollectionTemplateCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="propertyId" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Property"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="type" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="memberIdentifier" operator="+=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="memberIdentifier" operator="+=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="++"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="restIdentifier" operator="=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NameExpCS">
+ <type metamodel="/0/@metamodelDeclarations.2">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//NameExpCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="pathName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.33"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AnyElementCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//AnyElementCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//AnyElementCS"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="_"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="DefaultValueCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//DefaultValueCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="propertyId" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/Pivot#//Property"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Assignment" feature="initialiser" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.61"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="QueryCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//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.33"/>
+ </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="/0/@rules.19"/>
+ </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="/0/@rules.19"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="type" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
+ </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="oclExpression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.61"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ParamDeclarationCS">
+ <type metamodel="/0/@metamodelDeclarations.6">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/qvt/0.9/QVTrelationCST#//ParamDeclarationCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="type" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="CollectionTypedRefCS">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//TypedTypeRefCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="pathName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.33"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="TypedRefCS">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/BaseCST#//TypedTypeRefCS"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="pathName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.33"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="UnrestrictedName">
+ <type metamodel="/0/@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.29"/>
+ <elements xsi:type="xtext:Keyword" value="checkonly"/>
+ <elements xsi:type="xtext:Keyword" value="default_values"/>
+ <elements xsi:type="xtext:Keyword" value="domain"/>
+ <elements xsi:type="xtext:Keyword" value="enforce"/>
+ <elements xsi:type="xtext:Keyword" value="extends"/>
+ <elements xsi:type="xtext:Keyword" value="implementedby"/>
+ <elements xsi:type="xtext:Keyword" value="import"/>
+ <elements xsi:type="xtext:Keyword" value="key"/>
+ <elements xsi:type="xtext:Keyword" value="overrides"/>
+ <elements xsi:type="xtext:Keyword" value="primitive"/>
+ <elements xsi:type="xtext:Keyword" value="query"/>
+ <elements xsi:type="xtext:Keyword" value="relation"/>
+ <elements xsi:type="xtext:Keyword" value="replace"/>
+ <elements xsi:type="xtext:Keyword" value="top"/>
+ <elements xsi:type="xtext:Keyword" value="transformation"/>
+ <elements xsi:type="xtext:Keyword" value="when"/>
+ <elements xsi:type="xtext:Keyword" value="where"/>
+ </alternatives>
+ </rules>
+ </xtext:Grammar>
+ <xtext:Grammar name="org.eclipse.ocl.examples.xtext.essentialocl.EssentialOCL" definesHiddenTokens="true" hiddenTokens="/1/@rules.16 /1/@rules.14 /1/@rules.15">
+ <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="/1/@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="/1/@rules.61"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ESCAPED_CHARACTER" fragment="true">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext: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="&quot;"/>
+ <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="/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: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="DIGIT_CHARACTER" fragment="true">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="DOUBLE_QUOTED_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:Group">
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+ <elements xsi:type="xtext:NegatedToken">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="SINGLE_QUOTED_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:Group">
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:RuleCall" rule="/1/@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="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="/'"/>
+ <elements xsi:type="xtext:UntilToken">
+ <terminal xsi:type="xtext:Keyword" value="'/"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="SIMPLE_ID">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.3"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ESCAPED_ID">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="_"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.5"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" 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:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.7"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.8"/>
+ </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#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:RuleCall" cardinality="+" rule="/1/@rules.3"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="LOWER">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </type>
+ <alternatives xsi:type="xtext:RuleCall" rule="/1/@rules.10"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="UPPER">
+ <type metamodel="/1/@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="/1/@rules.10"/>
+ <elements xsi:type="xtext:Keyword" value="*"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NUMBER_LITERAL">
+ <type metamodel="/1/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//BigNumber"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.10"/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.10"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="e"/>
+ <elements xsi:type="xtext:Keyword" value="E"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.10"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="/*"/>
+ <elements xsi:type="xtext:UntilToken">
+ <terminal xsi:type="xtext:Keyword" value="*/"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="--"/>
+ <elements xsi:type="xtext:NegatedToken" cardinality="*">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="&#xA;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xD;"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="&#xD;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xA;"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="WS">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives" cardinality="+">
+ <elements xsi:type="xtext:Keyword" value=" "/>
+ <elements xsi:type="xtext:Keyword" value="&#x9;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xD;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xA;"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Wildcard"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="URI">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:RuleCall" rule="/1/@rules.5"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="EssentialOCLReservedKeyword">
+ <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: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="EssentialOCLUnrestrictedIdentifier">
+ <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:Keyword" value="e"/>
+ <elements xsi:type="xtext:Keyword" value="E"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="EssentialOCLPrefixOperator">
+ <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:Keyword" value="-"/>
+ <elements xsi:type="xtext:Keyword" value="not"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="EssentialOCLInfixOperator">
+ <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: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="&lt;"/>
+ <elements xsi:type="xtext:Keyword" value=">="/>
+ <elements xsi:type="xtext:Keyword" value="&lt;="/>
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Keyword" value="&lt;>"/>
+ <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"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="EssentialOCLNavigationOperator">
+ <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:Keyword" value="."/>
+ <elements xsi:type="xtext:Keyword" value="->"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Identifier">
+ <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="/1/@rules.9"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.20"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="StringLiteral">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:RuleCall" rule="/1/@rules.5"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PrefixOperator">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:RuleCall" rule="/1/@rules.21"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="InfixOperator">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:RuleCall" rule="/1/@rules.22"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NavigationOperator">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:RuleCall" rule="/1/@rules.23"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="EssentialOCLUnrestrictedName">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:RuleCall" rule="/1/@rules.24"/>
+ </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:RuleCall" rule="/1/@rules.29"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="EssentialOCLUnreservedName">
+ <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="/0/@rules.22"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.38"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.36"/>
+ <elements xsi:type="xtext:Keyword" value="Tuple"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="UnreservedName">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:RuleCall" rule="/1/@rules.31"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PathNameCS">
+ <type metamodel="/1/@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="/1/@rules.34"/>
+ </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="/1/@rules.35"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="FirstPathElementCS">
+ <type metamodel="/1/@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="/1/@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="/0/@rules.22"/>
+ </terminal>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NextPathElementCS">
+ <type metamodel="/1/@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="/1/@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.32"/>
+ </terminal>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PrimitiveTypeIdentifier">
+ <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: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="/1/@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="/1/@rules.36"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="CollectionTypeIdentifier">
+ <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: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="/1/@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="/1/@rules.38"/>
+ </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="/1/@rules.60"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="MultiplicityBoundsCS">
+ <type metamodel="/1/@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="/1/@rules.11"/>
+ </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="/1/@rules.12"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="MultiplicityCS">
+ <type metamodel="/1/@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="/1/@rules.40"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.42"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="]"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="MultiplicityStringCS">
+ <type metamodel="/1/@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="/1/@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="/1/@rules.44"/>
+ </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="/1/@rules.44"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="TuplePartCS">
+ <type metamodel="/1/@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="/0/@rules.22"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="ownedType" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.60"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="CollectionLiteralExpCS">
+ <type metamodel="/1/@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="/1/@rules.39"/>
+ </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="/1/@rules.46"/>
+ </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="/1/@rules.46"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="CollectionLiteralPartCS">
+ <type metamodel="/1/@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="/1/@rules.61"/>
+ </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="/1/@rules.61"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ConstructorPartCS">
+ <type metamodel="/1/@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="/1/@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="/0/@rules.22"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Assignment" feature="initExpression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.61"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PrimitiveLiteralExpCS">
+ <type metamodel="/1/@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="/1/@rules.51"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.52"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.53"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.54"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.55"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.56"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="TupleLiteralExpCS">
+ <type metamodel="/1/@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="/1/@rules.50"/>
+ </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="/1/@rules.50"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="TupleLiteralPartCS">
+ <type metamodel="/1/@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="/0/@rules.22"/>
+ </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="/1/@rules.60"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Assignment" feature="initExpression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.61"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NumberLiteralExpCS">
+ <type metamodel="/1/@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="/1/@rules.13"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="StringLiteralExpCS">
+ <type metamodel="/1/@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="/1/@rules.25"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="BooleanLiteralExpCS">
+ <type metamodel="/1/@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="/1/@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="/1/@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="/1/@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="/1/@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="/1/@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="/1/@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="/1/@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="/1/@rules.37"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.39"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.43"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="TypeLiteralExpCS">
+ <type metamodel="/1/@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="/1/@rules.57"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="TypeNameExpCS">
+ <type metamodel="/1/@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="/1/@rules.33"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="TypeExpCS">
+ <type metamodel="/1/@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="/1/@rules.59"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.57"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="multiplicity" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.41"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ExpCS">
+ <type metamodel="/1/@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="/1/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//InfixExpCS"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="+">
+ <elements xsi:type="xtext:Assignment" feature="ownedExpression" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.65"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="ownedOperator" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.62"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="ownedExpression" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.66"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/1/@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="/1/@rules.67"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="ownedExpression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.69"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.69"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="BinaryOperatorCS">
+ <type metamodel="/1/@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="/1/@rules.63"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.64"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="InfixOperatorCS">
+ <type metamodel="/1/@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:RuleCall" rule="/1/@rules.27"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NavigationOperatorCS">
+ <type metamodel="/1/@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:RuleCall" rule="/1/@rules.28"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PrefixedExpCS">
+ <type metamodel="/1/@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="/1/@rules.68"/>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/1/@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="/1/@rules.67"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="ownedExpression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.68"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PrefixedExpOrLetExpCS">
+ <type metamodel="/1/@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="/1/@rules.69"/>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/1/@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="/1/@rules.67"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="ownedExpression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.69"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="UnaryOperatorCS">
+ <type metamodel="/1/@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:RuleCall" rule="/1/@rules.26"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PrimaryExpCS">
+ <type metamodel="/1/@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="/1/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//IndexExpCS"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="pathName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.33"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="["/>
+ <elements xsi:type="xtext:Assignment" feature="firstIndexes" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.61"/>
+ </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="/1/@rules.61"/>
+ </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="/1/@rules.61"/>
+ </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="/1/@rules.61"/>
+ </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">
+ <type metamodel="/1/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//ConstructorExpCS"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="pathName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.33"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Assignment" feature="ownedParts" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@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="/1/@rules.47"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/1/@metamodelDeclarations.3">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST#//InvocationExpCS"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="pathName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.33"/>
+ </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 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="/1/@rules.70"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="argument" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.72"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="argument" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.73"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="argument" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.72"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="argument" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.71"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="argument" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.72"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/1/@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="/1/@rules.33"/>
+ </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:RuleCall" rule="/1/@rules.79"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.48"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.49"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.45"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.58"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.75"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.78"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PrimaryExpOrLetExpCS">
+ <type metamodel="/1/@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="/1/@rules.68"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.76"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NavigatingArgCS">
+ <type metamodel="/1/@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="/1/@rules.74"/>
+ </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="/1/@rules.60"/>
+ </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="/1/@rules.61"/>
+ </elements>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NavigatingBarArgCS">
+ <type metamodel="/1/@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="/1/@rules.74"/>
+ </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="/1/@rules.60"/>
+ </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="/1/@rules.61"/>
+ </elements>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NavigatingCommaArgCS">
+ <type metamodel="/1/@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="/1/@rules.74"/>
+ </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="/1/@rules.60"/>
+ </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="/1/@rules.61"/>
+ </elements>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NavigatingSemiArgCS">
+ <type metamodel="/1/@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="/1/@rules.74"/>
+ </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="/1/@rules.60"/>
+ </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="/1/@rules.61"/>
+ </elements>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NavigatingArgExpCS">
+ <type metamodel="/1/@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="/1/@rules.61"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="IfExpCS">
+ <type metamodel="/1/@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="/1/@rules.61"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="then"/>
+ <elements xsi:type="xtext:Assignment" feature="thenExpression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.61"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="else"/>
+ <elements xsi:type="xtext:Assignment" feature="elseExpression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.61"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="endif"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="LetExpCS">
+ <type metamodel="/1/@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="/1/@rules.77"/>
+ </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="/1/@rules.77"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="in"/>
+ <elements xsi:type="xtext:Assignment" feature="in" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.61"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="LetVariableCS">
+ <type metamodel="/1/@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="/0/@rules.22"/>
+ </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="/1/@rules.60"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Assignment" feature="initExpression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.61"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NestedExpCS">
+ <type metamodel="/1/@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="/1/@rules.61"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SelfExpCS">
+ <type metamodel="/1/@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="/1/@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>
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationStandaloneSetupGenerated.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationStandaloneSetupGenerated.java
new file mode 100644
index 000000000..384f7e2a2
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationStandaloneSetupGenerated.java
@@ -0,0 +1,40 @@
+
+package org.eclipse.qvtd.xtext.qvtrelation;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.ISetup;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+/**
+ * Generated from StandaloneSetup.xpt!
+ */
+@SuppressWarnings("all")
+public class QVTrelationStandaloneSetupGenerated implements ISetup {
+
+ public Injector createInjectorAndDoEMFRegistration() {
+ org.eclipse.ocl.examples.xtext.essentialocl.EssentialOCLStandaloneSetup.doSetup();
+
+ Injector injector = createInjector();
+ register(injector);
+ return injector;
+ }
+
+ public Injector createInjector() {
+ return Guice.createInjector(new org.eclipse.qvtd.xtext.qvtrelation.QVTrelationRuntimeModule());
+ }
+
+ public void register(Injector injector) {
+
+ org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class);
+ org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class);
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("qvtr", resourceFactory);
+ org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("qvtr", serviceProvider);
+
+
+
+
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parseTreeConstruction/QVTrelationParsetreeConstructor.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parseTreeConstruction/QVTrelationParsetreeConstructor.java
new file mode 100644
index 000000000..f53dc243d
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parseTreeConstruction/QVTrelationParsetreeConstructor.java
@@ -0,0 +1,15454 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.qvtd.xtext.qvtrelation.parseTreeConstruction;
+
+import org.eclipse.emf.ecore.*;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer;
+import org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor;
+
+import org.eclipse.qvtd.xtext.qvtrelation.services.QVTrelationGrammarAccess;
+
+import com.google.inject.Inject;
+
+@SuppressWarnings("all")
+public class QVTrelationParsetreeConstructor extends AbstractParseTreeConstructor {
+
+ @Inject
+ private QVTrelationGrammarAccess grammarAccess;
+
+ @Override
+ protected AbstractToken getRootToken(IEObjectConsumer inst) {
+ return new ThisRootNode(inst);
+ }
+
+protected class ThisRootNode extends RootToken {
+ public ThisRootNode(IEObjectConsumer inst) {
+ super(inst);
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TopLevelCS_Group(this, this, 0, inst);
+ case 1: return new UnitCS_Group(this, this, 1, inst);
+ case 2: return new TransformationCS_Group(this, this, 2, inst);
+ case 3: return new ModelDeclCS_Group(this, this, 3, inst);
+ case 4: return new KeyDeclCS_Group(this, this, 4, inst);
+ case 5: return new RelationCS_Group(this, this, 5, inst);
+ case 6: return new WhenCS_Group(this, this, 6, inst);
+ case 7: return new WhereCS_Group(this, this, 7, inst);
+ case 8: return new VarDeclarationCS_Group(this, this, 8, inst);
+ case 9: return new DomainCS_Group(this, this, 9, inst);
+ case 10: return new PrimitiveTypeDomainCS_Group(this, this, 10, inst);
+ case 11: return new TemplateCS_Group(this, this, 11, inst);
+ case 12: return new ObjectTemplateCS_Group(this, this, 12, inst);
+ case 13: return new PropertyTemplateCS_Group(this, this, 13, inst);
+ case 14: return new CollectionTemplateCS_Group(this, this, 14, inst);
+ case 15: return new NameExpCS_PathNameAssignment(this, this, 15, inst);
+ case 16: return new AnyElementCS_Group(this, this, 16, inst);
+ case 17: return new DefaultValueCS_Group(this, this, 17, inst);
+ case 18: return new QueryCS_Group(this, this, 18, inst);
+ case 19: return new ParamDeclarationCS_Group(this, this, 19, inst);
+ case 20: return new CollectionTypedRefCS_PathNameAssignment(this, this, 20, inst);
+ case 21: return new TypedRefCS_PathNameAssignment(this, this, 21, inst);
+ case 22: return new Model_OwnedExpressionAssignment(this, this, 22, inst);
+ case 23: return new PathNameCS_Group(this, this, 23, inst);
+ case 24: return new FirstPathElementCS_ElementAssignment(this, this, 24, inst);
+ case 25: return new NextPathElementCS_ElementAssignment(this, this, 25, inst);
+ case 26: return new PrimitiveTypeCS_NameAssignment(this, this, 26, inst);
+ case 27: return new CollectionTypeCS_Group(this, this, 27, inst);
+ case 28: return new MultiplicityBoundsCS_Group(this, this, 28, inst);
+ case 29: return new MultiplicityCS_Group(this, this, 29, inst);
+ case 30: return new MultiplicityStringCS_StringBoundsAssignment(this, this, 30, inst);
+ case 31: return new TupleTypeCS_Group(this, this, 31, inst);
+ case 32: return new TuplePartCS_Group(this, this, 32, inst);
+ case 33: return new CollectionLiteralExpCS_Group(this, this, 33, inst);
+ case 34: return new CollectionLiteralPartCS_Group(this, this, 34, inst);
+ case 35: return new ConstructorPartCS_Group(this, this, 35, inst);
+ case 36: return new PrimitiveLiteralExpCS_Alternatives(this, this, 36, inst);
+ case 37: return new TupleLiteralExpCS_Group(this, this, 37, inst);
+ case 38: return new TupleLiteralPartCS_Group(this, this, 38, inst);
+ case 39: return new NumberLiteralExpCS_NameAssignment(this, this, 39, inst);
+ case 40: return new StringLiteralExpCS_NameAssignment(this, this, 40, inst);
+ case 41: return new BooleanLiteralExpCS_Alternatives(this, this, 41, inst);
+ case 42: return new UnlimitedNaturalLiteralExpCS_Group(this, this, 42, inst);
+ case 43: return new InvalidLiteralExpCS_Group(this, this, 43, inst);
+ case 44: return new NullLiteralExpCS_Group(this, this, 44, inst);
+ case 45: return new TypeLiteralCS_Alternatives(this, this, 45, inst);
+ case 46: return new TypeLiteralExpCS_OwnedTypeAssignment(this, this, 46, inst);
+ case 47: return new TypeNameExpCS_PathNameAssignment(this, this, 47, inst);
+ case 48: return new TypeExpCS_Group(this, this, 48, inst);
+ case 49: return new ExpCS_Alternatives(this, this, 49, inst);
+ case 50: return new BinaryOperatorCS_Alternatives(this, this, 50, inst);
+ case 51: return new InfixOperatorCS_NameAssignment(this, this, 51, inst);
+ case 52: return new NavigationOperatorCS_NameAssignment(this, this, 52, inst);
+ case 53: return new PrefixedExpCS_Alternatives(this, this, 53, inst);
+ case 54: return new PrefixedExpOrLetExpCS_Alternatives(this, this, 54, inst);
+ case 55: return new UnaryOperatorCS_NameAssignment(this, this, 55, inst);
+ case 56: return new PrimaryExpCS_Alternatives(this, this, 56, inst);
+ case 57: return new PrimaryExpOrLetExpCS_Alternatives(this, this, 57, inst);
+ case 58: return new NavigatingArgCS_Group(this, this, 58, inst);
+ case 59: return new NavigatingBarArgCS_Group(this, this, 59, inst);
+ case 60: return new NavigatingCommaArgCS_Group(this, this, 60, inst);
+ case 61: return new NavigatingSemiArgCS_Group(this, this, 61, inst);
+ case 62: return new NavigatingArgExpCS_ExpCSParserRuleCall(this, this, 62, inst);
+ case 63: return new IfExpCS_Group(this, this, 63, inst);
+ case 64: return new LetExpCS_Group(this, this, 64, inst);
+ case 65: return new LetVariableCS_Group(this, this, 65, inst);
+ case 66: return new NestedExpCS_Group(this, this, 66, inst);
+ case 67: return new SelfExpCS_Group(this, this, 67, inst);
+ default: return null;
+ }
+ }
+}
+
+
+/************ begin Rule TopLevelCS ****************
+ *
+ * TopLevelCS:
+ *
+ * ("import" importClause+=UnitCS ";")* transformation+=TransformationCS*;
+ *
+ **/
+
+// ("import" importClause+=UnitCS ";")* transformation+=TransformationCS*
+protected class TopLevelCS_Group extends GroupToken {
+
+ public TopLevelCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTopLevelCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TopLevelCS_TransformationAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TopLevelCS_Group_0(lastRuleCallOrigin, this, 1, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 2, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTopLevelCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// ("import" importClause+=UnitCS ";")*
+protected class TopLevelCS_Group_0 extends GroupToken {
+
+ public TopLevelCS_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTopLevelCSAccess().getGroup_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TopLevelCS_SemicolonKeyword_0_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "import"
+protected class TopLevelCS_ImportKeyword_0_0 extends KeywordToken {
+
+ public TopLevelCS_ImportKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTopLevelCSAccess().getImportKeyword_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TopLevelCS_Group_0(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+}
+
+// importClause+=UnitCS
+protected class TopLevelCS_ImportClauseAssignment_0_1 extends AssignmentToken {
+
+ public TopLevelCS_ImportClauseAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTopLevelCSAccess().getImportClauseAssignment_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnitCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("importClause",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("importClause");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getUnitCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTopLevelCSAccess().getImportClauseUnitCSParserRuleCall_0_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TopLevelCS_ImportKeyword_0_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ";"
+protected class TopLevelCS_SemicolonKeyword_0_2 extends KeywordToken {
+
+ public TopLevelCS_SemicolonKeyword_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTopLevelCSAccess().getSemicolonKeyword_0_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TopLevelCS_ImportClauseAssignment_0_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// transformation+=TransformationCS*
+protected class TopLevelCS_TransformationAssignment_1 extends AssignmentToken {
+
+ public TopLevelCS_TransformationAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTopLevelCSAccess().getTransformationAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("transformation",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("transformation");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTransformationCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTopLevelCSAccess().getTransformationTransformationCSParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TopLevelCS_TransformationAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new TopLevelCS_Group_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index - 2, consumed);
+ }
+ }
+}
+
+
+/************ end Rule TopLevelCS ****************/
+
+
+/************ begin Rule UnitCS ****************
+ *
+ * UnitCS:
+ *
+ * identifier+=[pivot::Element|UnrestrictedName] ("." identifier+=[pivot::Element|UnrestrictedName])*;
+ *
+ **/
+
+// identifier+=[pivot::Element|UnrestrictedName] ("." identifier+=[pivot::Element|UnrestrictedName])*
+protected class UnitCS_Group extends GroupToken {
+
+ public UnitCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getUnitCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnitCS_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new UnitCS_IdentifierAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getUnitCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// identifier+=[pivot::Element|UnrestrictedName]
+protected class UnitCS_IdentifierAssignment_0 extends AssignmentToken {
+
+ public UnitCS_IdentifierAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getUnitCSAccess().getIdentifierAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_0_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_0_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// ("." identifier+=[pivot::Element|UnrestrictedName])*
+protected class UnitCS_Group_1 extends GroupToken {
+
+ public UnitCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getUnitCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnitCS_IdentifierAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "."
+protected class UnitCS_FullStopKeyword_1_0 extends KeywordToken {
+
+ public UnitCS_FullStopKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getUnitCSAccess().getFullStopKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnitCS_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new UnitCS_IdentifierAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// identifier+=[pivot::Element|UnrestrictedName]
+protected class UnitCS_IdentifierAssignment_1_1 extends AssignmentToken {
+
+ public UnitCS_IdentifierAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getUnitCSAccess().getIdentifierAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnitCS_FullStopKeyword_1_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("identifier",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_1_1_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_1_1_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+
+
+/************ end Rule UnitCS ****************/
+
+
+/************ begin Rule TransformationCS ****************
+ *
+ * TransformationCS:
+ *
+ * "transformation" name=UnrestrictedName "(" modelDecl+=ModelDeclCS ("," modelDecl+=ModelDeclCS)* ")" ("extends"
+ *
+ * extends+=[qvtbase::Transformation|UnrestrictedName] ("," extends+=[qvtbase::Transformation|UnrestrictedName])*)? "{"
+ *
+ * keyDecl+=KeyDeclCS* (relation+=RelationCS | query+=QueryCS)* "}";
+ *
+ **/
+
+// "transformation" name=UnrestrictedName "(" modelDecl+=ModelDeclCS ("," modelDecl+=ModelDeclCS)* ")" ("extends"
+//
+// extends+=[qvtbase::Transformation|UnrestrictedName] ("," extends+=[qvtbase::Transformation|UnrestrictedName])*)? "{"
+//
+// keyDecl+=KeyDeclCS* (relation+=RelationCS | query+=QueryCS)* "}"
+protected class TransformationCS_Group extends GroupToken {
+
+ public TransformationCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_RightCurlyBracketKeyword_10(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTransformationCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "transformation"
+protected class TransformationCS_TransformationKeyword_0 extends KeywordToken {
+
+ public TransformationCS_TransformationKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getTransformationKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// name=UnrestrictedName
+protected class TransformationCS_NameAssignment_1 extends AssignmentToken {
+
+ public TransformationCS_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_TransformationKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTransformationCSAccess().getNameUnrestrictedNameParserRuleCall_1_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getTransformationCSAccess().getNameUnrestrictedNameParserRuleCall_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "("
+protected class TransformationCS_LeftParenthesisKeyword_2 extends KeywordToken {
+
+ public TransformationCS_LeftParenthesisKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getLeftParenthesisKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// modelDecl+=ModelDeclCS
+protected class TransformationCS_ModelDeclAssignment_3 extends AssignmentToken {
+
+ public TransformationCS_ModelDeclAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getModelDeclAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ModelDeclCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("modelDecl",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("modelDecl");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getModelDeclCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTransformationCSAccess().getModelDeclModelDeclCSParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TransformationCS_LeftParenthesisKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," modelDecl+=ModelDeclCS)*
+protected class TransformationCS_Group_4 extends GroupToken {
+
+ public TransformationCS_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getGroup_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_ModelDeclAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class TransformationCS_CommaKeyword_4_0 extends KeywordToken {
+
+ public TransformationCS_CommaKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getCommaKeyword_4_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_Group_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TransformationCS_ModelDeclAssignment_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// modelDecl+=ModelDeclCS
+protected class TransformationCS_ModelDeclAssignment_4_1 extends AssignmentToken {
+
+ public TransformationCS_ModelDeclAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getModelDeclAssignment_4_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ModelDeclCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("modelDecl",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("modelDecl");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getModelDeclCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTransformationCSAccess().getModelDeclModelDeclCSParserRuleCall_4_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TransformationCS_CommaKeyword_4_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// ")"
+protected class TransformationCS_RightParenthesisKeyword_5 extends KeywordToken {
+
+ public TransformationCS_RightParenthesisKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getRightParenthesisKeyword_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_Group_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TransformationCS_ModelDeclAssignment_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ("extends" extends+=[qvtbase::Transformation|UnrestrictedName] (","
+//
+// extends+=[qvtbase::Transformation|UnrestrictedName])*)?
+protected class TransformationCS_Group_6 extends GroupToken {
+
+ public TransformationCS_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getGroup_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_Group_6_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TransformationCS_ExtendsAssignment_6_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "extends"
+protected class TransformationCS_ExtendsKeyword_6_0 extends KeywordToken {
+
+ public TransformationCS_ExtendsKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getExtendsKeyword_6_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_RightParenthesisKeyword_5(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// extends+=[qvtbase::Transformation|UnrestrictedName]
+protected class TransformationCS_ExtendsAssignment_6_1 extends AssignmentToken {
+
+ public TransformationCS_ExtendsAssignment_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getExtendsAssignment_6_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_ExtendsKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("extends",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("extends");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_1_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_1_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// ("," extends+=[qvtbase::Transformation|UnrestrictedName])*
+protected class TransformationCS_Group_6_2 extends GroupToken {
+
+ public TransformationCS_Group_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getGroup_6_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_ExtendsAssignment_6_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class TransformationCS_CommaKeyword_6_2_0 extends KeywordToken {
+
+ public TransformationCS_CommaKeyword_6_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getCommaKeyword_6_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_Group_6_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TransformationCS_ExtendsAssignment_6_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// extends+=[qvtbase::Transformation|UnrestrictedName]
+protected class TransformationCS_ExtendsAssignment_6_2_1 extends AssignmentToken {
+
+ public TransformationCS_ExtendsAssignment_6_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getExtendsAssignment_6_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_CommaKeyword_6_2_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("extends",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("extends");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_2_1_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_2_1_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+
+
+// "{"
+protected class TransformationCS_LeftCurlyBracketKeyword_7 extends KeywordToken {
+
+ public TransformationCS_LeftCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getLeftCurlyBracketKeyword_7();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_Group_6(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TransformationCS_RightParenthesisKeyword_5(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// keyDecl+=KeyDeclCS*
+protected class TransformationCS_KeyDeclAssignment_8 extends AssignmentToken {
+
+ public TransformationCS_KeyDeclAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getKeyDeclAssignment_8();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new KeyDeclCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("keyDecl",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("keyDecl");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getKeyDeclCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTransformationCSAccess().getKeyDeclKeyDeclCSParserRuleCall_8_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TransformationCS_KeyDeclAssignment_8(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new TransformationCS_LeftCurlyBracketKeyword_7(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// (relation+=RelationCS | query+=QueryCS)*
+protected class TransformationCS_Alternatives_9 extends AlternativesToken {
+
+ public TransformationCS_Alternatives_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getAlternatives_9();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_RelationAssignment_9_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TransformationCS_QueryAssignment_9_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// relation+=RelationCS
+protected class TransformationCS_RelationAssignment_9_0 extends AssignmentToken {
+
+ public TransformationCS_RelationAssignment_9_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getRelationAssignment_9_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("relation",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relation");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getRelationCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTransformationCSAccess().getRelationRelationCSParserRuleCall_9_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TransformationCS_Alternatives_9(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new TransformationCS_KeyDeclAssignment_8(lastRuleCallOrigin, next, actIndex, consumed);
+ case 2: return new TransformationCS_LeftCurlyBracketKeyword_7(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// query+=QueryCS
+protected class TransformationCS_QueryAssignment_9_1 extends AssignmentToken {
+
+ public TransformationCS_QueryAssignment_9_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getQueryAssignment_9_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QueryCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("query",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("query");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQueryCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTransformationCSAccess().getQueryQueryCSParserRuleCall_9_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TransformationCS_Alternatives_9(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new TransformationCS_KeyDeclAssignment_8(lastRuleCallOrigin, next, actIndex, consumed);
+ case 2: return new TransformationCS_LeftCurlyBracketKeyword_7(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// "}"
+protected class TransformationCS_RightCurlyBracketKeyword_10 extends KeywordToken {
+
+ public TransformationCS_RightCurlyBracketKeyword_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTransformationCSAccess().getRightCurlyBracketKeyword_10();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TransformationCS_Alternatives_9(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TransformationCS_KeyDeclAssignment_8(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new TransformationCS_LeftCurlyBracketKeyword_7(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule TransformationCS ****************/
+
+
+/************ begin Rule ModelDeclCS ****************
+ *
+ * ModelDeclCS:
+ *
+ * name=UnrestrictedName ":" (metaModelId+=[pivot::Package|UnrestrictedName] | "{"
+ *
+ * metaModelId+=[pivot::Package|UnrestrictedName] ("," metaModelId+=[pivot::Package|UnrestrictedName])* "}");
+ *
+ **/
+
+// name=UnrestrictedName ":" (metaModelId+=[pivot::Package|UnrestrictedName] | "{"
+//
+// metaModelId+=[pivot::Package|UnrestrictedName] ("," metaModelId+=[pivot::Package|UnrestrictedName])* "}")
+protected class ModelDeclCS_Group extends GroupToken {
+
+ public ModelDeclCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getModelDeclCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ModelDeclCS_Alternatives_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getModelDeclCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// name=UnrestrictedName
+protected class ModelDeclCS_NameAssignment_0 extends AssignmentToken {
+
+ public ModelDeclCS_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getModelDeclCSAccess().getNameAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getModelDeclCSAccess().getNameUnrestrictedNameParserRuleCall_0_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getModelDeclCSAccess().getNameUnrestrictedNameParserRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ":"
+protected class ModelDeclCS_ColonKeyword_1 extends KeywordToken {
+
+ public ModelDeclCS_ColonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getModelDeclCSAccess().getColonKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ModelDeclCS_NameAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// metaModelId+=[pivot::Package|UnrestrictedName] | "{" metaModelId+=[pivot::Package|UnrestrictedName] (","
+//
+// metaModelId+=[pivot::Package|UnrestrictedName])* "}"
+protected class ModelDeclCS_Alternatives_2 extends AlternativesToken {
+
+ public ModelDeclCS_Alternatives_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getModelDeclCSAccess().getAlternatives_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ModelDeclCS_MetaModelIdAssignment_2_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ModelDeclCS_Group_2_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// metaModelId+=[pivot::Package|UnrestrictedName]
+protected class ModelDeclCS_MetaModelIdAssignment_2_0 extends AssignmentToken {
+
+ public ModelDeclCS_MetaModelIdAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ModelDeclCS_ColonKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("metaModelId",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("metaModelId");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_0_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_0_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// "{" metaModelId+=[pivot::Package|UnrestrictedName] ("," metaModelId+=[pivot::Package|UnrestrictedName])* "}"
+protected class ModelDeclCS_Group_2_1 extends GroupToken {
+
+ public ModelDeclCS_Group_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getModelDeclCSAccess().getGroup_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ModelDeclCS_RightCurlyBracketKeyword_2_1_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "{"
+protected class ModelDeclCS_LeftCurlyBracketKeyword_2_1_0 extends KeywordToken {
+
+ public ModelDeclCS_LeftCurlyBracketKeyword_2_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getModelDeclCSAccess().getLeftCurlyBracketKeyword_2_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ModelDeclCS_ColonKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// metaModelId+=[pivot::Package|UnrestrictedName]
+protected class ModelDeclCS_MetaModelIdAssignment_2_1_1 extends AssignmentToken {
+
+ public ModelDeclCS_MetaModelIdAssignment_2_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ModelDeclCS_LeftCurlyBracketKeyword_2_1_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("metaModelId",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("metaModelId");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_1_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_1_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// ("," metaModelId+=[pivot::Package|UnrestrictedName])*
+protected class ModelDeclCS_Group_2_1_2 extends GroupToken {
+
+ public ModelDeclCS_Group_2_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getModelDeclCSAccess().getGroup_2_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ModelDeclCS_MetaModelIdAssignment_2_1_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class ModelDeclCS_CommaKeyword_2_1_2_0 extends KeywordToken {
+
+ public ModelDeclCS_CommaKeyword_2_1_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getModelDeclCSAccess().getCommaKeyword_2_1_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ModelDeclCS_Group_2_1_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ModelDeclCS_MetaModelIdAssignment_2_1_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// metaModelId+=[pivot::Package|UnrestrictedName]
+protected class ModelDeclCS_MetaModelIdAssignment_2_1_2_1 extends AssignmentToken {
+
+ public ModelDeclCS_MetaModelIdAssignment_2_1_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getModelDeclCSAccess().getMetaModelIdAssignment_2_1_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ModelDeclCS_CommaKeyword_2_1_2_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("metaModelId",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("metaModelId");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_2_1_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_2_1_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+
+// "}"
+protected class ModelDeclCS_RightCurlyBracketKeyword_2_1_3 extends KeywordToken {
+
+ public ModelDeclCS_RightCurlyBracketKeyword_2_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getModelDeclCSAccess().getRightCurlyBracketKeyword_2_1_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ModelDeclCS_Group_2_1_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ModelDeclCS_MetaModelIdAssignment_2_1_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+
+/************ end Rule ModelDeclCS ****************/
+
+
+/************ begin Rule KeyDeclCS ****************
+ *
+ * KeyDeclCS:
+ *
+ * "key" pathName=PathNameCS "{" propertyId+=[pivot::Property|UnrestrictedName] (","
+ *
+ * propertyId+=[pivot::Property|UnrestrictedName])* "}" ";";
+ *
+ **/
+
+// "key" pathName=PathNameCS "{" propertyId+=[pivot::Property|UnrestrictedName] (","
+//
+// propertyId+=[pivot::Property|UnrestrictedName])* "}" ";"
+protected class KeyDeclCS_Group extends GroupToken {
+
+ public KeyDeclCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getKeyDeclCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new KeyDeclCS_SemicolonKeyword_6(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getKeyDeclCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "key"
+protected class KeyDeclCS_KeyKeyword_0 extends KeywordToken {
+
+ public KeyDeclCS_KeyKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getKeyDeclCSAccess().getKeyKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// pathName=PathNameCS
+protected class KeyDeclCS_PathNameAssignment_1 extends AssignmentToken {
+
+ public KeyDeclCS_PathNameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getKeyDeclCSAccess().getPathNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PathNameCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("pathName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("pathName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPathNameCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getKeyDeclCSAccess().getPathNamePathNameCSParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new KeyDeclCS_KeyKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "{"
+protected class KeyDeclCS_LeftCurlyBracketKeyword_2 extends KeywordToken {
+
+ public KeyDeclCS_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getKeyDeclCSAccess().getLeftCurlyBracketKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new KeyDeclCS_PathNameAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// propertyId+=[pivot::Property|UnrestrictedName]
+protected class KeyDeclCS_PropertyIdAssignment_3 extends AssignmentToken {
+
+ public KeyDeclCS_PropertyIdAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getKeyDeclCSAccess().getPropertyIdAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new KeyDeclCS_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("propertyId",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("propertyId");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_3_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_3_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// ("," propertyId+=[pivot::Property|UnrestrictedName])*
+protected class KeyDeclCS_Group_4 extends GroupToken {
+
+ public KeyDeclCS_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getKeyDeclCSAccess().getGroup_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new KeyDeclCS_PropertyIdAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class KeyDeclCS_CommaKeyword_4_0 extends KeywordToken {
+
+ public KeyDeclCS_CommaKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getKeyDeclCSAccess().getCommaKeyword_4_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new KeyDeclCS_Group_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new KeyDeclCS_PropertyIdAssignment_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// propertyId+=[pivot::Property|UnrestrictedName]
+protected class KeyDeclCS_PropertyIdAssignment_4_1 extends AssignmentToken {
+
+ public KeyDeclCS_PropertyIdAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getKeyDeclCSAccess().getPropertyIdAssignment_4_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new KeyDeclCS_CommaKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("propertyId",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("propertyId");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_4_1_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_4_1_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+
+// "}"
+protected class KeyDeclCS_RightCurlyBracketKeyword_5 extends KeywordToken {
+
+ public KeyDeclCS_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getKeyDeclCSAccess().getRightCurlyBracketKeyword_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new KeyDeclCS_Group_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new KeyDeclCS_PropertyIdAssignment_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ";"
+protected class KeyDeclCS_SemicolonKeyword_6 extends KeywordToken {
+
+ public KeyDeclCS_SemicolonKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getKeyDeclCSAccess().getSemicolonKeyword_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new KeyDeclCS_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule KeyDeclCS ****************/
+
+
+/************ begin Rule RelationCS ****************
+ *
+ * RelationCS:
+ *
+ * top?="top"? "relation" name=UnrestrictedName ("overrides" overrides=[qvtrelation::Relation|UnrestrictedName])? "{"
+ *
+ * varDeclaration+=VarDeclarationCS* (domain+=DomainCS | domain+=PrimitiveTypeDomainCS)+ when=WhenCS? where=WhereCS?
+ *
+ * "}";
+ *
+ **/
+
+// top?="top"? "relation" name=UnrestrictedName ("overrides" overrides=[qvtrelation::Relation|UnrestrictedName])? "{"
+//
+// varDeclaration+=VarDeclarationCS* (domain+=DomainCS | domain+=PrimitiveTypeDomainCS)+ when=WhenCS? where=WhereCS? "}"
+protected class RelationCS_Group extends GroupToken {
+
+ public RelationCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationCS_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getRelationCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// top?="top"?
+protected class RelationCS_TopAssignment_0 extends AssignmentToken {
+
+ public RelationCS_TopAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getTopAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("top",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("top");
+ if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getRelationCSAccess().getTopTopKeyword_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "relation"
+protected class RelationCS_RelationKeyword_1 extends KeywordToken {
+
+ public RelationCS_RelationKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getRelationKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationCS_TopAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+}
+
+// name=UnrestrictedName
+protected class RelationCS_NameAssignment_2 extends AssignmentToken {
+
+ public RelationCS_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getNameAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationCS_RelationKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRelationCSAccess().getNameUnrestrictedNameParserRuleCall_2_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getRelationCSAccess().getNameUnrestrictedNameParserRuleCall_2_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ("overrides" overrides=[qvtrelation::Relation|UnrestrictedName])?
+protected class RelationCS_Group_3 extends GroupToken {
+
+ public RelationCS_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getGroup_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationCS_OverridesAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "overrides"
+protected class RelationCS_OverridesKeyword_3_0 extends KeywordToken {
+
+ public RelationCS_OverridesKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getOverridesKeyword_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationCS_NameAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// overrides=[qvtrelation::Relation|UnrestrictedName]
+protected class RelationCS_OverridesAssignment_3_1 extends AssignmentToken {
+
+ public RelationCS_OverridesAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getOverridesAssignment_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationCS_OverridesKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("overrides",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("overrides");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getRelationCSAccess().getOverridesRelationCrossReference_3_1_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getRelationCSAccess().getOverridesRelationCrossReference_3_1_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+
+// "{"
+protected class RelationCS_LeftCurlyBracketKeyword_4 extends KeywordToken {
+
+ public RelationCS_LeftCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getLeftCurlyBracketKeyword_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationCS_Group_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new RelationCS_NameAssignment_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// varDeclaration+=VarDeclarationCS*
+protected class RelationCS_VarDeclarationAssignment_5 extends AssignmentToken {
+
+ public RelationCS_VarDeclarationAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getVarDeclarationAssignment_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VarDeclarationCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("varDeclaration",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("varDeclaration");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getVarDeclarationCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getRelationCSAccess().getVarDeclarationVarDeclarationCSParserRuleCall_5_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new RelationCS_VarDeclarationAssignment_5(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new RelationCS_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// (domain+=DomainCS | domain+=PrimitiveTypeDomainCS)+
+protected class RelationCS_Alternatives_6 extends AlternativesToken {
+
+ public RelationCS_Alternatives_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getAlternatives_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationCS_DomainAssignment_6_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new RelationCS_DomainAssignment_6_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// domain+=DomainCS
+protected class RelationCS_DomainAssignment_6_0 extends AssignmentToken {
+
+ public RelationCS_DomainAssignment_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getDomainAssignment_6_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DomainCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("domain",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("domain");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getDomainCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getRelationCSAccess().getDomainDomainCSParserRuleCall_6_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new RelationCS_Alternatives_6(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new RelationCS_VarDeclarationAssignment_5(lastRuleCallOrigin, next, actIndex, consumed);
+ case 2: return new RelationCS_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// domain+=PrimitiveTypeDomainCS
+protected class RelationCS_DomainAssignment_6_1 extends AssignmentToken {
+
+ public RelationCS_DomainAssignment_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getDomainAssignment_6_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimitiveTypeDomainCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("domain",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("domain");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPrimitiveTypeDomainCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getRelationCSAccess().getDomainPrimitiveTypeDomainCSParserRuleCall_6_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new RelationCS_Alternatives_6(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new RelationCS_VarDeclarationAssignment_5(lastRuleCallOrigin, next, actIndex, consumed);
+ case 2: return new RelationCS_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// when=WhenCS?
+protected class RelationCS_WhenAssignment_7 extends AssignmentToken {
+
+ public RelationCS_WhenAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getWhenAssignment_7();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhenCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("when",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("when");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getWhenCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getRelationCSAccess().getWhenWhenCSParserRuleCall_7_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new RelationCS_Alternatives_6(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// where=WhereCS?
+protected class RelationCS_WhereAssignment_8 extends AssignmentToken {
+
+ public RelationCS_WhereAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getWhereAssignment_8();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhereCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("where",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("where");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getWhereCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getRelationCSAccess().getWhereWhereCSParserRuleCall_8_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new RelationCS_WhenAssignment_7(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new RelationCS_Alternatives_6(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "}"
+protected class RelationCS_RightCurlyBracketKeyword_9 extends KeywordToken {
+
+ public RelationCS_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getRelationCSAccess().getRightCurlyBracketKeyword_9();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationCS_WhereAssignment_8(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new RelationCS_WhenAssignment_7(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new RelationCS_Alternatives_6(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule RelationCS ****************/
+
+
+/************ begin Rule WhenCS ****************
+ *
+ * WhenCS:
+ *
+ * {WhenCS} "when" "{" (expr+=ExpCS ";")* "}";
+ *
+ **/
+
+// {WhenCS} "when" "{" (expr+=ExpCS ";")* "}"
+protected class WhenCS_Group extends GroupToken {
+
+ public WhenCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getWhenCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhenCS_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getWhenCSAccess().getWhenCSAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {WhenCS}
+protected class WhenCS_WhenCSAction_0 extends ActionToken {
+
+ public WhenCS_WhenCSAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getWhenCSAccess().getWhenCSAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// "when"
+protected class WhenCS_WhenKeyword_1 extends KeywordToken {
+
+ public WhenCS_WhenKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getWhenCSAccess().getWhenKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhenCS_WhenCSAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "{"
+protected class WhenCS_LeftCurlyBracketKeyword_2 extends KeywordToken {
+
+ public WhenCS_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getWhenCSAccess().getLeftCurlyBracketKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhenCS_WhenKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// (expr+=ExpCS ";")*
+protected class WhenCS_Group_3 extends GroupToken {
+
+ public WhenCS_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getWhenCSAccess().getGroup_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhenCS_SemicolonKeyword_3_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// expr+=ExpCS
+protected class WhenCS_ExprAssignment_3_0 extends AssignmentToken {
+
+ public WhenCS_ExprAssignment_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getWhenCSAccess().getExprAssignment_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expr",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expr");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getWhenCSAccess().getExprExpCSParserRuleCall_3_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new WhenCS_Group_3(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new WhenCS_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ";"
+protected class WhenCS_SemicolonKeyword_3_1 extends KeywordToken {
+
+ public WhenCS_SemicolonKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getWhenCSAccess().getSemicolonKeyword_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhenCS_ExprAssignment_3_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// "}"
+protected class WhenCS_RightCurlyBracketKeyword_4 extends KeywordToken {
+
+ public WhenCS_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getWhenCSAccess().getRightCurlyBracketKeyword_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhenCS_Group_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new WhenCS_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule WhenCS ****************/
+
+
+/************ begin Rule WhereCS ****************
+ *
+ * WhereCS:
+ *
+ * {WhereCS} "where" "{" (expr+=ExpCS ";")* "}";
+ *
+ **/
+
+// {WhereCS} "where" "{" (expr+=ExpCS ";")* "}"
+protected class WhereCS_Group extends GroupToken {
+
+ public WhereCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getWhereCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhereCS_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getWhereCSAccess().getWhereCSAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {WhereCS}
+protected class WhereCS_WhereCSAction_0 extends ActionToken {
+
+ public WhereCS_WhereCSAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getWhereCSAccess().getWhereCSAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// "where"
+protected class WhereCS_WhereKeyword_1 extends KeywordToken {
+
+ public WhereCS_WhereKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getWhereCSAccess().getWhereKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhereCS_WhereCSAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "{"
+protected class WhereCS_LeftCurlyBracketKeyword_2 extends KeywordToken {
+
+ public WhereCS_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getWhereCSAccess().getLeftCurlyBracketKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhereCS_WhereKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// (expr+=ExpCS ";")*
+protected class WhereCS_Group_3 extends GroupToken {
+
+ public WhereCS_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getWhereCSAccess().getGroup_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhereCS_SemicolonKeyword_3_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// expr+=ExpCS
+protected class WhereCS_ExprAssignment_3_0 extends AssignmentToken {
+
+ public WhereCS_ExprAssignment_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getWhereCSAccess().getExprAssignment_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expr",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expr");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getWhereCSAccess().getExprExpCSParserRuleCall_3_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new WhereCS_Group_3(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new WhereCS_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ";"
+protected class WhereCS_SemicolonKeyword_3_1 extends KeywordToken {
+
+ public WhereCS_SemicolonKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getWhereCSAccess().getSemicolonKeyword_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhereCS_ExprAssignment_3_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// "}"
+protected class WhereCS_RightCurlyBracketKeyword_4 extends KeywordToken {
+
+ public WhereCS_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getWhereCSAccess().getRightCurlyBracketKeyword_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhereCS_Group_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new WhereCS_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule WhereCS ****************/
+
+
+/************ begin Rule VarDeclarationCS ****************
+ *
+ * VarDeclarationCS:
+ *
+ * varDeclarationId+=[pivot::Property|UnrestrictedName] ("," varDeclarationId+=[pivot::Property|UnrestrictedName])* ":"
+ *
+ * type=TypedRefCS ";";
+ *
+ **/
+
+// varDeclarationId+=[pivot::Property|UnrestrictedName] ("," varDeclarationId+=[pivot::Property|UnrestrictedName])* ":"
+//
+// type=TypedRefCS ";"
+protected class VarDeclarationCS_Group extends GroupToken {
+
+ public VarDeclarationCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getVarDeclarationCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VarDeclarationCS_SemicolonKeyword_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getVarDeclarationCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// varDeclarationId+=[pivot::Property|UnrestrictedName]
+protected class VarDeclarationCS_VarDeclarationIdAssignment_0 extends AssignmentToken {
+
+ public VarDeclarationCS_VarDeclarationIdAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("varDeclarationId",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("varDeclarationId");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_0_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_0_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// ("," varDeclarationId+=[pivot::Property|UnrestrictedName])*
+protected class VarDeclarationCS_Group_1 extends GroupToken {
+
+ public VarDeclarationCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getVarDeclarationCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VarDeclarationCS_VarDeclarationIdAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class VarDeclarationCS_CommaKeyword_1_0 extends KeywordToken {
+
+ public VarDeclarationCS_CommaKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getVarDeclarationCSAccess().getCommaKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VarDeclarationCS_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new VarDeclarationCS_VarDeclarationIdAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// varDeclarationId+=[pivot::Property|UnrestrictedName]
+protected class VarDeclarationCS_VarDeclarationIdAssignment_1_1 extends AssignmentToken {
+
+ public VarDeclarationCS_VarDeclarationIdAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VarDeclarationCS_CommaKeyword_1_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("varDeclarationId",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("varDeclarationId");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_1_1_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_1_1_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+
+// ":"
+protected class VarDeclarationCS_ColonKeyword_2 extends KeywordToken {
+
+ public VarDeclarationCS_ColonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getVarDeclarationCSAccess().getColonKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VarDeclarationCS_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new VarDeclarationCS_VarDeclarationIdAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// type=TypedRefCS
+protected class VarDeclarationCS_TypeAssignment_3 extends AssignmentToken {
+
+ public VarDeclarationCS_TypeAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getVarDeclarationCSAccess().getTypeAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypedRefCS_PathNameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("type",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTypedRefCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getVarDeclarationCSAccess().getTypeTypedRefCSParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new VarDeclarationCS_ColonKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ";"
+protected class VarDeclarationCS_SemicolonKeyword_4 extends KeywordToken {
+
+ public VarDeclarationCS_SemicolonKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getVarDeclarationCSAccess().getSemicolonKeyword_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VarDeclarationCS_TypeAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule VarDeclarationCS ****************/
+
+
+/************ begin Rule DomainCS ****************
+ *
+ * DomainCS:
+ *
+ * (checkonly?="checkonly" | enforce?="enforce")? "domain" modelId=[qvtbase::TypedModel|UnrestrictedName]
+ *
+ * template=TemplateCS ("implementedby" implementedBy=ExpCS)? ("default_values" "{" defaultValue+=DefaultValueCS+ "}")?
+ *
+ * ";";
+ *
+ **/
+
+// (checkonly?="checkonly" | enforce?="enforce")? "domain" modelId=[qvtbase::TypedModel|UnrestrictedName]
+//
+// template=TemplateCS ("implementedby" implementedBy=ExpCS)? ("default_values" "{" defaultValue+=DefaultValueCS+ "}")?
+//
+// ";"
+protected class DomainCS_Group extends GroupToken {
+
+ public DomainCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DomainCS_SemicolonKeyword_6(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDomainCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// (checkonly?="checkonly" | enforce?="enforce")?
+protected class DomainCS_Alternatives_0 extends AlternativesToken {
+
+ public DomainCS_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getAlternatives_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DomainCS_CheckonlyAssignment_0_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new DomainCS_EnforceAssignment_0_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// checkonly?="checkonly"
+protected class DomainCS_CheckonlyAssignment_0_0 extends AssignmentToken {
+
+ public DomainCS_CheckonlyAssignment_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getCheckonlyAssignment_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("checkonly",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("checkonly");
+ if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getDomainCSAccess().getCheckonlyCheckonlyKeyword_0_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// enforce?="enforce"
+protected class DomainCS_EnforceAssignment_0_1 extends AssignmentToken {
+
+ public DomainCS_EnforceAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getEnforceAssignment_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("enforce",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("enforce");
+ if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getDomainCSAccess().getEnforceEnforceKeyword_0_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+// "domain"
+protected class DomainCS_DomainKeyword_1 extends KeywordToken {
+
+ public DomainCS_DomainKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getDomainKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DomainCS_Alternatives_0(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+}
+
+// modelId=[qvtbase::TypedModel|UnrestrictedName]
+protected class DomainCS_ModelIdAssignment_2 extends AssignmentToken {
+
+ public DomainCS_ModelIdAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getModelIdAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DomainCS_DomainKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("modelId",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("modelId");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getDomainCSAccess().getModelIdTypedModelCrossReference_2_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getDomainCSAccess().getModelIdTypedModelCrossReference_2_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// template=TemplateCS
+protected class DomainCS_TemplateAssignment_3 extends AssignmentToken {
+
+ public DomainCS_TemplateAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getTemplateAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TemplateCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("template",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("template");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTemplateCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getDomainCSAccess().getTemplateTemplateCSParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new DomainCS_ModelIdAssignment_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("implementedby" implementedBy=ExpCS)?
+protected class DomainCS_Group_4 extends GroupToken {
+
+ public DomainCS_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getGroup_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DomainCS_ImplementedByAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "implementedby"
+protected class DomainCS_ImplementedbyKeyword_4_0 extends KeywordToken {
+
+ public DomainCS_ImplementedbyKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getImplementedbyKeyword_4_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DomainCS_TemplateAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// implementedBy=ExpCS
+protected class DomainCS_ImplementedByAssignment_4_1 extends AssignmentToken {
+
+ public DomainCS_ImplementedByAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getImplementedByAssignment_4_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("implementedBy",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("implementedBy");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getDomainCSAccess().getImplementedByExpCSParserRuleCall_4_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new DomainCS_ImplementedbyKeyword_4_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// ("default_values" "{" defaultValue+=DefaultValueCS+ "}")?
+protected class DomainCS_Group_5 extends GroupToken {
+
+ public DomainCS_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getGroup_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DomainCS_RightCurlyBracketKeyword_5_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "default_values"
+protected class DomainCS_Default_valuesKeyword_5_0 extends KeywordToken {
+
+ public DomainCS_Default_valuesKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getDefault_valuesKeyword_5_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DomainCS_Group_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new DomainCS_TemplateAssignment_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "{"
+protected class DomainCS_LeftCurlyBracketKeyword_5_1 extends KeywordToken {
+
+ public DomainCS_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getLeftCurlyBracketKeyword_5_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DomainCS_Default_valuesKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// defaultValue+=DefaultValueCS+
+protected class DomainCS_DefaultValueAssignment_5_2 extends AssignmentToken {
+
+ public DomainCS_DefaultValueAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getDefaultValueAssignment_5_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DefaultValueCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("defaultValue",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("defaultValue");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getDefaultValueCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getDomainCSAccess().getDefaultValueDefaultValueCSParserRuleCall_5_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new DomainCS_DefaultValueAssignment_5_2(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new DomainCS_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "}"
+protected class DomainCS_RightCurlyBracketKeyword_5_3 extends KeywordToken {
+
+ public DomainCS_RightCurlyBracketKeyword_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getRightCurlyBracketKeyword_5_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DomainCS_DefaultValueAssignment_5_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// ";"
+protected class DomainCS_SemicolonKeyword_6 extends KeywordToken {
+
+ public DomainCS_SemicolonKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDomainCSAccess().getSemicolonKeyword_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DomainCS_Group_5(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new DomainCS_Group_4(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new DomainCS_TemplateAssignment_3(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule DomainCS ****************/
+
+
+/************ begin Rule PrimitiveTypeDomainCS ****************
+ *
+ * PrimitiveTypeDomainCS:
+ *
+ * "primitive" "domain" name=UnrestrictedName ":" type=TypedRefCS ";";
+ *
+ **/
+
+// "primitive" "domain" name=UnrestrictedName ":" type=TypedRefCS ";"
+protected class PrimitiveTypeDomainCS_Group extends GroupToken {
+
+ public PrimitiveTypeDomainCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimitiveTypeDomainCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimitiveTypeDomainCS_SemicolonKeyword_5(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPrimitiveTypeDomainCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "primitive"
+protected class PrimitiveTypeDomainCS_PrimitiveKeyword_0 extends KeywordToken {
+
+ public PrimitiveTypeDomainCS_PrimitiveKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimitiveTypeDomainCSAccess().getPrimitiveKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// "domain"
+protected class PrimitiveTypeDomainCS_DomainKeyword_1 extends KeywordToken {
+
+ public PrimitiveTypeDomainCS_DomainKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimitiveTypeDomainCSAccess().getDomainKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimitiveTypeDomainCS_PrimitiveKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// name=UnrestrictedName
+protected class PrimitiveTypeDomainCS_NameAssignment_2 extends AssignmentToken {
+
+ public PrimitiveTypeDomainCS_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimitiveTypeDomainCSAccess().getNameAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimitiveTypeDomainCS_DomainKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPrimitiveTypeDomainCSAccess().getNameUnrestrictedNameParserRuleCall_2_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getPrimitiveTypeDomainCSAccess().getNameUnrestrictedNameParserRuleCall_2_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ":"
+protected class PrimitiveTypeDomainCS_ColonKeyword_3 extends KeywordToken {
+
+ public PrimitiveTypeDomainCS_ColonKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimitiveTypeDomainCSAccess().getColonKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimitiveTypeDomainCS_NameAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// type=TypedRefCS
+protected class PrimitiveTypeDomainCS_TypeAssignment_4 extends AssignmentToken {
+
+ public PrimitiveTypeDomainCS_TypeAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimitiveTypeDomainCSAccess().getTypeAssignment_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypedRefCS_PathNameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("type",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTypedRefCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimitiveTypeDomainCSAccess().getTypeTypedRefCSParserRuleCall_4_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimitiveTypeDomainCS_ColonKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ";"
+protected class PrimitiveTypeDomainCS_SemicolonKeyword_5 extends KeywordToken {
+
+ public PrimitiveTypeDomainCS_SemicolonKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimitiveTypeDomainCSAccess().getSemicolonKeyword_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimitiveTypeDomainCS_TypeAssignment_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule PrimitiveTypeDomainCS ****************/
+
+
+/************ begin Rule TemplateCS ****************
+ *
+ * TemplateCS:
+ *
+ * (ObjectTemplateCS | CollectionTemplateCS) ("{" guardExpression=ExpCS "}")?;
+ *
+ **/
+
+// (ObjectTemplateCS | CollectionTemplateCS) ("{" guardExpression=ExpCS "}")?
+protected class TemplateCS_Group extends GroupToken {
+
+ public TemplateCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTemplateCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TemplateCS_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TemplateCS_Alternatives_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectionTemplateCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getObjectTemplateCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// ObjectTemplateCS | CollectionTemplateCS
+protected class TemplateCS_Alternatives_0 extends AlternativesToken {
+
+ public TemplateCS_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getTemplateCSAccess().getAlternatives_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TemplateCS_ObjectTemplateCSParserRuleCall_0_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TemplateCS_CollectionTemplateCSParserRuleCall_0_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ObjectTemplateCS
+protected class TemplateCS_ObjectTemplateCSParserRuleCall_0_0 extends RuleCallToken {
+
+ public TemplateCS_ObjectTemplateCSParserRuleCall_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getTemplateCSAccess().getObjectTemplateCSParserRuleCall_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ObjectTemplateCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getObjectTemplateCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(ObjectTemplateCS_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// CollectionTemplateCS
+protected class TemplateCS_CollectionTemplateCSParserRuleCall_0_1 extends RuleCallToken {
+
+ public TemplateCS_CollectionTemplateCSParserRuleCall_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getTemplateCSAccess().getCollectionTemplateCSParserRuleCall_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTemplateCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectionTemplateCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(CollectionTemplateCS_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+// ("{" guardExpression=ExpCS "}")?
+protected class TemplateCS_Group_1 extends GroupToken {
+
+ public TemplateCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTemplateCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TemplateCS_RightCurlyBracketKeyword_1_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "{"
+protected class TemplateCS_LeftCurlyBracketKeyword_1_0 extends KeywordToken {
+
+ public TemplateCS_LeftCurlyBracketKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTemplateCSAccess().getLeftCurlyBracketKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TemplateCS_Alternatives_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// guardExpression=ExpCS
+protected class TemplateCS_GuardExpressionAssignment_1_1 extends AssignmentToken {
+
+ public TemplateCS_GuardExpressionAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTemplateCSAccess().getGuardExpressionAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("guardExpression",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("guardExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTemplateCSAccess().getGuardExpressionExpCSParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TemplateCS_LeftCurlyBracketKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "}"
+protected class TemplateCS_RightCurlyBracketKeyword_1_2 extends KeywordToken {
+
+ public TemplateCS_RightCurlyBracketKeyword_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTemplateCSAccess().getRightCurlyBracketKeyword_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TemplateCS_GuardExpressionAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+/************ end Rule TemplateCS ****************/
+
+
+/************ begin Rule ObjectTemplateCS ****************
+ *
+ * ObjectTemplateCS:
+ *
+ * propertyId=[pivot::Property|UnrestrictedName]? ":" type=TypedRefCS "{" (propertyTemplate+=PropertyTemplateCS (","
+ *
+ * propertyTemplate+=PropertyTemplateCS)*)? "}";
+ *
+ **/
+
+// propertyId=[pivot::Property|UnrestrictedName]? ":" type=TypedRefCS "{" (propertyTemplate+=PropertyTemplateCS (","
+//
+// propertyTemplate+=PropertyTemplateCS)*)? "}"
+protected class ObjectTemplateCS_Group extends GroupToken {
+
+ public ObjectTemplateCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getObjectTemplateCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ObjectTemplateCS_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getObjectTemplateCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// propertyId=[pivot::Property|UnrestrictedName]?
+protected class ObjectTemplateCS_PropertyIdAssignment_0 extends AssignmentToken {
+
+ public ObjectTemplateCS_PropertyIdAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getObjectTemplateCSAccess().getPropertyIdAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("propertyId",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("propertyId");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getObjectTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getObjectTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// ":"
+protected class ObjectTemplateCS_ColonKeyword_1 extends KeywordToken {
+
+ public ObjectTemplateCS_ColonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getObjectTemplateCSAccess().getColonKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ObjectTemplateCS_PropertyIdAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+}
+
+// type=TypedRefCS
+protected class ObjectTemplateCS_TypeAssignment_2 extends AssignmentToken {
+
+ public ObjectTemplateCS_TypeAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getObjectTemplateCSAccess().getTypeAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypedRefCS_PathNameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("type",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTypedRefCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getObjectTemplateCSAccess().getTypeTypedRefCSParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ObjectTemplateCS_ColonKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "{"
+protected class ObjectTemplateCS_LeftCurlyBracketKeyword_3 extends KeywordToken {
+
+ public ObjectTemplateCS_LeftCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getObjectTemplateCSAccess().getLeftCurlyBracketKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ObjectTemplateCS_TypeAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// (propertyTemplate+=PropertyTemplateCS ("," propertyTemplate+=PropertyTemplateCS)*)?
+protected class ObjectTemplateCS_Group_4 extends GroupToken {
+
+ public ObjectTemplateCS_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getObjectTemplateCSAccess().getGroup_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ObjectTemplateCS_Group_4_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ObjectTemplateCS_PropertyTemplateAssignment_4_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// propertyTemplate+=PropertyTemplateCS
+protected class ObjectTemplateCS_PropertyTemplateAssignment_4_0 extends AssignmentToken {
+
+ public ObjectTemplateCS_PropertyTemplateAssignment_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getObjectTemplateCSAccess().getPropertyTemplateAssignment_4_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PropertyTemplateCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("propertyTemplate",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("propertyTemplate");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPropertyTemplateCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getObjectTemplateCSAccess().getPropertyTemplatePropertyTemplateCSParserRuleCall_4_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ObjectTemplateCS_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," propertyTemplate+=PropertyTemplateCS)*
+protected class ObjectTemplateCS_Group_4_1 extends GroupToken {
+
+ public ObjectTemplateCS_Group_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getObjectTemplateCSAccess().getGroup_4_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ObjectTemplateCS_PropertyTemplateAssignment_4_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class ObjectTemplateCS_CommaKeyword_4_1_0 extends KeywordToken {
+
+ public ObjectTemplateCS_CommaKeyword_4_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getObjectTemplateCSAccess().getCommaKeyword_4_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ObjectTemplateCS_Group_4_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ObjectTemplateCS_PropertyTemplateAssignment_4_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// propertyTemplate+=PropertyTemplateCS
+protected class ObjectTemplateCS_PropertyTemplateAssignment_4_1_1 extends AssignmentToken {
+
+ public ObjectTemplateCS_PropertyTemplateAssignment_4_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getObjectTemplateCSAccess().getPropertyTemplateAssignment_4_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PropertyTemplateCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("propertyTemplate",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("propertyTemplate");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPropertyTemplateCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getObjectTemplateCSAccess().getPropertyTemplatePropertyTemplateCSParserRuleCall_4_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ObjectTemplateCS_CommaKeyword_4_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+// "}"
+protected class ObjectTemplateCS_RightCurlyBracketKeyword_5 extends KeywordToken {
+
+ public ObjectTemplateCS_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getObjectTemplateCSAccess().getRightCurlyBracketKeyword_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ObjectTemplateCS_Group_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ObjectTemplateCS_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule ObjectTemplateCS ****************/
+
+
+/************ begin Rule PropertyTemplateCS ****************
+ *
+ * PropertyTemplateCS:
+ *
+ * propertyId=[pivot::Property|UnrestrictedName] "=" oclExpression=ExpCS;
+ *
+ **/
+
+// propertyId=[pivot::Property|UnrestrictedName] "=" oclExpression=ExpCS
+protected class PropertyTemplateCS_Group extends GroupToken {
+
+ public PropertyTemplateCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPropertyTemplateCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PropertyTemplateCS_OclExpressionAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPropertyTemplateCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// propertyId=[pivot::Property|UnrestrictedName]
+protected class PropertyTemplateCS_PropertyIdAssignment_0 extends AssignmentToken {
+
+ public PropertyTemplateCS_PropertyIdAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPropertyTemplateCSAccess().getPropertyIdAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("propertyId",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("propertyId");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getPropertyTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// "="
+protected class PropertyTemplateCS_EqualsSignKeyword_1 extends KeywordToken {
+
+ public PropertyTemplateCS_EqualsSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPropertyTemplateCSAccess().getEqualsSignKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PropertyTemplateCS_PropertyIdAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// oclExpression=ExpCS
+protected class PropertyTemplateCS_OclExpressionAssignment_2 extends AssignmentToken {
+
+ public PropertyTemplateCS_OclExpressionAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPropertyTemplateCSAccess().getOclExpressionAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("oclExpression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("oclExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPropertyTemplateCSAccess().getOclExpressionExpCSParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PropertyTemplateCS_EqualsSignKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule PropertyTemplateCS ****************/
+
+
+/************ begin Rule CollectionTemplateCS ****************
+ *
+ * CollectionTemplateCS:
+ *
+ * propertyId=[pivot::Property|UnrestrictedName]? ":" type=CollectionTypedRefCS "{" (memberIdentifier+=(NameExpCS |
+ *
+ * TemplateCS | AnyElementCS) ("," memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS))* "++"
+ *
+ * restIdentifier=(NameExpCS | AnyElementCS)?)? "}";
+ *
+ **/
+
+// propertyId=[pivot::Property|UnrestrictedName]? ":" type=CollectionTypedRefCS "{" (memberIdentifier+=(NameExpCS |
+//
+// TemplateCS | AnyElementCS) ("," memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS))* "++"
+//
+// restIdentifier=(NameExpCS | AnyElementCS)?)? "}"
+protected class CollectionTemplateCS_Group extends GroupToken {
+
+ public CollectionTemplateCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCollectionTemplateCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTemplateCS_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectionTemplateCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// propertyId=[pivot::Property|UnrestrictedName]?
+protected class CollectionTemplateCS_PropertyIdAssignment_0 extends AssignmentToken {
+
+ public CollectionTemplateCS_PropertyIdAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectionTemplateCSAccess().getPropertyIdAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("propertyId",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("propertyId");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getCollectionTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// ":"
+protected class CollectionTemplateCS_ColonKeyword_1 extends KeywordToken {
+
+ public CollectionTemplateCS_ColonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectionTemplateCSAccess().getColonKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTemplateCS_PropertyIdAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+}
+
+// type=CollectionTypedRefCS
+protected class CollectionTemplateCS_TypeAssignment_2 extends AssignmentToken {
+
+ public CollectionTemplateCS_TypeAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectionTemplateCSAccess().getTypeAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTypedRefCS_PathNameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("type",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getCollectionTypedRefCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionTemplateCSAccess().getTypeCollectionTypedRefCSParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new CollectionTemplateCS_ColonKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "{"
+protected class CollectionTemplateCS_LeftCurlyBracketKeyword_3 extends KeywordToken {
+
+ public CollectionTemplateCS_LeftCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectionTemplateCSAccess().getLeftCurlyBracketKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTemplateCS_TypeAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// (memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS) ("," memberIdentifier+=(NameExpCS | TemplateCS |
+//
+// AnyElementCS))* "++" restIdentifier=(NameExpCS | AnyElementCS)?)?
+protected class CollectionTemplateCS_Group_4 extends GroupToken {
+
+ public CollectionTemplateCS_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCollectionTemplateCSAccess().getGroup_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTemplateCS_RestIdentifierAssignment_4_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new CollectionTemplateCS_PlusSignPlusSignKeyword_4_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS)
+protected class CollectionTemplateCS_MemberIdentifierAssignment_4_0 extends AssignmentToken {
+
+ public CollectionTemplateCS_MemberIdentifierAssignment_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAssignment_4_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpCS_PathNameAssignment(this, this, 0, inst);
+ case 1: return new TemplateCS_Group(this, this, 1, inst);
+ case 2: return new AnyElementCS_Group(this, this, 2, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("memberIdentifier",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("memberIdentifier");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNameExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierNameExpCSParserRuleCall_4_0_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTemplateCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierTemplateCSParserRuleCall_4_0_0_1();
+ consumed = obj;
+ return param;
+ }
+ }
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAnyElementCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAnyElementCSParserRuleCall_4_0_0_2();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new CollectionTemplateCS_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS))*
+protected class CollectionTemplateCS_Group_4_1 extends GroupToken {
+
+ public CollectionTemplateCS_Group_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCollectionTemplateCSAccess().getGroup_4_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTemplateCS_MemberIdentifierAssignment_4_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class CollectionTemplateCS_CommaKeyword_4_1_0 extends KeywordToken {
+
+ public CollectionTemplateCS_CommaKeyword_4_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectionTemplateCSAccess().getCommaKeyword_4_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTemplateCS_Group_4_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new CollectionTemplateCS_MemberIdentifierAssignment_4_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS)
+protected class CollectionTemplateCS_MemberIdentifierAssignment_4_1_1 extends AssignmentToken {
+
+ public CollectionTemplateCS_MemberIdentifierAssignment_4_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAssignment_4_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpCS_PathNameAssignment(this, this, 0, inst);
+ case 1: return new TemplateCS_Group(this, this, 1, inst);
+ case 2: return new AnyElementCS_Group(this, this, 2, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("memberIdentifier",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("memberIdentifier");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNameExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierNameExpCSParserRuleCall_4_1_1_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTemplateCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierTemplateCSParserRuleCall_4_1_1_0_1();
+ consumed = obj;
+ return param;
+ }
+ }
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAnyElementCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAnyElementCSParserRuleCall_4_1_1_0_2();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new CollectionTemplateCS_CommaKeyword_4_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// "++"
+protected class CollectionTemplateCS_PlusSignPlusSignKeyword_4_2 extends KeywordToken {
+
+ public CollectionTemplateCS_PlusSignPlusSignKeyword_4_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectionTemplateCSAccess().getPlusSignPlusSignKeyword_4_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTemplateCS_Group_4_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new CollectionTemplateCS_MemberIdentifierAssignment_4_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// restIdentifier=(NameExpCS | AnyElementCS)?
+protected class CollectionTemplateCS_RestIdentifierAssignment_4_3 extends AssignmentToken {
+
+ public CollectionTemplateCS_RestIdentifierAssignment_4_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAssignment_4_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpCS_PathNameAssignment(this, this, 0, inst);
+ case 1: return new AnyElementCS_Group(this, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("restIdentifier",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("restIdentifier");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNameExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierNameExpCSParserRuleCall_4_3_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAnyElementCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAnyElementCSParserRuleCall_4_3_0_1();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new CollectionTemplateCS_PlusSignPlusSignKeyword_4_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// "}"
+protected class CollectionTemplateCS_RightCurlyBracketKeyword_5 extends KeywordToken {
+
+ public CollectionTemplateCS_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectionTemplateCSAccess().getRightCurlyBracketKeyword_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTemplateCS_Group_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new CollectionTemplateCS_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule CollectionTemplateCS ****************/
+
+
+/************ begin Rule NameExpCS ****************
+ *
+ * NameExpCS returns essentialocl::NameExpCS:
+ *
+ * pathName=PathNameCS;
+ *
+ **/
+
+// pathName=PathNameCS
+protected class NameExpCS_PathNameAssignment extends AssignmentToken {
+
+ public NameExpCS_PathNameAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNameExpCSAccess().getPathNameAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PathNameCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNameExpCSRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("pathName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("pathName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPathNameCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNameExpCSAccess().getPathNamePathNameCSParserRuleCall_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+/************ end Rule NameExpCS ****************/
+
+
+/************ begin Rule AnyElementCS ****************
+ *
+ * AnyElementCS:
+ *
+ * {AnyElementCS} "_";
+ *
+ **/
+
+// {AnyElementCS} "_"
+protected class AnyElementCS_Group extends GroupToken {
+
+ public AnyElementCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAnyElementCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AnyElementCS__Keyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAnyElementCSAccess().getAnyElementCSAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {AnyElementCS}
+protected class AnyElementCS_AnyElementCSAction_0 extends ActionToken {
+
+ public AnyElementCS_AnyElementCSAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getAnyElementCSAccess().getAnyElementCSAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// "_"
+protected class AnyElementCS__Keyword_1 extends KeywordToken {
+
+ public AnyElementCS__Keyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getAnyElementCSAccess().get_Keyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AnyElementCS_AnyElementCSAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule AnyElementCS ****************/
+
+
+/************ begin Rule DefaultValueCS ****************
+ *
+ * DefaultValueCS:
+ *
+ * propertyId=[pivot::Property|UnrestrictedName] "=" initialiser=ExpCS ";";
+ *
+ **/
+
+// propertyId=[pivot::Property|UnrestrictedName] "=" initialiser=ExpCS ";"
+protected class DefaultValueCS_Group extends GroupToken {
+
+ public DefaultValueCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getDefaultValueCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DefaultValueCS_SemicolonKeyword_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDefaultValueCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// propertyId=[pivot::Property|UnrestrictedName]
+protected class DefaultValueCS_PropertyIdAssignment_0 extends AssignmentToken {
+
+ public DefaultValueCS_PropertyIdAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDefaultValueCSAccess().getPropertyIdAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("propertyId",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("propertyId");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getDefaultValueCSAccess().getPropertyIdPropertyCrossReference_0_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getDefaultValueCSAccess().getPropertyIdPropertyCrossReference_0_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// "="
+protected class DefaultValueCS_EqualsSignKeyword_1 extends KeywordToken {
+
+ public DefaultValueCS_EqualsSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDefaultValueCSAccess().getEqualsSignKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DefaultValueCS_PropertyIdAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// initialiser=ExpCS
+protected class DefaultValueCS_InitialiserAssignment_2 extends AssignmentToken {
+
+ public DefaultValueCS_InitialiserAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDefaultValueCSAccess().getInitialiserAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("initialiser",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("initialiser");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getDefaultValueCSAccess().getInitialiserExpCSParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new DefaultValueCS_EqualsSignKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ";"
+protected class DefaultValueCS_SemicolonKeyword_3 extends KeywordToken {
+
+ public DefaultValueCS_SemicolonKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDefaultValueCSAccess().getSemicolonKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DefaultValueCS_InitialiserAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule DefaultValueCS ****************/
+
+
+/************ begin Rule QueryCS ****************
+ *
+ * QueryCS:
+ *
+ * "query" pathName=PathNameCS "(" (inputParamDeclaration+=ParamDeclarationCS (","
+ *
+ * inputParamDeclaration+=ParamDeclarationCS)*)? ")" ":" type=TypedRefCS (";" | "{" oclExpression=ExpCS "}");
+ *
+ **/
+
+// "query" pathName=PathNameCS "(" (inputParamDeclaration+=ParamDeclarationCS (","
+//
+// inputParamDeclaration+=ParamDeclarationCS)*)? ")" ":" type=TypedRefCS (";" | "{" oclExpression=ExpCS "}")
+protected class QueryCS_Group extends GroupToken {
+
+ public QueryCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QueryCS_Alternatives_7(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getQueryCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "query"
+protected class QueryCS_QueryKeyword_0 extends KeywordToken {
+
+ public QueryCS_QueryKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getQueryKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// pathName=PathNameCS
+protected class QueryCS_PathNameAssignment_1 extends AssignmentToken {
+
+ public QueryCS_PathNameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getPathNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PathNameCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("pathName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("pathName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPathNameCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getQueryCSAccess().getPathNamePathNameCSParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new QueryCS_QueryKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "("
+protected class QueryCS_LeftParenthesisKeyword_2 extends KeywordToken {
+
+ public QueryCS_LeftParenthesisKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getLeftParenthesisKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QueryCS_PathNameAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// (inputParamDeclaration+=ParamDeclarationCS ("," inputParamDeclaration+=ParamDeclarationCS)*)?
+protected class QueryCS_Group_3 extends GroupToken {
+
+ public QueryCS_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getGroup_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QueryCS_Group_3_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new QueryCS_InputParamDeclarationAssignment_3_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// inputParamDeclaration+=ParamDeclarationCS
+protected class QueryCS_InputParamDeclarationAssignment_3_0 extends AssignmentToken {
+
+ public QueryCS_InputParamDeclarationAssignment_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getInputParamDeclarationAssignment_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ParamDeclarationCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("inputParamDeclaration",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("inputParamDeclaration");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getParamDeclarationCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getQueryCSAccess().getInputParamDeclarationParamDeclarationCSParserRuleCall_3_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new QueryCS_LeftParenthesisKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," inputParamDeclaration+=ParamDeclarationCS)*
+protected class QueryCS_Group_3_1 extends GroupToken {
+
+ public QueryCS_Group_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getGroup_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QueryCS_InputParamDeclarationAssignment_3_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class QueryCS_CommaKeyword_3_1_0 extends KeywordToken {
+
+ public QueryCS_CommaKeyword_3_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getCommaKeyword_3_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QueryCS_Group_3_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new QueryCS_InputParamDeclarationAssignment_3_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// inputParamDeclaration+=ParamDeclarationCS
+protected class QueryCS_InputParamDeclarationAssignment_3_1_1 extends AssignmentToken {
+
+ public QueryCS_InputParamDeclarationAssignment_3_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getInputParamDeclarationAssignment_3_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ParamDeclarationCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("inputParamDeclaration",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("inputParamDeclaration");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getParamDeclarationCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getQueryCSAccess().getInputParamDeclarationParamDeclarationCSParserRuleCall_3_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new QueryCS_CommaKeyword_3_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+// ")"
+protected class QueryCS_RightParenthesisKeyword_4 extends KeywordToken {
+
+ public QueryCS_RightParenthesisKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getRightParenthesisKeyword_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QueryCS_Group_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new QueryCS_LeftParenthesisKeyword_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ":"
+protected class QueryCS_ColonKeyword_5 extends KeywordToken {
+
+ public QueryCS_ColonKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getColonKeyword_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QueryCS_RightParenthesisKeyword_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// type=TypedRefCS
+protected class QueryCS_TypeAssignment_6 extends AssignmentToken {
+
+ public QueryCS_TypeAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getTypeAssignment_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypedRefCS_PathNameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("type",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTypedRefCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getQueryCSAccess().getTypeTypedRefCSParserRuleCall_6_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new QueryCS_ColonKeyword_5(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ";" | "{" oclExpression=ExpCS "}"
+protected class QueryCS_Alternatives_7 extends AlternativesToken {
+
+ public QueryCS_Alternatives_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getAlternatives_7();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QueryCS_SemicolonKeyword_7_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new QueryCS_Group_7_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ";"
+protected class QueryCS_SemicolonKeyword_7_0 extends KeywordToken {
+
+ public QueryCS_SemicolonKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getSemicolonKeyword_7_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QueryCS_TypeAssignment_6(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "{" oclExpression=ExpCS "}"
+protected class QueryCS_Group_7_1 extends GroupToken {
+
+ public QueryCS_Group_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getGroup_7_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QueryCS_RightCurlyBracketKeyword_7_1_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "{"
+protected class QueryCS_LeftCurlyBracketKeyword_7_1_0 extends KeywordToken {
+
+ public QueryCS_LeftCurlyBracketKeyword_7_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getLeftCurlyBracketKeyword_7_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QueryCS_TypeAssignment_6(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// oclExpression=ExpCS
+protected class QueryCS_OclExpressionAssignment_7_1_1 extends AssignmentToken {
+
+ public QueryCS_OclExpressionAssignment_7_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getOclExpressionAssignment_7_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("oclExpression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("oclExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getQueryCSAccess().getOclExpressionExpCSParserRuleCall_7_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new QueryCS_LeftCurlyBracketKeyword_7_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "}"
+protected class QueryCS_RightCurlyBracketKeyword_7_1_2 extends KeywordToken {
+
+ public QueryCS_RightCurlyBracketKeyword_7_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getQueryCSAccess().getRightCurlyBracketKeyword_7_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QueryCS_OclExpressionAssignment_7_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+
+/************ end Rule QueryCS ****************/
+
+
+/************ begin Rule ParamDeclarationCS ****************
+ *
+ * ParamDeclarationCS:
+ *
+ * name=UnrestrictedName ":" type=TypedRefCS;
+ *
+ **/
+
+// name=UnrestrictedName ":" type=TypedRefCS
+protected class ParamDeclarationCS_Group extends GroupToken {
+
+ public ParamDeclarationCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getParamDeclarationCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ParamDeclarationCS_TypeAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getParamDeclarationCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// name=UnrestrictedName
+protected class ParamDeclarationCS_NameAssignment_0 extends AssignmentToken {
+
+ public ParamDeclarationCS_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getParamDeclarationCSAccess().getNameAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getParamDeclarationCSAccess().getNameUnrestrictedNameParserRuleCall_0_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getParamDeclarationCSAccess().getNameUnrestrictedNameParserRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ":"
+protected class ParamDeclarationCS_ColonKeyword_1 extends KeywordToken {
+
+ public ParamDeclarationCS_ColonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getParamDeclarationCSAccess().getColonKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ParamDeclarationCS_NameAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// type=TypedRefCS
+protected class ParamDeclarationCS_TypeAssignment_2 extends AssignmentToken {
+
+ public ParamDeclarationCS_TypeAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getParamDeclarationCSAccess().getTypeAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypedRefCS_PathNameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("type",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTypedRefCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getParamDeclarationCSAccess().getTypeTypedRefCSParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ParamDeclarationCS_ColonKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule ParamDeclarationCS ****************/
+
+
+/************ begin Rule CollectionTypedRefCS ****************
+ *
+ * //<OclExpressionCS> ::= <PropertyCallExpCS>
+ * // | <VariableExpCS>
+ *
+ *
+ * // | <LiteralExpCS>
+ * // | <LetExpCS>
+ * // | <IfExpCS>
+ *
+ *
+ * // | '(' <OclExpressionCS> ')'
+ * // | <template>
+ *
+ *
+ * // notNameExpressionCS -> templateCS
+ * CollectionTypedRefCS returns base::TypedTypeRefCS:
+ *
+ * pathName=PathNameCS;
+ *
+ **/
+
+// pathName=PathNameCS
+protected class CollectionTypedRefCS_PathNameAssignment extends AssignmentToken {
+
+ public CollectionTypedRefCS_PathNameAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectionTypedRefCSAccess().getPathNameAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PathNameCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectionTypedRefCSRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("pathName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("pathName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPathNameCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionTypedRefCSAccess().getPathNamePathNameCSParserRuleCall_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+/************ end Rule CollectionTypedRefCS ****************/
+
+
+/************ begin Rule TypedRefCS ****************
+ *
+ * TypedRefCS returns base::TypedTypeRefCS:
+ *
+ * pathName=PathNameCS;
+ *
+ **/
+
+// pathName=PathNameCS
+protected class TypedRefCS_PathNameAssignment extends AssignmentToken {
+
+ public TypedRefCS_PathNameAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTypedRefCSAccess().getPathNameAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PathNameCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTypedRefCSRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("pathName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("pathName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPathNameCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTypedRefCSAccess().getPathNamePathNameCSParserRuleCall_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+/************ end Rule TypedRefCS ****************/
+
+
+
+/************ begin Rule Model ****************
+ *
+ * //generate essentialOCLCST "http://www.eclipse.org/ocl/3.0.0/EssentialOCLCST"
+ * Model returns ContextCS:
+ *
+ * ownedExpression=ExpCS;
+ *
+ **/
+
+// ownedExpression=ExpCS
+protected class Model_OwnedExpressionAssignment extends AssignmentToken {
+
+ public Model_OwnedExpressionAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getModelAccess().getOwnedExpressionAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getModelRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("ownedExpression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getModelAccess().getOwnedExpressionExpCSParserRuleCall_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+/************ end Rule Model ****************/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/************ begin Rule PathNameCS ****************
+ *
+ * PathNameCS returns base::PathNameCS:
+ *
+ * path+=FirstPathElementCS ("::" path+=NextPathElementCS)*;
+ *
+ **/
+
+// path+=FirstPathElementCS ("::" path+=NextPathElementCS)*
+protected class PathNameCS_Group extends GroupToken {
+
+ public PathNameCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPathNameCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PathNameCS_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PathNameCS_PathAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPathNameCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// path+=FirstPathElementCS
+protected class PathNameCS_PathAssignment_0 extends AssignmentToken {
+
+ public PathNameCS_PathAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPathNameCSAccess().getPathAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new FirstPathElementCS_ElementAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("path",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("path");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getFirstPathElementCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPathNameCSAccess().getPathFirstPathElementCSParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("::" path+=NextPathElementCS)*
+protected class PathNameCS_Group_1 extends GroupToken {
+
+ public PathNameCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPathNameCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PathNameCS_PathAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "::"
+protected class PathNameCS_ColonColonKeyword_1_0 extends KeywordToken {
+
+ public PathNameCS_ColonColonKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PathNameCS_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PathNameCS_PathAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// path+=NextPathElementCS
+protected class PathNameCS_PathAssignment_1_1 extends AssignmentToken {
+
+ public PathNameCS_PathAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPathNameCSAccess().getPathAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NextPathElementCS_ElementAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("path",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("path");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNextPathElementCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPathNameCSAccess().getPathNextPathElementCSParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PathNameCS_ColonColonKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule PathNameCS ****************/
+
+
+/************ begin Rule FirstPathElementCS ****************
+ *
+ * FirstPathElementCS returns base::PathElementCS:
+ *
+ * element=[pivot::NamedElement|UnrestrictedName];
+ *
+ **/
+
+// element=[pivot::NamedElement|UnrestrictedName]
+protected class FirstPathElementCS_ElementAssignment extends AssignmentToken {
+
+ public FirstPathElementCS_ElementAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getFirstPathElementCSAccess().getElementAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getFirstPathElementCSRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("element",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("element");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getFirstPathElementCSAccess().getElementNamedElementCrossReference_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getFirstPathElementCSAccess().getElementNamedElementCrossReference_0(), (EObject)value , null)) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getFirstPathElementCSAccess().getElementNamedElementCrossReference_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule FirstPathElementCS ****************/
+
+
+/************ begin Rule NextPathElementCS ****************
+ *
+ * NextPathElementCS returns base::PathElementCS:
+ *
+ * element=[pivot::NamedElement|UnreservedName];
+ *
+ **/
+
+// element=[pivot::NamedElement|UnreservedName]
+protected class NextPathElementCS_ElementAssignment extends AssignmentToken {
+
+ public NextPathElementCS_ElementAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNextPathElementCSAccess().getElementAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNextPathElementCSRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("element",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("element");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNextPathElementCSAccess().getElementNamedElementCrossReference_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getNextPathElementCSAccess().getElementNamedElementCrossReference_0(), (EObject)value , null)) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getNextPathElementCSAccess().getElementNamedElementCrossReference_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule NextPathElementCS ****************/
+
+
+
+/************ begin Rule PrimitiveTypeCS ****************
+ *
+ * PrimitiveTypeCS returns base::PrimitiveTypeRefCS:
+ *
+ * name=PrimitiveTypeIdentifier;
+ *
+ **/
+
+// name=PrimitiveTypeIdentifier
+protected class PrimitiveTypeCS_NameAssignment extends AssignmentToken {
+
+ public PrimitiveTypeCS_NameAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimitiveTypeCSAccess().getNameAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPrimitiveTypeCSRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPrimitiveTypeCSAccess().getNamePrimitiveTypeIdentifierParserRuleCall_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getPrimitiveTypeCSAccess().getNamePrimitiveTypeIdentifierParserRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule PrimitiveTypeCS ****************/
+
+
+
+/************ begin Rule CollectionTypeCS ****************
+ *
+ * CollectionTypeCS:
+ *
+ * name=CollectionTypeIdentifier ("(" ownedType=TypeExpCS ")")?;
+ *
+ **/
+
+// name=CollectionTypeIdentifier ("(" ownedType=TypeExpCS ")")?
+protected class CollectionTypeCS_Group extends GroupToken {
+
+ public CollectionTypeCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCollectionTypeCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTypeCS_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new CollectionTypeCS_NameAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectionTypeCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// name=CollectionTypeIdentifier
+protected class CollectionTypeCS_NameAssignment_0 extends AssignmentToken {
+
+ public CollectionTypeCS_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectionTypeCSAccess().getNameAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCollectionTypeCSAccess().getNameCollectionTypeIdentifierParserRuleCall_0_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getCollectionTypeCSAccess().getNameCollectionTypeIdentifierParserRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ("(" ownedType=TypeExpCS ")")?
+protected class CollectionTypeCS_Group_1 extends GroupToken {
+
+ public CollectionTypeCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCollectionTypeCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTypeCS_RightParenthesisKeyword_1_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "("
+protected class CollectionTypeCS_LeftParenthesisKeyword_1_0 extends KeywordToken {
+
+ public CollectionTypeCS_LeftParenthesisKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectionTypeCSAccess().getLeftParenthesisKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTypeCS_NameAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedType=TypeExpCS
+protected class CollectionTypeCS_OwnedTypeAssignment_1_1 extends AssignmentToken {
+
+ public CollectionTypeCS_OwnedTypeAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectionTypeCSAccess().getOwnedTypeAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedType",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedType");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTypeExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionTypeCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new CollectionTypeCS_LeftParenthesisKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class CollectionTypeCS_RightParenthesisKeyword_1_2 extends KeywordToken {
+
+ public CollectionTypeCS_RightParenthesisKeyword_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectionTypeCSAccess().getRightParenthesisKeyword_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTypeCS_OwnedTypeAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+/************ end Rule CollectionTypeCS ****************/
+
+
+/************ begin Rule MultiplicityBoundsCS ****************
+ *
+ * MultiplicityBoundsCS returns base::MultiplicityBoundsCS:
+ *
+ * lowerBound=LOWER (".." upperBound=UPPER)?;
+ *
+ **/
+
+// lowerBound=LOWER (".." upperBound=UPPER)?
+protected class MultiplicityBoundsCS_Group extends GroupToken {
+
+ public MultiplicityBoundsCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getMultiplicityBoundsCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicityBoundsCS_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new MultiplicityBoundsCS_LowerBoundAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getMultiplicityBoundsCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// lowerBound=LOWER
+protected class MultiplicityBoundsCS_LowerBoundAssignment_0 extends AssignmentToken {
+
+ public MultiplicityBoundsCS_LowerBoundAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("lowerBound",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("lowerBound");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundLOWERParserRuleCall_0_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundLOWERParserRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// (".." upperBound=UPPER)?
+protected class MultiplicityBoundsCS_Group_1 extends GroupToken {
+
+ public MultiplicityBoundsCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getMultiplicityBoundsCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicityBoundsCS_UpperBoundAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ".."
+protected class MultiplicityBoundsCS_FullStopFullStopKeyword_1_0 extends KeywordToken {
+
+ public MultiplicityBoundsCS_FullStopFullStopKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getMultiplicityBoundsCSAccess().getFullStopFullStopKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicityBoundsCS_LowerBoundAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// upperBound=UPPER
+protected class MultiplicityBoundsCS_UpperBoundAssignment_1_1 extends AssignmentToken {
+
+ public MultiplicityBoundsCS_UpperBoundAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicityBoundsCS_FullStopFullStopKeyword_1_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("upperBound",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("upperBound");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundUPPERParserRuleCall_1_1_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundUPPERParserRuleCall_1_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+
+/************ end Rule MultiplicityBoundsCS ****************/
+
+
+/************ begin Rule MultiplicityCS ****************
+ *
+ * MultiplicityCS returns base::MultiplicityCS:
+ *
+ * "[" (MultiplicityBoundsCS | MultiplicityStringCS) "]";
+ *
+ **/
+
+// "[" (MultiplicityBoundsCS | MultiplicityStringCS) "]"
+protected class MultiplicityCS_Group extends GroupToken {
+
+ public MultiplicityCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getMultiplicityCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicityCS_RightSquareBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getMultiplicityBoundsCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getMultiplicityStringCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "["
+protected class MultiplicityCS_LeftSquareBracketKeyword_0 extends KeywordToken {
+
+ public MultiplicityCS_LeftSquareBracketKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// MultiplicityBoundsCS | MultiplicityStringCS
+protected class MultiplicityCS_Alternatives_1 extends AlternativesToken {
+
+ public MultiplicityCS_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getMultiplicityCSAccess().getAlternatives_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicityCS_MultiplicityBoundsCSParserRuleCall_1_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new MultiplicityCS_MultiplicityStringCSParserRuleCall_1_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// MultiplicityBoundsCS
+protected class MultiplicityCS_MultiplicityBoundsCSParserRuleCall_1_0 extends RuleCallToken {
+
+ public MultiplicityCS_MultiplicityBoundsCSParserRuleCall_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getMultiplicityCSAccess().getMultiplicityBoundsCSParserRuleCall_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicityBoundsCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getMultiplicityBoundsCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(MultiplicityBoundsCS_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicityCS_LeftSquareBracketKeyword_0(lastRuleCallOrigin, next, actIndex, inst);
+ default: return null;
+ }
+ }
+}
+
+// MultiplicityStringCS
+protected class MultiplicityCS_MultiplicityStringCSParserRuleCall_1_1 extends RuleCallToken {
+
+ public MultiplicityCS_MultiplicityStringCSParserRuleCall_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getMultiplicityCSAccess().getMultiplicityStringCSParserRuleCall_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicityStringCS_StringBoundsAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getMultiplicityStringCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(MultiplicityStringCS_StringBoundsAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicityCS_LeftSquareBracketKeyword_0(lastRuleCallOrigin, next, actIndex, inst);
+ default: return null;
+ }
+ }
+}
+
+
+// "]"
+protected class MultiplicityCS_RightSquareBracketKeyword_2 extends KeywordToken {
+
+ public MultiplicityCS_RightSquareBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getMultiplicityCSAccess().getRightSquareBracketKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicityCS_Alternatives_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule MultiplicityCS ****************/
+
+
+/************ begin Rule MultiplicityStringCS ****************
+ *
+ * MultiplicityStringCS returns base::MultiplicityStringCS:
+ *
+ * stringBounds=("*" | "+" | "?");
+ *
+ **/
+
+// stringBounds=("*" | "+" | "?")
+protected class MultiplicityStringCS_StringBoundsAssignment extends AssignmentToken {
+
+ public MultiplicityStringCS_StringBoundsAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getMultiplicityStringCSRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("stringBounds",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("stringBounds");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAsteriskKeyword_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAsteriskKeyword_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getMultiplicityStringCSAccess().getStringBoundsPlusSignKeyword_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getMultiplicityStringCSAccess().getStringBoundsPlusSignKeyword_0_1();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getMultiplicityStringCSAccess().getStringBoundsQuestionMarkKeyword_0_2(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getMultiplicityStringCSAccess().getStringBoundsQuestionMarkKeyword_0_2();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule MultiplicityStringCS ****************/
+
+
+/************ begin Rule TupleTypeCS ****************
+ *
+ * TupleTypeCS returns base::TupleTypeCS:
+ *
+ * name="Tuple" ("(" (ownedParts+=TuplePartCS ("," ownedParts+=TuplePartCS)*)? ")")?;
+ *
+ **/
+
+// name="Tuple" ("(" (ownedParts+=TuplePartCS ("," ownedParts+=TuplePartCS)*)? ")")?
+protected class TupleTypeCS_Group extends GroupToken {
+
+ public TupleTypeCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTupleTypeCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleTypeCS_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TupleTypeCS_NameAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTupleTypeCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// name="Tuple"
+protected class TupleTypeCS_NameAssignment_0 extends AssignmentToken {
+
+ public TupleTypeCS_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTupleTypeCSAccess().getNameAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ("(" (ownedParts+=TuplePartCS ("," ownedParts+=TuplePartCS)*)? ")")?
+protected class TupleTypeCS_Group_1 extends GroupToken {
+
+ public TupleTypeCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTupleTypeCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleTypeCS_RightParenthesisKeyword_1_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "("
+protected class TupleTypeCS_LeftParenthesisKeyword_1_0 extends KeywordToken {
+
+ public TupleTypeCS_LeftParenthesisKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTupleTypeCSAccess().getLeftParenthesisKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleTypeCS_NameAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// (ownedParts+=TuplePartCS ("," ownedParts+=TuplePartCS)*)?
+protected class TupleTypeCS_Group_1_1 extends GroupToken {
+
+ public TupleTypeCS_Group_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTupleTypeCSAccess().getGroup_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleTypeCS_Group_1_1_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TupleTypeCS_OwnedPartsAssignment_1_1_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedParts+=TuplePartCS
+protected class TupleTypeCS_OwnedPartsAssignment_1_1_0 extends AssignmentToken {
+
+ public TupleTypeCS_OwnedPartsAssignment_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTupleTypeCSAccess().getOwnedPartsAssignment_1_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TuplePartCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedParts",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedParts");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTuplePartCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TupleTypeCS_LeftParenthesisKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," ownedParts+=TuplePartCS)*
+protected class TupleTypeCS_Group_1_1_1 extends GroupToken {
+
+ public TupleTypeCS_Group_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTupleTypeCSAccess().getGroup_1_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleTypeCS_OwnedPartsAssignment_1_1_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class TupleTypeCS_CommaKeyword_1_1_1_0 extends KeywordToken {
+
+ public TupleTypeCS_CommaKeyword_1_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTupleTypeCSAccess().getCommaKeyword_1_1_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleTypeCS_Group_1_1_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TupleTypeCS_OwnedPartsAssignment_1_1_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedParts+=TuplePartCS
+protected class TupleTypeCS_OwnedPartsAssignment_1_1_1_1 extends AssignmentToken {
+
+ public TupleTypeCS_OwnedPartsAssignment_1_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTupleTypeCSAccess().getOwnedPartsAssignment_1_1_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TuplePartCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedParts",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedParts");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTuplePartCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TupleTypeCS_CommaKeyword_1_1_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+// ")"
+protected class TupleTypeCS_RightParenthesisKeyword_1_2 extends KeywordToken {
+
+ public TupleTypeCS_RightParenthesisKeyword_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTupleTypeCSAccess().getRightParenthesisKeyword_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleTypeCS_Group_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+/************ end Rule TupleTypeCS ****************/
+
+
+/************ begin Rule TuplePartCS ****************
+ *
+ * TuplePartCS returns base::TuplePartCS:
+ *
+ * name=UnrestrictedName ":" ownedType=TypeExpCS;
+ *
+ **/
+
+// name=UnrestrictedName ":" ownedType=TypeExpCS
+protected class TuplePartCS_Group extends GroupToken {
+
+ public TuplePartCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTuplePartCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TuplePartCS_OwnedTypeAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTuplePartCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// name=UnrestrictedName
+protected class TuplePartCS_NameAssignment_0 extends AssignmentToken {
+
+ public TuplePartCS_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTuplePartCSAccess().getNameAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTuplePartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getTuplePartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ":"
+protected class TuplePartCS_ColonKeyword_1 extends KeywordToken {
+
+ public TuplePartCS_ColonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTuplePartCSAccess().getColonKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TuplePartCS_NameAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedType=TypeExpCS
+protected class TuplePartCS_OwnedTypeAssignment_2 extends AssignmentToken {
+
+ public TuplePartCS_OwnedTypeAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTuplePartCSAccess().getOwnedTypeAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedType",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedType");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTypeExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTuplePartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TuplePartCS_ColonKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule TuplePartCS ****************/
+
+
+/************ begin Rule CollectionLiteralExpCS ****************
+ *
+ * //---------------------------------------------------------------------
+ * // Literals
+ *
+ *
+ * //---------------------------------------------------------------------
+ * CollectionLiteralExpCS:
+ *
+ * ownedType=CollectionTypeCS "{" (ownedParts+=CollectionLiteralPartCS ("," ownedParts+=CollectionLiteralPartCS)*)? "}";
+ *
+ **/
+
+// ownedType=CollectionTypeCS "{" (ownedParts+=CollectionLiteralPartCS ("," ownedParts+=CollectionLiteralPartCS)*)? "}"
+protected class CollectionLiteralExpCS_Group extends GroupToken {
+
+ public CollectionLiteralExpCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCollectionLiteralExpCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionLiteralExpCS_RightCurlyBracketKeyword_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectionLiteralExpCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// ownedType=CollectionTypeCS
+protected class CollectionLiteralExpCS_OwnedTypeAssignment_0 extends AssignmentToken {
+
+ public CollectionLiteralExpCS_OwnedTypeAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTypeCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedType",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedType");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getCollectionTypeCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// "{"
+protected class CollectionLiteralExpCS_LeftCurlyBracketKeyword_1 extends KeywordToken {
+
+ public CollectionLiteralExpCS_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionLiteralExpCS_OwnedTypeAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// (ownedParts+=CollectionLiteralPartCS ("," ownedParts+=CollectionLiteralPartCS)*)?
+protected class CollectionLiteralExpCS_Group_2 extends GroupToken {
+
+ public CollectionLiteralExpCS_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCollectionLiteralExpCSAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionLiteralExpCS_Group_2_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new CollectionLiteralExpCS_OwnedPartsAssignment_2_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedParts+=CollectionLiteralPartCS
+protected class CollectionLiteralExpCS_OwnedPartsAssignment_2_0 extends AssignmentToken {
+
+ public CollectionLiteralExpCS_OwnedPartsAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsAssignment_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionLiteralPartCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedParts",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedParts");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getCollectionLiteralPartCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new CollectionLiteralExpCS_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," ownedParts+=CollectionLiteralPartCS)*
+protected class CollectionLiteralExpCS_Group_2_1 extends GroupToken {
+
+ public CollectionLiteralExpCS_Group_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCollectionLiteralExpCSAccess().getGroup_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionLiteralExpCS_OwnedPartsAssignment_2_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class CollectionLiteralExpCS_CommaKeyword_2_1_0 extends KeywordToken {
+
+ public CollectionLiteralExpCS_CommaKeyword_2_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectionLiteralExpCSAccess().getCommaKeyword_2_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionLiteralExpCS_Group_2_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new CollectionLiteralExpCS_OwnedPartsAssignment_2_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedParts+=CollectionLiteralPartCS
+protected class CollectionLiteralExpCS_OwnedPartsAssignment_2_1_1 extends AssignmentToken {
+
+ public CollectionLiteralExpCS_OwnedPartsAssignment_2_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsAssignment_2_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionLiteralPartCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedParts",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedParts");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getCollectionLiteralPartCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new CollectionLiteralExpCS_CommaKeyword_2_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+// "}"
+protected class CollectionLiteralExpCS_RightCurlyBracketKeyword_3 extends KeywordToken {
+
+ public CollectionLiteralExpCS_RightCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectionLiteralExpCSAccess().getRightCurlyBracketKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionLiteralExpCS_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new CollectionLiteralExpCS_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule CollectionLiteralExpCS ****************/
+
+
+/************ begin Rule CollectionLiteralPartCS ****************
+ *
+ * CollectionLiteralPartCS:
+ *
+ * expressionCS=ExpCS (".." lastExpressionCS=ExpCS)?;
+ *
+ **/
+
+// expressionCS=ExpCS (".." lastExpressionCS=ExpCS)?
+protected class CollectionLiteralPartCS_Group extends GroupToken {
+
+ public CollectionLiteralPartCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCollectionLiteralPartCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionLiteralPartCS_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new CollectionLiteralPartCS_ExpressionCSAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectionLiteralPartCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// expressionCS=ExpCS
+protected class CollectionLiteralPartCS_ExpressionCSAssignment_0 extends AssignmentToken {
+
+ public CollectionLiteralPartCS_ExpressionCSAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectionLiteralPartCSAccess().getExpressionCSAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expressionCS",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expressionCS");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionLiteralPartCSAccess().getExpressionCSExpCSParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (".." lastExpressionCS=ExpCS)?
+protected class CollectionLiteralPartCS_Group_1 extends GroupToken {
+
+ public CollectionLiteralPartCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCollectionLiteralPartCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionLiteralPartCS_LastExpressionCSAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ".."
+protected class CollectionLiteralPartCS_FullStopFullStopKeyword_1_0 extends KeywordToken {
+
+ public CollectionLiteralPartCS_FullStopFullStopKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionLiteralPartCS_ExpressionCSAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// lastExpressionCS=ExpCS
+protected class CollectionLiteralPartCS_LastExpressionCSAssignment_1_1 extends AssignmentToken {
+
+ public CollectionLiteralPartCS_LastExpressionCSAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectionLiteralPartCSAccess().getLastExpressionCSAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("lastExpressionCS",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("lastExpressionCS");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionLiteralPartCSAccess().getLastExpressionCSExpCSParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new CollectionLiteralPartCS_FullStopFullStopKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule CollectionLiteralPartCS ****************/
+
+
+/************ begin Rule ConstructorPartCS ****************
+ *
+ * ConstructorPartCS:
+ *
+ * property=[pivot::Property|UnrestrictedName] "=" initExpression=ExpCS;
+ *
+ **/
+
+// property=[pivot::Property|UnrestrictedName] "=" initExpression=ExpCS
+protected class ConstructorPartCS_Group extends GroupToken {
+
+ public ConstructorPartCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getConstructorPartCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConstructorPartCS_InitExpressionAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getConstructorPartCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// property=[pivot::Property|UnrestrictedName]
+protected class ConstructorPartCS_PropertyAssignment_0 extends AssignmentToken {
+
+ public ConstructorPartCS_PropertyAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConstructorPartCSAccess().getPropertyAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("property",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("property");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getConstructorPartCSAccess().getPropertyPropertyCrossReference_0_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getConstructorPartCSAccess().getPropertyPropertyCrossReference_0_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// "="
+protected class ConstructorPartCS_EqualsSignKeyword_1 extends KeywordToken {
+
+ public ConstructorPartCS_EqualsSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getConstructorPartCSAccess().getEqualsSignKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConstructorPartCS_PropertyAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// initExpression=ExpCS
+protected class ConstructorPartCS_InitExpressionAssignment_2 extends AssignmentToken {
+
+ public ConstructorPartCS_InitExpressionAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConstructorPartCSAccess().getInitExpressionAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("initExpression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("initExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getConstructorPartCSAccess().getInitExpressionExpCSParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ConstructorPartCS_EqualsSignKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule ConstructorPartCS ****************/
+
+
+/************ begin Rule PrimitiveLiteralExpCS ****************
+ *
+ * PrimitiveLiteralExpCS:
+ *
+ * NumberLiteralExpCS | StringLiteralExpCS | BooleanLiteralExpCS | UnlimitedNaturalLiteralExpCS | InvalidLiteralExpCS |
+ *
+ * NullLiteralExpCS;
+ *
+ **/
+
+// NumberLiteralExpCS | StringLiteralExpCS | BooleanLiteralExpCS | UnlimitedNaturalLiteralExpCS | InvalidLiteralExpCS |
+//
+// NullLiteralExpCS
+protected class PrimitiveLiteralExpCS_Alternatives extends AlternativesToken {
+
+ public PrimitiveLiteralExpCS_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getPrimitiveLiteralExpCSAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimitiveLiteralExpCS_NumberLiteralExpCSParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimitiveLiteralExpCS_StringLiteralExpCSParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new PrimitiveLiteralExpCS_BooleanLiteralExpCSParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
+ case 3: return new PrimitiveLiteralExpCS_UnlimitedNaturalLiteralExpCSParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
+ case 4: return new PrimitiveLiteralExpCS_InvalidLiteralExpCSParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
+ case 5: return new PrimitiveLiteralExpCS_NullLiteralExpCSParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNumberLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// NumberLiteralExpCS
+protected class PrimitiveLiteralExpCS_NumberLiteralExpCSParserRuleCall_0 extends RuleCallToken {
+
+ public PrimitiveLiteralExpCS_NumberLiteralExpCSParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimitiveLiteralExpCSAccess().getNumberLiteralExpCSParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NumberLiteralExpCS_NameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNumberLiteralExpCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(NumberLiteralExpCS_NameAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// StringLiteralExpCS
+protected class PrimitiveLiteralExpCS_StringLiteralExpCSParserRuleCall_1 extends RuleCallToken {
+
+ public PrimitiveLiteralExpCS_StringLiteralExpCSParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimitiveLiteralExpCSAccess().getStringLiteralExpCSParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new StringLiteralExpCS_NameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getStringLiteralExpCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(StringLiteralExpCS_NameAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// BooleanLiteralExpCS
+protected class PrimitiveLiteralExpCS_BooleanLiteralExpCSParserRuleCall_2 extends RuleCallToken {
+
+ public PrimitiveLiteralExpCS_BooleanLiteralExpCSParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimitiveLiteralExpCSAccess().getBooleanLiteralExpCSParserRuleCall_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new BooleanLiteralExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralExpCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(BooleanLiteralExpCS_Alternatives.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// UnlimitedNaturalLiteralExpCS
+protected class PrimitiveLiteralExpCS_UnlimitedNaturalLiteralExpCSParserRuleCall_3 extends RuleCallToken {
+
+ public PrimitiveLiteralExpCS_UnlimitedNaturalLiteralExpCSParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimitiveLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSParserRuleCall_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnlimitedNaturalLiteralExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(UnlimitedNaturalLiteralExpCS_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// InvalidLiteralExpCS
+protected class PrimitiveLiteralExpCS_InvalidLiteralExpCSParserRuleCall_4 extends RuleCallToken {
+
+ public PrimitiveLiteralExpCS_InvalidLiteralExpCSParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimitiveLiteralExpCSAccess().getInvalidLiteralExpCSParserRuleCall_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InvalidLiteralExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(InvalidLiteralExpCS_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// NullLiteralExpCS
+protected class PrimitiveLiteralExpCS_NullLiteralExpCSParserRuleCall_5 extends RuleCallToken {
+
+ public PrimitiveLiteralExpCS_NullLiteralExpCSParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimitiveLiteralExpCSAccess().getNullLiteralExpCSParserRuleCall_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NullLiteralExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(NullLiteralExpCS_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule PrimitiveLiteralExpCS ****************/
+
+
+/************ begin Rule TupleLiteralExpCS ****************
+ *
+ * TupleLiteralExpCS:
+ *
+ * "Tuple" "{" ownedParts+=TupleLiteralPartCS ("," ownedParts+=TupleLiteralPartCS)* "}";
+ *
+ **/
+
+// "Tuple" "{" ownedParts+=TupleLiteralPartCS ("," ownedParts+=TupleLiteralPartCS)* "}"
+protected class TupleLiteralExpCS_Group extends GroupToken {
+
+ public TupleLiteralExpCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTupleLiteralExpCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleLiteralExpCS_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTupleLiteralExpCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "Tuple"
+protected class TupleLiteralExpCS_TupleKeyword_0 extends KeywordToken {
+
+ public TupleLiteralExpCS_TupleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTupleLiteralExpCSAccess().getTupleKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// "{"
+protected class TupleLiteralExpCS_LeftCurlyBracketKeyword_1 extends KeywordToken {
+
+ public TupleLiteralExpCS_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTupleLiteralExpCSAccess().getLeftCurlyBracketKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleLiteralExpCS_TupleKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedParts+=TupleLiteralPartCS
+protected class TupleLiteralExpCS_OwnedPartsAssignment_2 extends AssignmentToken {
+
+ public TupleLiteralExpCS_OwnedPartsAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleLiteralPartCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedParts",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedParts");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTupleLiteralPartCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TupleLiteralExpCS_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," ownedParts+=TupleLiteralPartCS)*
+protected class TupleLiteralExpCS_Group_3 extends GroupToken {
+
+ public TupleLiteralExpCS_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTupleLiteralExpCSAccess().getGroup_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleLiteralExpCS_OwnedPartsAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class TupleLiteralExpCS_CommaKeyword_3_0 extends KeywordToken {
+
+ public TupleLiteralExpCS_CommaKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTupleLiteralExpCSAccess().getCommaKeyword_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleLiteralExpCS_Group_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TupleLiteralExpCS_OwnedPartsAssignment_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedParts+=TupleLiteralPartCS
+protected class TupleLiteralExpCS_OwnedPartsAssignment_3_1 extends AssignmentToken {
+
+ public TupleLiteralExpCS_OwnedPartsAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsAssignment_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleLiteralPartCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedParts",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedParts");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTupleLiteralPartCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_3_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TupleLiteralExpCS_CommaKeyword_3_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// "}"
+protected class TupleLiteralExpCS_RightCurlyBracketKeyword_4 extends KeywordToken {
+
+ public TupleLiteralExpCS_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTupleLiteralExpCSAccess().getRightCurlyBracketKeyword_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleLiteralExpCS_Group_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TupleLiteralExpCS_OwnedPartsAssignment_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule TupleLiteralExpCS ****************/
+
+
+/************ begin Rule TupleLiteralPartCS ****************
+ *
+ * TupleLiteralPartCS:
+ *
+ * name=UnrestrictedName (":" ownedType=TypeExpCS)? "=" initExpression=ExpCS;
+ *
+ **/
+
+// name=UnrestrictedName (":" ownedType=TypeExpCS)? "=" initExpression=ExpCS
+protected class TupleLiteralPartCS_Group extends GroupToken {
+
+ public TupleLiteralPartCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTupleLiteralPartCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleLiteralPartCS_InitExpressionAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTupleLiteralPartCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// name=UnrestrictedName
+protected class TupleLiteralPartCS_NameAssignment_0 extends AssignmentToken {
+
+ public TupleLiteralPartCS_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTupleLiteralPartCSAccess().getNameAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTupleLiteralPartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getTupleLiteralPartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// (":" ownedType=TypeExpCS)?
+protected class TupleLiteralPartCS_Group_1 extends GroupToken {
+
+ public TupleLiteralPartCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTupleLiteralPartCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleLiteralPartCS_OwnedTypeAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ":"
+protected class TupleLiteralPartCS_ColonKeyword_1_0 extends KeywordToken {
+
+ public TupleLiteralPartCS_ColonKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTupleLiteralPartCSAccess().getColonKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleLiteralPartCS_NameAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedType=TypeExpCS
+protected class TupleLiteralPartCS_OwnedTypeAssignment_1_1 extends AssignmentToken {
+
+ public TupleLiteralPartCS_OwnedTypeAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedType",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedType");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTypeExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TupleLiteralPartCS_ColonKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// "="
+protected class TupleLiteralPartCS_EqualsSignKeyword_2 extends KeywordToken {
+
+ public TupleLiteralPartCS_EqualsSignKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTupleLiteralPartCSAccess().getEqualsSignKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleLiteralPartCS_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TupleLiteralPartCS_NameAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// initExpression=ExpCS
+protected class TupleLiteralPartCS_InitExpressionAssignment_3 extends AssignmentToken {
+
+ public TupleLiteralPartCS_InitExpressionAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTupleLiteralPartCSAccess().getInitExpressionAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("initExpression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("initExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTupleLiteralPartCSAccess().getInitExpressionExpCSParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TupleLiteralPartCS_EqualsSignKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule TupleLiteralPartCS ****************/
+
+
+/************ begin Rule NumberLiteralExpCS ****************
+ *
+ * NumberLiteralExpCS:
+ *
+ * name=NUMBER_LITERAL;
+ *
+ **/
+
+// name=NUMBER_LITERAL
+protected class NumberLiteralExpCS_NameAssignment extends AssignmentToken {
+
+ public NumberLiteralExpCS_NameAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNumberLiteralExpCSAccess().getNameAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNumberLiteralExpCSRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNumberLiteralExpCSAccess().getNameNUMBER_LITERALParserRuleCall_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getNumberLiteralExpCSAccess().getNameNUMBER_LITERALParserRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule NumberLiteralExpCS ****************/
+
+
+/************ begin Rule StringLiteralExpCS ****************
+ *
+ * StringLiteralExpCS:
+ *
+ * name+=StringLiteral+;
+ *
+ **/
+
+// name+=StringLiteral+
+protected class StringLiteralExpCS_NameAssignment extends AssignmentToken {
+
+ public StringLiteralExpCS_NameAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getStringLiteralExpCSAccess().getNameAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new StringLiteralExpCS_NameAssignment(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getStringLiteralExpCSAccess().getNameStringLiteralParserRuleCall_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getStringLiteralExpCSAccess().getNameStringLiteralParserRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule StringLiteralExpCS ****************/
+
+
+/************ begin Rule BooleanLiteralExpCS ****************
+ *
+ * BooleanLiteralExpCS:
+ *
+ * name="true" | name="false";
+ *
+ **/
+
+// name="true" | name="false"
+protected class BooleanLiteralExpCS_Alternatives extends AlternativesToken {
+
+ public BooleanLiteralExpCS_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getBooleanLiteralExpCSAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new BooleanLiteralExpCS_NameAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new BooleanLiteralExpCS_NameAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralExpCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// name="true"
+protected class BooleanLiteralExpCS_NameAssignment_0 extends AssignmentToken {
+
+ public BooleanLiteralExpCS_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getBooleanLiteralExpCSAccess().getNameAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getBooleanLiteralExpCSAccess().getNameTrueKeyword_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getBooleanLiteralExpCSAccess().getNameTrueKeyword_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// name="false"
+protected class BooleanLiteralExpCS_NameAssignment_1 extends AssignmentToken {
+
+ public BooleanLiteralExpCS_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getBooleanLiteralExpCSAccess().getNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getBooleanLiteralExpCSAccess().getNameFalseKeyword_1_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getBooleanLiteralExpCSAccess().getNameFalseKeyword_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+/************ end Rule BooleanLiteralExpCS ****************/
+
+
+/************ begin Rule UnlimitedNaturalLiteralExpCS ****************
+ *
+ * UnlimitedNaturalLiteralExpCS:
+ *
+ * {UnlimitedNaturalLiteralExpCS} "*";
+ *
+ **/
+
+// {UnlimitedNaturalLiteralExpCS} "*"
+protected class UnlimitedNaturalLiteralExpCS_Group extends GroupToken {
+
+ public UnlimitedNaturalLiteralExpCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnlimitedNaturalLiteralExpCS_AsteriskKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {UnlimitedNaturalLiteralExpCS}
+protected class UnlimitedNaturalLiteralExpCS_UnlimitedNaturalLiteralExpCSAction_0 extends ActionToken {
+
+ public UnlimitedNaturalLiteralExpCS_UnlimitedNaturalLiteralExpCSAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// "*"
+protected class UnlimitedNaturalLiteralExpCS_AsteriskKeyword_1 extends KeywordToken {
+
+ public UnlimitedNaturalLiteralExpCS_AsteriskKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getAsteriskKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnlimitedNaturalLiteralExpCS_UnlimitedNaturalLiteralExpCSAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule UnlimitedNaturalLiteralExpCS ****************/
+
+
+/************ begin Rule InvalidLiteralExpCS ****************
+ *
+ * InvalidLiteralExpCS:
+ *
+ * {InvalidLiteralExpCS} "invalid";
+ *
+ **/
+
+// {InvalidLiteralExpCS} "invalid"
+protected class InvalidLiteralExpCS_Group extends GroupToken {
+
+ public InvalidLiteralExpCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInvalidLiteralExpCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InvalidLiteralExpCS_InvalidKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {InvalidLiteralExpCS}
+protected class InvalidLiteralExpCS_InvalidLiteralExpCSAction_0 extends ActionToken {
+
+ public InvalidLiteralExpCS_InvalidLiteralExpCSAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// "invalid"
+protected class InvalidLiteralExpCS_InvalidKeyword_1 extends KeywordToken {
+
+ public InvalidLiteralExpCS_InvalidKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInvalidLiteralExpCSAccess().getInvalidKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InvalidLiteralExpCS_InvalidLiteralExpCSAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule InvalidLiteralExpCS ****************/
+
+
+/************ begin Rule NullLiteralExpCS ****************
+ *
+ * NullLiteralExpCS:
+ *
+ * {NullLiteralExpCS} "null";
+ *
+ **/
+
+// {NullLiteralExpCS} "null"
+protected class NullLiteralExpCS_Group extends GroupToken {
+
+ public NullLiteralExpCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNullLiteralExpCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NullLiteralExpCS_NullKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {NullLiteralExpCS}
+protected class NullLiteralExpCS_NullLiteralExpCSAction_0 extends ActionToken {
+
+ public NullLiteralExpCS_NullLiteralExpCSAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// "null"
+protected class NullLiteralExpCS_NullKeyword_1 extends KeywordToken {
+
+ public NullLiteralExpCS_NullKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNullLiteralExpCSAccess().getNullKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NullLiteralExpCS_NullLiteralExpCSAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule NullLiteralExpCS ****************/
+
+
+/************ begin Rule TypeLiteralCS ****************
+ *
+ * TypeLiteralCS returns base::TypedRefCS:
+ *
+ * PrimitiveTypeCS | CollectionTypeCS | TupleTypeCS;
+ *
+ **/
+
+// PrimitiveTypeCS | CollectionTypeCS | TupleTypeCS
+protected class TypeLiteralCS_Alternatives extends AlternativesToken {
+
+ public TypeLiteralCS_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getTypeLiteralCSAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeLiteralCS_PrimitiveTypeCSParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TypeLiteralCS_CollectionTypeCSParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new TypeLiteralCS_TupleTypeCSParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectionTypeCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimitiveTypeCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTupleTypeCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// PrimitiveTypeCS
+protected class TypeLiteralCS_PrimitiveTypeCSParserRuleCall_0 extends RuleCallToken {
+
+ public TypeLiteralCS_PrimitiveTypeCSParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getTypeLiteralCSAccess().getPrimitiveTypeCSParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimitiveTypeCS_NameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPrimitiveTypeCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(PrimitiveTypeCS_NameAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// CollectionTypeCS
+protected class TypeLiteralCS_CollectionTypeCSParserRuleCall_1 extends RuleCallToken {
+
+ public TypeLiteralCS_CollectionTypeCSParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getTypeLiteralCSAccess().getCollectionTypeCSParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionTypeCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectionTypeCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(CollectionTypeCS_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// TupleTypeCS
+protected class TypeLiteralCS_TupleTypeCSParserRuleCall_2 extends RuleCallToken {
+
+ public TypeLiteralCS_TupleTypeCSParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getTypeLiteralCSAccess().getTupleTypeCSParserRuleCall_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleTypeCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTupleTypeCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(TupleTypeCS_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule TypeLiteralCS ****************/
+
+
+/************ begin Rule TypeLiteralExpCS ****************
+ *
+ * TypeLiteralExpCS:
+ *
+ * ownedType=TypeLiteralCS;
+ *
+ **/
+
+// ownedType=TypeLiteralCS
+protected class TypeLiteralExpCS_OwnedTypeAssignment extends AssignmentToken {
+
+ public TypeLiteralExpCS_OwnedTypeAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeLiteralCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTypeLiteralExpCSRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("ownedType",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedType");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTypeLiteralCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeTypeLiteralCSParserRuleCall_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+/************ end Rule TypeLiteralExpCS ****************/
+
+
+/************ begin Rule TypeNameExpCS ****************
+ *
+ * TypeNameExpCS:
+ *
+ * pathName=PathNameCS;
+ *
+ **/
+
+// pathName=PathNameCS
+protected class TypeNameExpCS_PathNameAssignment extends AssignmentToken {
+
+ public TypeNameExpCS_PathNameAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTypeNameExpCSAccess().getPathNameAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PathNameCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTypeNameExpCSRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("pathName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("pathName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPathNameCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTypeNameExpCSAccess().getPathNamePathNameCSParserRuleCall_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+/************ end Rule TypeNameExpCS ****************/
+
+
+/************ begin Rule TypeExpCS ****************
+ *
+ * TypeExpCS returns base::TypedRefCS:
+ *
+ * (TypeNameExpCS | TypeLiteralCS) multiplicity=MultiplicityCS?;
+ *
+ **/
+
+// (TypeNameExpCS | TypeLiteralCS) multiplicity=MultiplicityCS?
+protected class TypeExpCS_Group extends GroupToken {
+
+ public TypeExpCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTypeExpCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeExpCS_MultiplicityAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TypeExpCS_Alternatives_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectionTypeCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimitiveTypeCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTupleTypeCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTypeNameExpCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// TypeNameExpCS | TypeLiteralCS
+protected class TypeExpCS_Alternatives_0 extends AlternativesToken {
+
+ public TypeExpCS_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getTypeExpCSAccess().getAlternatives_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeExpCS_TypeNameExpCSParserRuleCall_0_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TypeExpCS_TypeLiteralCSParserRuleCall_0_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// TypeNameExpCS
+protected class TypeExpCS_TypeNameExpCSParserRuleCall_0_0 extends RuleCallToken {
+
+ public TypeExpCS_TypeNameExpCSParserRuleCall_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getTypeExpCSAccess().getTypeNameExpCSParserRuleCall_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeNameExpCS_PathNameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTypeNameExpCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(TypeNameExpCS_PathNameAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// TypeLiteralCS
+protected class TypeExpCS_TypeLiteralCSParserRuleCall_0_1 extends RuleCallToken {
+
+ public TypeExpCS_TypeLiteralCSParserRuleCall_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getTypeExpCSAccess().getTypeLiteralCSParserRuleCall_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeLiteralCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectionTypeCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimitiveTypeCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTupleTypeCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(TypeLiteralCS_Alternatives.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+// multiplicity=MultiplicityCS?
+protected class TypeExpCS_MultiplicityAssignment_1 extends AssignmentToken {
+
+ public TypeExpCS_MultiplicityAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTypeExpCSAccess().getMultiplicityAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicityCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("multiplicity",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("multiplicity");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getMultiplicityCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTypeExpCSAccess().getMultiplicityMultiplicityCSParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TypeExpCS_Alternatives_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule TypeExpCS ****************/
+
+
+/************ begin Rule ExpCS ****************
+ *
+ * //---------------------------------------------------------------------
+ * // Expressions
+ *
+ *
+ * //---------------------------------------------------------------------
+ *
+ *
+ * // An ExpCS permits a LetExpCS only in the final term to ensure
+ *
+ *
+ * // that let is right associative, whereas infix operators are left associative.
+ *
+ *
+ * // a = 64 / 16 / let b : Integer in 8 / let c : Integer in 4
+ * // is
+ *
+ *
+ * // a = (64 / 16) / (let b : Integer in 8 / (let c : Integer in 4 ))
+ * ExpCS:
+ *
+ * {InfixExpCS} (ownedExpression+=PrefixedExpCS ownedOperator+=BinaryOperatorCS)+ ownedExpression+=PrefixedExpOrLetExpCS
+ *
+ * | {PrefixExpCS} ownedOperator+=UnaryOperatorCS+ ownedExpression=PrimaryExpOrLetExpCS | PrimaryExpOrLetExpCS;
+ *
+ **/
+
+// {InfixExpCS} (ownedExpression+=PrefixedExpCS ownedOperator+=BinaryOperatorCS)+ ownedExpression+=PrefixedExpOrLetExpCS |
+//
+// {PrefixExpCS} ownedOperator+=UnaryOperatorCS+ ownedExpression=PrimaryExpOrLetExpCS | PrimaryExpOrLetExpCS
+protected class ExpCS_Alternatives extends AlternativesToken {
+
+ public ExpCS_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getExpCSAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Group_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ExpCS_Group_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new ExpCS_PrimaryExpOrLetExpCSParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getCollectionLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIfExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getExpCSAccess().getInfixExpCSAction_0_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getLetExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNestedExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNumberLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getExpCSAccess().getPrefixExpCSAction_1_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTupleLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTypeLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {InfixExpCS} (ownedExpression+=PrefixedExpCS ownedOperator+=BinaryOperatorCS)+ ownedExpression+=PrefixedExpOrLetExpCS
+protected class ExpCS_Group_0 extends GroupToken {
+
+ public ExpCS_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getExpCSAccess().getGroup_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_OwnedExpressionAssignment_0_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getExpCSAccess().getInfixExpCSAction_0_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {InfixExpCS}
+protected class ExpCS_InfixExpCSAction_0_0 extends ActionToken {
+
+ public ExpCS_InfixExpCSAction_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getExpCSAccess().getInfixExpCSAction_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// (ownedExpression+=PrefixedExpCS ownedOperator+=BinaryOperatorCS)+
+protected class ExpCS_Group_0_1 extends GroupToken {
+
+ public ExpCS_Group_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getExpCSAccess().getGroup_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_OwnedOperatorAssignment_0_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedExpression+=PrefixedExpCS
+protected class ExpCS_OwnedExpressionAssignment_0_1_0 extends AssignmentToken {
+
+ public ExpCS_OwnedExpressionAssignment_0_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_0_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrefixedExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedExpression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPrefixedExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpCSParserRuleCall_0_1_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ExpCS_Group_0_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new ExpCS_InfixExpCSAction_0_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ownedOperator+=BinaryOperatorCS
+protected class ExpCS_OwnedOperatorAssignment_0_1_1 extends AssignmentToken {
+
+ public ExpCS_OwnedOperatorAssignment_0_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_0_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new BinaryOperatorCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedOperator",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedOperator");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getBinaryOperatorCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getExpCSAccess().getOwnedOperatorBinaryOperatorCSParserRuleCall_0_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ExpCS_OwnedExpressionAssignment_0_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// ownedExpression+=PrefixedExpOrLetExpCS
+protected class ExpCS_OwnedExpressionAssignment_0_2 extends AssignmentToken {
+
+ public ExpCS_OwnedExpressionAssignment_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_0_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrefixedExpOrLetExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedExpression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPrefixedExpOrLetExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpOrLetExpCSParserRuleCall_0_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ExpCS_Group_0_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// {PrefixExpCS} ownedOperator+=UnaryOperatorCS+ ownedExpression=PrimaryExpOrLetExpCS
+protected class ExpCS_Group_1 extends GroupToken {
+
+ public ExpCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getExpCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_OwnedExpressionAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getExpCSAccess().getPrefixExpCSAction_1_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {PrefixExpCS}
+protected class ExpCS_PrefixExpCSAction_1_0 extends ActionToken {
+
+ public ExpCS_PrefixExpCSAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getExpCSAccess().getPrefixExpCSAction_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// ownedOperator+=UnaryOperatorCS+
+protected class ExpCS_OwnedOperatorAssignment_1_1 extends AssignmentToken {
+
+ public ExpCS_OwnedOperatorAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getExpCSAccess().getOwnedOperatorAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnaryOperatorCS_NameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedOperator",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedOperator");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getUnaryOperatorCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ExpCS_OwnedOperatorAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new ExpCS_PrefixExpCSAction_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ownedExpression=PrimaryExpOrLetExpCS
+protected class ExpCS_OwnedExpressionAssignment_1_2 extends AssignmentToken {
+
+ public ExpCS_OwnedExpressionAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getExpCSAccess().getOwnedExpressionAssignment_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpOrLetExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedExpression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPrimaryExpOrLetExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ExpCS_OwnedOperatorAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// PrimaryExpOrLetExpCS
+protected class ExpCS_PrimaryExpOrLetExpCSParserRuleCall_2 extends RuleCallToken {
+
+ public ExpCS_PrimaryExpOrLetExpCSParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getExpCSAccess().getPrimaryExpOrLetExpCSParserRuleCall_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpOrLetExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getCollectionLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIfExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getLetExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNestedExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNumberLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTupleLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTypeLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(PrimaryExpOrLetExpCS_Alternatives.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule ExpCS ****************/
+
+
+/************ begin Rule BinaryOperatorCS ****************
+ *
+ * BinaryOperatorCS:
+ *
+ * InfixOperatorCS | NavigationOperatorCS;
+ *
+ **/
+
+// InfixOperatorCS | NavigationOperatorCS
+protected class BinaryOperatorCS_Alternatives extends AlternativesToken {
+
+ public BinaryOperatorCS_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getBinaryOperatorCSAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new BinaryOperatorCS_InfixOperatorCSParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new BinaryOperatorCS_NavigationOperatorCSParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInfixOperatorCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNavigationOperatorCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// InfixOperatorCS
+protected class BinaryOperatorCS_InfixOperatorCSParserRuleCall_0 extends RuleCallToken {
+
+ public BinaryOperatorCS_InfixOperatorCSParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getBinaryOperatorCSAccess().getInfixOperatorCSParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InfixOperatorCS_NameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInfixOperatorCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(InfixOperatorCS_NameAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// NavigationOperatorCS
+protected class BinaryOperatorCS_NavigationOperatorCSParserRuleCall_1 extends RuleCallToken {
+
+ public BinaryOperatorCS_NavigationOperatorCSParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getBinaryOperatorCSAccess().getNavigationOperatorCSParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigationOperatorCS_NameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNavigationOperatorCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(NavigationOperatorCS_NameAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule BinaryOperatorCS ****************/
+
+
+/************ begin Rule InfixOperatorCS ****************
+ *
+ * InfixOperatorCS returns BinaryOperatorCS:
+ *
+ * name=InfixOperator;
+ *
+ **/
+
+// name=InfixOperator
+protected class InfixOperatorCS_NameAssignment extends AssignmentToken {
+
+ public InfixOperatorCS_NameAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInfixOperatorCSAccess().getNameAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInfixOperatorCSRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInfixOperatorCSAccess().getNameInfixOperatorParserRuleCall_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getInfixOperatorCSAccess().getNameInfixOperatorParserRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule InfixOperatorCS ****************/
+
+
+/************ begin Rule NavigationOperatorCS ****************
+ *
+ * NavigationOperatorCS:
+ *
+ * name=NavigationOperator;
+ *
+ **/
+
+// name=NavigationOperator
+protected class NavigationOperatorCS_NameAssignment extends AssignmentToken {
+
+ public NavigationOperatorCS_NameAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigationOperatorCSAccess().getNameAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNavigationOperatorCSRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNavigationOperatorCSAccess().getNameNavigationOperatorParserRuleCall_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getNavigationOperatorCSAccess().getNameNavigationOperatorParserRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule NavigationOperatorCS ****************/
+
+
+/************ begin Rule PrefixedExpCS ****************
+ *
+ * PrefixedExpCS returns ExpCS:
+ *
+ * PrimaryExpCS | {PrefixExpCS} ownedOperator+=UnaryOperatorCS+ ownedExpression=PrimaryExpCS;
+ *
+ **/
+
+// PrimaryExpCS | {PrefixExpCS} ownedOperator+=UnaryOperatorCS+ ownedExpression=PrimaryExpCS
+protected class PrefixedExpCS_Alternatives extends AlternativesToken {
+
+ public PrefixedExpCS_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getPrefixedExpCSAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrefixedExpCS_PrimaryExpCSParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrefixedExpCS_Group_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getCollectionLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIfExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNestedExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNumberLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrefixedExpCSAccess().getPrefixExpCSAction_1_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTupleLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTypeLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// PrimaryExpCS
+protected class PrefixedExpCS_PrimaryExpCSParserRuleCall_0 extends RuleCallToken {
+
+ public PrefixedExpCS_PrimaryExpCSParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrefixedExpCSAccess().getPrimaryExpCSParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getCollectionLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIfExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNestedExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNumberLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTupleLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTypeLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(PrimaryExpCS_Alternatives.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// {PrefixExpCS} ownedOperator+=UnaryOperatorCS+ ownedExpression=PrimaryExpCS
+protected class PrefixedExpCS_Group_1 extends GroupToken {
+
+ public PrefixedExpCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrefixedExpCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrefixedExpCS_OwnedExpressionAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPrefixedExpCSAccess().getPrefixExpCSAction_1_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {PrefixExpCS}
+protected class PrefixedExpCS_PrefixExpCSAction_1_0 extends ActionToken {
+
+ public PrefixedExpCS_PrefixExpCSAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getPrefixedExpCSAccess().getPrefixExpCSAction_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// ownedOperator+=UnaryOperatorCS+
+protected class PrefixedExpCS_OwnedOperatorAssignment_1_1 extends AssignmentToken {
+
+ public PrefixedExpCS_OwnedOperatorAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnaryOperatorCS_NameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedOperator",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedOperator");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getUnaryOperatorCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrefixedExpCS_OwnedOperatorAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new PrefixedExpCS_PrefixExpCSAction_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ownedExpression=PrimaryExpCS
+protected class PrefixedExpCS_OwnedExpressionAssignment_1_2 extends AssignmentToken {
+
+ public PrefixedExpCS_OwnedExpressionAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrefixedExpCSAccess().getOwnedExpressionAssignment_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedExpression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPrimaryExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrefixedExpCSAccess().getOwnedExpressionPrimaryExpCSParserRuleCall_1_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrefixedExpCS_OwnedOperatorAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule PrefixedExpCS ****************/
+
+
+/************ begin Rule PrefixedExpOrLetExpCS ****************
+ *
+ * PrefixedExpOrLetExpCS returns ExpCS:
+ *
+ * PrimaryExpOrLetExpCS | {PrefixExpCS} ownedOperator+=UnaryOperatorCS+ ownedExpression=PrimaryExpOrLetExpCS;
+ *
+ **/
+
+// PrimaryExpOrLetExpCS | {PrefixExpCS} ownedOperator+=UnaryOperatorCS+ ownedExpression=PrimaryExpOrLetExpCS
+protected class PrefixedExpOrLetExpCS_Alternatives extends AlternativesToken {
+
+ public PrefixedExpOrLetExpCS_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getPrefixedExpOrLetExpCSAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrefixedExpOrLetExpCS_PrimaryExpOrLetExpCSParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrefixedExpOrLetExpCS_Group_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getCollectionLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIfExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getLetExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNestedExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNumberLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrefixExpCSAction_1_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTupleLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTypeLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// PrimaryExpOrLetExpCS
+protected class PrefixedExpOrLetExpCS_PrimaryExpOrLetExpCSParserRuleCall_0 extends RuleCallToken {
+
+ public PrefixedExpOrLetExpCS_PrimaryExpOrLetExpCSParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrimaryExpOrLetExpCSParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpOrLetExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getCollectionLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIfExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getLetExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNestedExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNumberLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTupleLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTypeLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(PrimaryExpOrLetExpCS_Alternatives.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// {PrefixExpCS} ownedOperator+=UnaryOperatorCS+ ownedExpression=PrimaryExpOrLetExpCS
+protected class PrefixedExpOrLetExpCS_Group_1 extends GroupToken {
+
+ public PrefixedExpOrLetExpCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrefixedExpOrLetExpCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrefixedExpOrLetExpCS_OwnedExpressionAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrefixExpCSAction_1_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {PrefixExpCS}
+protected class PrefixedExpOrLetExpCS_PrefixExpCSAction_1_0 extends ActionToken {
+
+ public PrefixedExpOrLetExpCS_PrefixExpCSAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrefixExpCSAction_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// ownedOperator+=UnaryOperatorCS+
+protected class PrefixedExpOrLetExpCS_OwnedOperatorAssignment_1_1 extends AssignmentToken {
+
+ public PrefixedExpOrLetExpCS_OwnedOperatorAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnaryOperatorCS_NameAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedOperator",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedOperator");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getUnaryOperatorCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrefixedExpOrLetExpCS_OwnedOperatorAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new PrefixedExpOrLetExpCS_PrefixExpCSAction_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ownedExpression=PrimaryExpOrLetExpCS
+protected class PrefixedExpOrLetExpCS_OwnedExpressionAssignment_1_2 extends AssignmentToken {
+
+ public PrefixedExpOrLetExpCS_OwnedExpressionAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedExpressionAssignment_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpOrLetExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedExpression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPrimaryExpOrLetExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrefixedExpOrLetExpCS_OwnedOperatorAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule PrefixedExpOrLetExpCS ****************/
+
+
+/************ begin Rule UnaryOperatorCS ****************
+ *
+ * UnaryOperatorCS:
+ *
+ * name=PrefixOperator;
+ *
+ **/
+
+// name=PrefixOperator
+protected class UnaryOperatorCS_NameAssignment extends AssignmentToken {
+
+ public UnaryOperatorCS_NameAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getUnaryOperatorCSAccess().getNameAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getUnaryOperatorCSRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getUnaryOperatorCSAccess().getNamePrefixOperatorParserRuleCall_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getUnaryOperatorCSAccess().getNamePrefixOperatorParserRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule UnaryOperatorCS ****************/
+
+
+/************ begin Rule PrimaryExpCS ****************
+ *
+ * // These rules are ordered most rejectable first
+ * PrimaryExpCS returns ExpCS:
+ *
+ * {IndexExpCS} pathName=PathNameCS "[" firstIndexes+=ExpCS ("," firstIndexes+=ExpCS)* "]" ("[" secondIndexes+=ExpCS
+ *
+ * ("," secondIndexes+=ExpCS)* "]")? (atPre?="@" "pre")? | {ConstructorExpCS} pathName=PathNameCS "{"
+ *
+ * ownedParts+=ConstructorPartCS ("," ownedParts+=ConstructorPartCS)* "}" | {InvocationExpCS} pathName=PathNameCS
+ *
+ * (atPre?="@" "pre")? "(" (argument+=NavigatingArgCS argument+=NavigatingCommaArgCS* (argument+=NavigatingSemiArgCS
+ *
+ * argument+=NavigatingCommaArgCS*)? (argument+=NavigatingBarArgCS argument+=NavigatingCommaArgCS*)?)? ")" | {NameExpCS}
+ *
+ * pathName=PathNameCS (atPre?="@" "pre")? | SelfExpCS | PrimitiveLiteralExpCS | TupleLiteralExpCS |
+ *
+ * CollectionLiteralExpCS | TypeLiteralExpCS | IfExpCS | NestedExpCS;
+ *
+ **/
+
+// {IndexExpCS} pathName=PathNameCS "[" firstIndexes+=ExpCS ("," firstIndexes+=ExpCS)* "]" ("[" secondIndexes+=ExpCS (","
+//
+// secondIndexes+=ExpCS)* "]")? (atPre?="@" "pre")? | {ConstructorExpCS} pathName=PathNameCS "{"
+//
+// ownedParts+=ConstructorPartCS ("," ownedParts+=ConstructorPartCS)* "}" | {InvocationExpCS} pathName=PathNameCS
+//
+// (atPre?="@" "pre")? "(" (argument+=NavigatingArgCS argument+=NavigatingCommaArgCS* (argument+=NavigatingSemiArgCS
+//
+// argument+=NavigatingCommaArgCS*)? (argument+=NavigatingBarArgCS argument+=NavigatingCommaArgCS*)?)? ")" | {NameExpCS}
+//
+// pathName=PathNameCS (atPre?="@" "pre")? | SelfExpCS | PrimitiveLiteralExpCS | TupleLiteralExpCS |
+//
+// CollectionLiteralExpCS | TypeLiteralExpCS | IfExpCS | NestedExpCS
+protected class PrimaryExpCS_Alternatives extends AlternativesToken {
+
+ public PrimaryExpCS_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Group_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_Group_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new PrimaryExpCS_Group_2(lastRuleCallOrigin, this, 2, inst);
+ case 3: return new PrimaryExpCS_Group_3(lastRuleCallOrigin, this, 3, inst);
+ case 4: return new PrimaryExpCS_SelfExpCSParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
+ case 5: return new PrimaryExpCS_PrimitiveLiteralExpCSParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
+ case 6: return new PrimaryExpCS_TupleLiteralExpCSParserRuleCall_6(lastRuleCallOrigin, this, 6, inst);
+ case 7: return new PrimaryExpCS_CollectionLiteralExpCSParserRuleCall_7(lastRuleCallOrigin, this, 7, inst);
+ case 8: return new PrimaryExpCS_TypeLiteralExpCSParserRuleCall_8(lastRuleCallOrigin, this, 8, inst);
+ case 9: return new PrimaryExpCS_IfExpCSParserRuleCall_9(lastRuleCallOrigin, this, 9, inst);
+ case 10: return new PrimaryExpCS_NestedExpCSParserRuleCall_10(lastRuleCallOrigin, this, 10, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getCollectionLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIfExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNestedExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNumberLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTupleLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTypeLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {IndexExpCS} pathName=PathNameCS "[" firstIndexes+=ExpCS ("," firstIndexes+=ExpCS)* "]" ("[" secondIndexes+=ExpCS (","
+//
+// secondIndexes+=ExpCS)* "]")? (atPre?="@" "pre")?
+protected class PrimaryExpCS_Group_0 extends GroupToken {
+
+ public PrimaryExpCS_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getGroup_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Group_0_7(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_Group_0_6(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new PrimaryExpCS_RightSquareBracketKeyword_0_5(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {IndexExpCS}
+protected class PrimaryExpCS_IndexExpCSAction_0_0 extends ActionToken {
+
+ public PrimaryExpCS_IndexExpCSAction_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// pathName=PathNameCS
+protected class PrimaryExpCS_PathNameAssignment_0_1 extends AssignmentToken {
+
+ public PrimaryExpCS_PathNameAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PathNameCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("pathName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("pathName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPathNameCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_0_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_IndexExpCSAction_0_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "["
+protected class PrimaryExpCS_LeftSquareBracketKeyword_0_2 extends KeywordToken {
+
+ public PrimaryExpCS_LeftSquareBracketKeyword_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getLeftSquareBracketKeyword_0_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_PathNameAssignment_0_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// firstIndexes+=ExpCS
+protected class PrimaryExpCS_FirstIndexesAssignment_0_3 extends AssignmentToken {
+
+ public PrimaryExpCS_FirstIndexesAssignment_0_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getFirstIndexesAssignment_0_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("firstIndexes",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("firstIndexes");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_LeftSquareBracketKeyword_0_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," firstIndexes+=ExpCS)*
+protected class PrimaryExpCS_Group_0_4 extends GroupToken {
+
+ public PrimaryExpCS_Group_0_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getGroup_0_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_FirstIndexesAssignment_0_4_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class PrimaryExpCS_CommaKeyword_0_4_0 extends KeywordToken {
+
+ public PrimaryExpCS_CommaKeyword_0_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_0_4_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Group_0_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_FirstIndexesAssignment_0_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// firstIndexes+=ExpCS
+protected class PrimaryExpCS_FirstIndexesAssignment_0_4_1 extends AssignmentToken {
+
+ public PrimaryExpCS_FirstIndexesAssignment_0_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getFirstIndexesAssignment_0_4_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("firstIndexes",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("firstIndexes");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_4_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_CommaKeyword_0_4_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// "]"
+protected class PrimaryExpCS_RightSquareBracketKeyword_0_5 extends KeywordToken {
+
+ public PrimaryExpCS_RightSquareBracketKeyword_0_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getRightSquareBracketKeyword_0_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Group_0_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_FirstIndexesAssignment_0_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ("[" secondIndexes+=ExpCS ("," secondIndexes+=ExpCS)* "]")?
+protected class PrimaryExpCS_Group_0_6 extends GroupToken {
+
+ public PrimaryExpCS_Group_0_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getGroup_0_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_RightSquareBracketKeyword_0_6_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "["
+protected class PrimaryExpCS_LeftSquareBracketKeyword_0_6_0 extends KeywordToken {
+
+ public PrimaryExpCS_LeftSquareBracketKeyword_0_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getLeftSquareBracketKeyword_0_6_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_RightSquareBracketKeyword_0_5(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// secondIndexes+=ExpCS
+protected class PrimaryExpCS_SecondIndexesAssignment_0_6_1 extends AssignmentToken {
+
+ public PrimaryExpCS_SecondIndexesAssignment_0_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getSecondIndexesAssignment_0_6_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("secondIndexes",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("secondIndexes");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_LeftSquareBracketKeyword_0_6_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," secondIndexes+=ExpCS)*
+protected class PrimaryExpCS_Group_0_6_2 extends GroupToken {
+
+ public PrimaryExpCS_Group_0_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getGroup_0_6_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_SecondIndexesAssignment_0_6_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class PrimaryExpCS_CommaKeyword_0_6_2_0 extends KeywordToken {
+
+ public PrimaryExpCS_CommaKeyword_0_6_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_0_6_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Group_0_6_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_SecondIndexesAssignment_0_6_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// secondIndexes+=ExpCS
+protected class PrimaryExpCS_SecondIndexesAssignment_0_6_2_1 extends AssignmentToken {
+
+ public PrimaryExpCS_SecondIndexesAssignment_0_6_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getSecondIndexesAssignment_0_6_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("secondIndexes",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("secondIndexes");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_CommaKeyword_0_6_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// "]"
+protected class PrimaryExpCS_RightSquareBracketKeyword_0_6_3 extends KeywordToken {
+
+ public PrimaryExpCS_RightSquareBracketKeyword_0_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getRightSquareBracketKeyword_0_6_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Group_0_6_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_SecondIndexesAssignment_0_6_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// (atPre?="@" "pre")?
+protected class PrimaryExpCS_Group_0_7 extends GroupToken {
+
+ public PrimaryExpCS_Group_0_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getGroup_0_7();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_PreKeyword_0_7_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// atPre?="@"
+protected class PrimaryExpCS_AtPreAssignment_0_7_0 extends AssignmentToken {
+
+ public PrimaryExpCS_AtPreAssignment_0_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_0_7_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Group_0_6(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_RightSquareBracketKeyword_0_5(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("atPre",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("atPre");
+ if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_0_7_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "pre"
+protected class PrimaryExpCS_PreKeyword_0_7_1 extends KeywordToken {
+
+ public PrimaryExpCS_PreKeyword_0_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getPreKeyword_0_7_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_AtPreAssignment_0_7_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+// {ConstructorExpCS} pathName=PathNameCS "{" ownedParts+=ConstructorPartCS ("," ownedParts+=ConstructorPartCS)* "}"
+protected class PrimaryExpCS_Group_1 extends GroupToken {
+
+ public PrimaryExpCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_RightCurlyBracketKeyword_1_5(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {ConstructorExpCS}
+protected class PrimaryExpCS_ConstructorExpCSAction_1_0 extends ActionToken {
+
+ public PrimaryExpCS_ConstructorExpCSAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// pathName=PathNameCS
+protected class PrimaryExpCS_PathNameAssignment_1_1 extends AssignmentToken {
+
+ public PrimaryExpCS_PathNameAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PathNameCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("pathName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("pathName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPathNameCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_ConstructorExpCSAction_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "{"
+protected class PrimaryExpCS_LeftCurlyBracketKeyword_1_2 extends KeywordToken {
+
+ public PrimaryExpCS_LeftCurlyBracketKeyword_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getLeftCurlyBracketKeyword_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_PathNameAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedParts+=ConstructorPartCS
+protected class PrimaryExpCS_OwnedPartsAssignment_1_3 extends AssignmentToken {
+
+ public PrimaryExpCS_OwnedPartsAssignment_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getOwnedPartsAssignment_1_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConstructorPartCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedParts",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedParts");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getConstructorPartCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_LeftCurlyBracketKeyword_1_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," ownedParts+=ConstructorPartCS)*
+protected class PrimaryExpCS_Group_1_4 extends GroupToken {
+
+ public PrimaryExpCS_Group_1_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getGroup_1_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_OwnedPartsAssignment_1_4_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class PrimaryExpCS_CommaKeyword_1_4_0 extends KeywordToken {
+
+ public PrimaryExpCS_CommaKeyword_1_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_1_4_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Group_1_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_OwnedPartsAssignment_1_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedParts+=ConstructorPartCS
+protected class PrimaryExpCS_OwnedPartsAssignment_1_4_1 extends AssignmentToken {
+
+ public PrimaryExpCS_OwnedPartsAssignment_1_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getOwnedPartsAssignment_1_4_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConstructorPartCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedParts",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedParts");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getConstructorPartCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_4_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_CommaKeyword_1_4_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// "}"
+protected class PrimaryExpCS_RightCurlyBracketKeyword_1_5 extends KeywordToken {
+
+ public PrimaryExpCS_RightCurlyBracketKeyword_1_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getRightCurlyBracketKeyword_1_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Group_1_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_OwnedPartsAssignment_1_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// {InvocationExpCS} pathName=PathNameCS (atPre?="@" "pre")? "(" (argument+=NavigatingArgCS argument+=NavigatingCommaArgCS*
+//
+// (argument+=NavigatingSemiArgCS argument+=NavigatingCommaArgCS*)? (argument+=NavigatingBarArgCS
+//
+// argument+=NavigatingCommaArgCS*)?)? ")"
+protected class PrimaryExpCS_Group_2 extends GroupToken {
+
+ public PrimaryExpCS_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_RightParenthesisKeyword_2_5(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {InvocationExpCS}
+protected class PrimaryExpCS_InvocationExpCSAction_2_0 extends ActionToken {
+
+ public PrimaryExpCS_InvocationExpCSAction_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// pathName=PathNameCS
+protected class PrimaryExpCS_PathNameAssignment_2_1 extends AssignmentToken {
+
+ public PrimaryExpCS_PathNameAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PathNameCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("pathName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("pathName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPathNameCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_InvocationExpCSAction_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// (atPre?="@" "pre")?
+protected class PrimaryExpCS_Group_2_2 extends GroupToken {
+
+ public PrimaryExpCS_Group_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getGroup_2_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_PreKeyword_2_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// atPre?="@"
+protected class PrimaryExpCS_AtPreAssignment_2_2_0 extends AssignmentToken {
+
+ public PrimaryExpCS_AtPreAssignment_2_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_2_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_PathNameAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("atPre",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("atPre");
+ if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_2_2_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "pre"
+protected class PrimaryExpCS_PreKeyword_2_2_1 extends KeywordToken {
+
+ public PrimaryExpCS_PreKeyword_2_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getPreKeyword_2_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_AtPreAssignment_2_2_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// "("
+protected class PrimaryExpCS_LeftParenthesisKeyword_2_3 extends KeywordToken {
+
+ public PrimaryExpCS_LeftParenthesisKeyword_2_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getLeftParenthesisKeyword_2_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Group_2_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_PathNameAssignment_2_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// (argument+=NavigatingArgCS argument+=NavigatingCommaArgCS* (argument+=NavigatingSemiArgCS
+//
+// argument+=NavigatingCommaArgCS*)? (argument+=NavigatingBarArgCS argument+=NavigatingCommaArgCS*)?)?
+protected class PrimaryExpCS_Group_2_4 extends GroupToken {
+
+ public PrimaryExpCS_Group_2_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getGroup_2_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Group_2_4_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_Group_2_4_2(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new PrimaryExpCS_ArgumentAssignment_2_4_1(lastRuleCallOrigin, this, 2, inst);
+ case 3: return new PrimaryExpCS_ArgumentAssignment_2_4_0(lastRuleCallOrigin, this, 3, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// argument+=NavigatingArgCS
+protected class PrimaryExpCS_ArgumentAssignment_2_4_0 extends AssignmentToken {
+
+ public PrimaryExpCS_ArgumentAssignment_2_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingArgCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("argument",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("argument");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNavigatingArgCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingArgCSParserRuleCall_2_4_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_LeftParenthesisKeyword_2_3(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// argument+=NavigatingCommaArgCS*
+protected class PrimaryExpCS_ArgumentAssignment_2_4_1 extends AssignmentToken {
+
+ public PrimaryExpCS_ArgumentAssignment_2_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingCommaArgCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("argument",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("argument");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNavigatingCommaArgCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_ArgumentAssignment_2_4_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new PrimaryExpCS_ArgumentAssignment_2_4_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// (argument+=NavigatingSemiArgCS argument+=NavigatingCommaArgCS*)?
+protected class PrimaryExpCS_Group_2_4_2 extends GroupToken {
+
+ public PrimaryExpCS_Group_2_4_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getGroup_2_4_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_ArgumentAssignment_2_4_2_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_ArgumentAssignment_2_4_2_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// argument+=NavigatingSemiArgCS
+protected class PrimaryExpCS_ArgumentAssignment_2_4_2_0 extends AssignmentToken {
+
+ public PrimaryExpCS_ArgumentAssignment_2_4_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingSemiArgCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("argument",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("argument");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNavigatingSemiArgCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingSemiArgCSParserRuleCall_2_4_2_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_ArgumentAssignment_2_4_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new PrimaryExpCS_ArgumentAssignment_2_4_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// argument+=NavigatingCommaArgCS*
+protected class PrimaryExpCS_ArgumentAssignment_2_4_2_1 extends AssignmentToken {
+
+ public PrimaryExpCS_ArgumentAssignment_2_4_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingCommaArgCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("argument",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("argument");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNavigatingCommaArgCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_ArgumentAssignment_2_4_2_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new PrimaryExpCS_ArgumentAssignment_2_4_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// (argument+=NavigatingBarArgCS argument+=NavigatingCommaArgCS*)?
+protected class PrimaryExpCS_Group_2_4_3 extends GroupToken {
+
+ public PrimaryExpCS_Group_2_4_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getGroup_2_4_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_ArgumentAssignment_2_4_3_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_ArgumentAssignment_2_4_3_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// argument+=NavigatingBarArgCS
+protected class PrimaryExpCS_ArgumentAssignment_2_4_3_0 extends AssignmentToken {
+
+ public PrimaryExpCS_ArgumentAssignment_2_4_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingBarArgCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("argument",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("argument");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNavigatingBarArgCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingBarArgCSParserRuleCall_2_4_3_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_Group_2_4_2(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new PrimaryExpCS_ArgumentAssignment_2_4_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 2: return new PrimaryExpCS_ArgumentAssignment_2_4_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// argument+=NavigatingCommaArgCS*
+protected class PrimaryExpCS_ArgumentAssignment_2_4_3_1 extends AssignmentToken {
+
+ public PrimaryExpCS_ArgumentAssignment_2_4_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getArgumentAssignment_2_4_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingCommaArgCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("argument",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("argument");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNavigatingCommaArgCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_3_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_ArgumentAssignment_2_4_3_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new PrimaryExpCS_ArgumentAssignment_2_4_3_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+// ")"
+protected class PrimaryExpCS_RightParenthesisKeyword_2_5 extends KeywordToken {
+
+ public PrimaryExpCS_RightParenthesisKeyword_2_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getRightParenthesisKeyword_2_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Group_2_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_LeftParenthesisKeyword_2_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// {NameExpCS} pathName=PathNameCS (atPre?="@" "pre")?
+protected class PrimaryExpCS_Group_3 extends GroupToken {
+
+ public PrimaryExpCS_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getGroup_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Group_3_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpCS_PathNameAssignment_3_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {NameExpCS}
+protected class PrimaryExpCS_NameExpCSAction_3_0 extends ActionToken {
+
+ public PrimaryExpCS_NameExpCSAction_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// pathName=PathNameCS
+protected class PrimaryExpCS_PathNameAssignment_3_1 extends AssignmentToken {
+
+ public PrimaryExpCS_PathNameAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getPathNameAssignment_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PathNameCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("pathName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("pathName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPathNameCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_3_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpCS_NameExpCSAction_3_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// (atPre?="@" "pre")?
+protected class PrimaryExpCS_Group_3_2 extends GroupToken {
+
+ public PrimaryExpCS_Group_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getGroup_3_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_PreKeyword_3_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// atPre?="@"
+protected class PrimaryExpCS_AtPreAssignment_3_2_0 extends AssignmentToken {
+
+ public PrimaryExpCS_AtPreAssignment_3_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getAtPreAssignment_3_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_PathNameAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("atPre",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("atPre");
+ if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_3_2_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "pre"
+protected class PrimaryExpCS_PreKeyword_3_2_1 extends KeywordToken {
+
+ public PrimaryExpCS_PreKeyword_3_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getPreKeyword_3_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_AtPreAssignment_3_2_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+// SelfExpCS
+protected class PrimaryExpCS_SelfExpCSParserRuleCall_4 extends RuleCallToken {
+
+ public PrimaryExpCS_SelfExpCSParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getSelfExpCSParserRuleCall_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SelfExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(SelfExpCS_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// PrimitiveLiteralExpCS
+protected class PrimaryExpCS_PrimitiveLiteralExpCSParserRuleCall_5 extends RuleCallToken {
+
+ public PrimaryExpCS_PrimitiveLiteralExpCSParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getPrimitiveLiteralExpCSParserRuleCall_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimitiveLiteralExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNumberLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(PrimitiveLiteralExpCS_Alternatives.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// TupleLiteralExpCS
+protected class PrimaryExpCS_TupleLiteralExpCSParserRuleCall_6 extends RuleCallToken {
+
+ public PrimaryExpCS_TupleLiteralExpCSParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getTupleLiteralExpCSParserRuleCall_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleLiteralExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTupleLiteralExpCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(TupleLiteralExpCS_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// CollectionLiteralExpCS
+protected class PrimaryExpCS_CollectionLiteralExpCSParserRuleCall_7 extends RuleCallToken {
+
+ public PrimaryExpCS_CollectionLiteralExpCSParserRuleCall_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getCollectionLiteralExpCSParserRuleCall_7();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionLiteralExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectionLiteralExpCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(CollectionLiteralExpCS_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// TypeLiteralExpCS
+protected class PrimaryExpCS_TypeLiteralExpCSParserRuleCall_8 extends RuleCallToken {
+
+ public PrimaryExpCS_TypeLiteralExpCSParserRuleCall_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getTypeLiteralExpCSParserRuleCall_8();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeLiteralExpCS_OwnedTypeAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTypeLiteralExpCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(TypeLiteralExpCS_OwnedTypeAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// IfExpCS
+protected class PrimaryExpCS_IfExpCSParserRuleCall_9 extends RuleCallToken {
+
+ public PrimaryExpCS_IfExpCSParserRuleCall_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getIfExpCSParserRuleCall_9();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new IfExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getIfExpCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(IfExpCS_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// NestedExpCS
+protected class PrimaryExpCS_NestedExpCSParserRuleCall_10 extends RuleCallToken {
+
+ public PrimaryExpCS_NestedExpCSParserRuleCall_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimaryExpCSAccess().getNestedExpCSParserRuleCall_10();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NestedExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNestedExpCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(NestedExpCS_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule PrimaryExpCS ****************/
+
+
+/************ begin Rule PrimaryExpOrLetExpCS ****************
+ *
+ * PrimaryExpOrLetExpCS returns ExpCS:
+ *
+ * PrimaryExpCS | LetExpCS;
+ *
+ **/
+
+// PrimaryExpCS | LetExpCS
+protected class PrimaryExpOrLetExpCS_Alternatives extends AlternativesToken {
+
+ public PrimaryExpOrLetExpCS_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getPrimaryExpOrLetExpCSAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpOrLetExpCS_PrimaryExpCSParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpOrLetExpCS_LetExpCSParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getCollectionLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIfExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getLetExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNestedExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNumberLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTupleLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTypeLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// PrimaryExpCS
+protected class PrimaryExpOrLetExpCS_PrimaryExpCSParserRuleCall_0 extends RuleCallToken {
+
+ public PrimaryExpOrLetExpCS_PrimaryExpCSParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimaryExpOrLetExpCSAccess().getPrimaryExpCSParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getCollectionLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIfExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNestedExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNumberLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTupleLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTypeLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(PrimaryExpCS_Alternatives.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// LetExpCS
+protected class PrimaryExpOrLetExpCS_LetExpCSParserRuleCall_1 extends RuleCallToken {
+
+ public PrimaryExpOrLetExpCS_LetExpCSParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getPrimaryExpOrLetExpCSAccess().getLetExpCSParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LetExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getLetExpCSRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(LetExpCS_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule PrimaryExpOrLetExpCS ****************/
+
+
+/************ begin Rule NavigatingArgCS ****************
+ *
+ * // Type-less init is an illegal infix expression
+ * NavigatingArgCS:
+ *
+ * name=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?;
+ *
+ **/
+
+// name=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?
+protected class NavigatingArgCS_Group extends GroupToken {
+
+ public NavigatingArgCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNavigatingArgCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingArgCS_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NavigatingArgCS_NameAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNavigatingArgCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// name=NavigatingArgExpCS
+protected class NavigatingArgCS_NameAssignment_0 extends AssignmentToken {
+
+ public NavigatingArgCS_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingArgCSAccess().getNameAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingArgExpCS_ExpCSParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNavigatingArgExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNavigatingArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?
+protected class NavigatingArgCS_Group_1 extends GroupToken {
+
+ public NavigatingArgCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNavigatingArgCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingArgCS_Group_1_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NavigatingArgCS_OwnedTypeAssignment_1_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ":"
+protected class NavigatingArgCS_ColonKeyword_1_0 extends KeywordToken {
+
+ public NavigatingArgCS_ColonKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNavigatingArgCSAccess().getColonKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingArgCS_NameAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedType=TypeExpCS
+protected class NavigatingArgCS_OwnedTypeAssignment_1_1 extends AssignmentToken {
+
+ public NavigatingArgCS_OwnedTypeAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingArgCSAccess().getOwnedTypeAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedType",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedType");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTypeExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NavigatingArgCS_ColonKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("=" init=ExpCS)?
+protected class NavigatingArgCS_Group_1_2 extends GroupToken {
+
+ public NavigatingArgCS_Group_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNavigatingArgCSAccess().getGroup_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingArgCS_InitAssignment_1_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "="
+protected class NavigatingArgCS_EqualsSignKeyword_1_2_0 extends KeywordToken {
+
+ public NavigatingArgCS_EqualsSignKeyword_1_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_1_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingArgCS_OwnedTypeAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// init=ExpCS
+protected class NavigatingArgCS_InitAssignment_1_2_1 extends AssignmentToken {
+
+ public NavigatingArgCS_InitAssignment_1_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingArgCSAccess().getInitAssignment_1_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("init",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("init");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNavigatingArgCSAccess().getInitExpCSParserRuleCall_1_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NavigatingArgCS_EqualsSignKeyword_1_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+
+/************ end Rule NavigatingArgCS ****************/
+
+
+/************ begin Rule NavigatingBarArgCS ****************
+ *
+ * // Type-less init is an illegal infix expression
+ * NavigatingBarArgCS returns NavigatingArgCS:
+ *
+ * prefix="|" name=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?;
+ *
+ **/
+
+// prefix="|" name=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?
+protected class NavigatingBarArgCS_Group extends GroupToken {
+
+ public NavigatingBarArgCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNavigatingBarArgCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingBarArgCS_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NavigatingBarArgCS_NameAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNavigatingBarArgCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// prefix="|"
+protected class NavigatingBarArgCS_PrefixAssignment_0 extends AssignmentToken {
+
+ public NavigatingBarArgCS_PrefixAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingBarArgCSAccess().getPrefixAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("prefix",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("prefix");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// name=NavigatingArgExpCS
+protected class NavigatingBarArgCS_NameAssignment_1 extends AssignmentToken {
+
+ public NavigatingBarArgCS_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingBarArgCSAccess().getNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingArgExpCS_ExpCSParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNavigatingArgExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNavigatingBarArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NavigatingBarArgCS_PrefixAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?
+protected class NavigatingBarArgCS_Group_2 extends GroupToken {
+
+ public NavigatingBarArgCS_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNavigatingBarArgCSAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingBarArgCS_Group_2_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NavigatingBarArgCS_OwnedTypeAssignment_2_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ":"
+protected class NavigatingBarArgCS_ColonKeyword_2_0 extends KeywordToken {
+
+ public NavigatingBarArgCS_ColonKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNavigatingBarArgCSAccess().getColonKeyword_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingBarArgCS_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedType=TypeExpCS
+protected class NavigatingBarArgCS_OwnedTypeAssignment_2_1 extends AssignmentToken {
+
+ public NavigatingBarArgCS_OwnedTypeAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeAssignment_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedType",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedType");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTypeExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NavigatingBarArgCS_ColonKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("=" init=ExpCS)?
+protected class NavigatingBarArgCS_Group_2_2 extends GroupToken {
+
+ public NavigatingBarArgCS_Group_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNavigatingBarArgCSAccess().getGroup_2_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingBarArgCS_InitAssignment_2_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "="
+protected class NavigatingBarArgCS_EqualsSignKeyword_2_2_0 extends KeywordToken {
+
+ public NavigatingBarArgCS_EqualsSignKeyword_2_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNavigatingBarArgCSAccess().getEqualsSignKeyword_2_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingBarArgCS_OwnedTypeAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// init=ExpCS
+protected class NavigatingBarArgCS_InitAssignment_2_2_1 extends AssignmentToken {
+
+ public NavigatingBarArgCS_InitAssignment_2_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingBarArgCSAccess().getInitAssignment_2_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("init",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("init");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNavigatingBarArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NavigatingBarArgCS_EqualsSignKeyword_2_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+
+/************ end Rule NavigatingBarArgCS ****************/
+
+
+/************ begin Rule NavigatingCommaArgCS ****************
+ *
+ * // Type-less init is an illegal infix expression
+ * NavigatingCommaArgCS returns NavigatingArgCS:
+ *
+ * prefix="," name=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?;
+ *
+ **/
+
+// prefix="," name=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?
+protected class NavigatingCommaArgCS_Group extends GroupToken {
+
+ public NavigatingCommaArgCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNavigatingCommaArgCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingCommaArgCS_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NavigatingCommaArgCS_NameAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNavigatingCommaArgCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// prefix=","
+protected class NavigatingCommaArgCS_PrefixAssignment_0 extends AssignmentToken {
+
+ public NavigatingCommaArgCS_PrefixAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingCommaArgCSAccess().getPrefixAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("prefix",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("prefix");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// name=NavigatingArgExpCS
+protected class NavigatingCommaArgCS_NameAssignment_1 extends AssignmentToken {
+
+ public NavigatingCommaArgCS_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingCommaArgCSAccess().getNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingArgExpCS_ExpCSParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNavigatingArgExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNavigatingCommaArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NavigatingCommaArgCS_PrefixAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?
+protected class NavigatingCommaArgCS_Group_2 extends GroupToken {
+
+ public NavigatingCommaArgCS_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingCommaArgCS_Group_2_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NavigatingCommaArgCS_OwnedTypeAssignment_2_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ":"
+protected class NavigatingCommaArgCS_ColonKeyword_2_0 extends KeywordToken {
+
+ public NavigatingCommaArgCS_ColonKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingCommaArgCS_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedType=TypeExpCS
+protected class NavigatingCommaArgCS_OwnedTypeAssignment_2_1 extends AssignmentToken {
+
+ public NavigatingCommaArgCS_OwnedTypeAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeAssignment_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedType",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedType");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTypeExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NavigatingCommaArgCS_ColonKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("=" init=ExpCS)?
+protected class NavigatingCommaArgCS_Group_2_2 extends GroupToken {
+
+ public NavigatingCommaArgCS_Group_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingCommaArgCS_InitAssignment_2_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "="
+protected class NavigatingCommaArgCS_EqualsSignKeyword_2_2_0 extends KeywordToken {
+
+ public NavigatingCommaArgCS_EqualsSignKeyword_2_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingCommaArgCS_OwnedTypeAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// init=ExpCS
+protected class NavigatingCommaArgCS_InitAssignment_2_2_1 extends AssignmentToken {
+
+ public NavigatingCommaArgCS_InitAssignment_2_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingCommaArgCSAccess().getInitAssignment_2_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("init",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("init");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNavigatingCommaArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NavigatingCommaArgCS_EqualsSignKeyword_2_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+
+/************ end Rule NavigatingCommaArgCS ****************/
+
+
+/************ begin Rule NavigatingSemiArgCS ****************
+ *
+ * // Type-less init is an illegal infix expression
+ * NavigatingSemiArgCS returns NavigatingArgCS:
+ *
+ * prefix=";" name=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?;
+ *
+ **/
+
+// prefix=";" name=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?
+protected class NavigatingSemiArgCS_Group extends GroupToken {
+
+ public NavigatingSemiArgCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNavigatingSemiArgCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingSemiArgCS_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NavigatingSemiArgCS_NameAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNavigatingSemiArgCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// prefix=";"
+protected class NavigatingSemiArgCS_PrefixAssignment_0 extends AssignmentToken {
+
+ public NavigatingSemiArgCS_PrefixAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingSemiArgCSAccess().getPrefixAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("prefix",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("prefix");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// name=NavigatingArgExpCS
+protected class NavigatingSemiArgCS_NameAssignment_1 extends AssignmentToken {
+
+ public NavigatingSemiArgCS_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingSemiArgCSAccess().getNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingArgExpCS_ExpCSParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNavigatingArgExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNavigatingSemiArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NavigatingSemiArgCS_PrefixAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?
+protected class NavigatingSemiArgCS_Group_2 extends GroupToken {
+
+ public NavigatingSemiArgCS_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNavigatingSemiArgCSAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingSemiArgCS_Group_2_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NavigatingSemiArgCS_OwnedTypeAssignment_2_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ":"
+protected class NavigatingSemiArgCS_ColonKeyword_2_0 extends KeywordToken {
+
+ public NavigatingSemiArgCS_ColonKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNavigatingSemiArgCSAccess().getColonKeyword_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingSemiArgCS_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedType=TypeExpCS
+protected class NavigatingSemiArgCS_OwnedTypeAssignment_2_1 extends AssignmentToken {
+
+ public NavigatingSemiArgCS_OwnedTypeAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeAssignment_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedType",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedType");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTypeExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NavigatingSemiArgCS_ColonKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("=" init=ExpCS)?
+protected class NavigatingSemiArgCS_Group_2_2 extends GroupToken {
+
+ public NavigatingSemiArgCS_Group_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNavigatingSemiArgCSAccess().getGroup_2_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingSemiArgCS_InitAssignment_2_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "="
+protected class NavigatingSemiArgCS_EqualsSignKeyword_2_2_0 extends KeywordToken {
+
+ public NavigatingSemiArgCS_EqualsSignKeyword_2_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNavigatingSemiArgCSAccess().getEqualsSignKeyword_2_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NavigatingSemiArgCS_OwnedTypeAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// init=ExpCS
+protected class NavigatingSemiArgCS_InitAssignment_2_2_1 extends AssignmentToken {
+
+ public NavigatingSemiArgCS_InitAssignment_2_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNavigatingSemiArgCSAccess().getInitAssignment_2_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("init",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("init");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNavigatingSemiArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NavigatingSemiArgCS_EqualsSignKeyword_2_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+
+/************ end Rule NavigatingSemiArgCS ****************/
+
+
+/************ begin Rule NavigatingArgExpCS ****************
+ *
+ * // Intended to be overridden
+ * // '?' -- defined by Complete OCL
+ * NavigatingArgExpCS returns ExpCS:
+ *
+ * ExpCS;
+ *
+ **/
+
+// ExpCS
+protected class NavigatingArgExpCS_ExpCSParserRuleCall extends RuleCallToken {
+
+ public NavigatingArgExpCS_ExpCSParserRuleCall(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getNavigatingArgExpCSAccess().getExpCSParserRuleCall();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getCollectionLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIfExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getExpCSAccess().getInfixExpCSAction_0_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getLetExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNestedExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNumberLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getExpCSAccess().getPrefixExpCSAction_1_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTupleLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTypeLiteralExpCSRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(ExpCS_Alternatives.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+/************ end Rule NavigatingArgExpCS ****************/
+
+
+/************ begin Rule IfExpCS ****************
+ *
+ * IfExpCS:
+ *
+ * "if" condition=ExpCS "then" thenExpression=ExpCS "else" elseExpression=ExpCS "endif";
+ *
+ **/
+
+// "if" condition=ExpCS "then" thenExpression=ExpCS "else" elseExpression=ExpCS "endif"
+protected class IfExpCS_Group extends GroupToken {
+
+ public IfExpCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getIfExpCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new IfExpCS_EndifKeyword_6(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getIfExpCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "if"
+protected class IfExpCS_IfKeyword_0 extends KeywordToken {
+
+ public IfExpCS_IfKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getIfExpCSAccess().getIfKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// condition=ExpCS
+protected class IfExpCS_ConditionAssignment_1 extends AssignmentToken {
+
+ public IfExpCS_ConditionAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getIfExpCSAccess().getConditionAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("condition",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("condition");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getIfExpCSAccess().getConditionExpCSParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new IfExpCS_IfKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "then"
+protected class IfExpCS_ThenKeyword_2 extends KeywordToken {
+
+ public IfExpCS_ThenKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getIfExpCSAccess().getThenKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new IfExpCS_ConditionAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// thenExpression=ExpCS
+protected class IfExpCS_ThenExpressionAssignment_3 extends AssignmentToken {
+
+ public IfExpCS_ThenExpressionAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getIfExpCSAccess().getThenExpressionAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("thenExpression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("thenExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getIfExpCSAccess().getThenExpressionExpCSParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new IfExpCS_ThenKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "else"
+protected class IfExpCS_ElseKeyword_4 extends KeywordToken {
+
+ public IfExpCS_ElseKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getIfExpCSAccess().getElseKeyword_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new IfExpCS_ThenExpressionAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// elseExpression=ExpCS
+protected class IfExpCS_ElseExpressionAssignment_5 extends AssignmentToken {
+
+ public IfExpCS_ElseExpressionAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getIfExpCSAccess().getElseExpressionAssignment_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("elseExpression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("elseExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getIfExpCSAccess().getElseExpressionExpCSParserRuleCall_5_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new IfExpCS_ElseKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "endif"
+protected class IfExpCS_EndifKeyword_6 extends KeywordToken {
+
+ public IfExpCS_EndifKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getIfExpCSAccess().getEndifKeyword_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new IfExpCS_ElseExpressionAssignment_5(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule IfExpCS ****************/
+
+
+/************ begin Rule LetExpCS ****************
+ *
+ * LetExpCS:
+ *
+ * "let" variable+=LetVariableCS ("," variable+=LetVariableCS)* "in" in=ExpCS;
+ *
+ **/
+
+// "let" variable+=LetVariableCS ("," variable+=LetVariableCS)* "in" in=ExpCS
+protected class LetExpCS_Group extends GroupToken {
+
+ public LetExpCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getLetExpCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LetExpCS_InAssignment_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getLetExpCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "let"
+protected class LetExpCS_LetKeyword_0 extends KeywordToken {
+
+ public LetExpCS_LetKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLetExpCSAccess().getLetKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// variable+=LetVariableCS
+protected class LetExpCS_VariableAssignment_1 extends AssignmentToken {
+
+ public LetExpCS_VariableAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLetExpCSAccess().getVariableAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LetVariableCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("variable",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("variable");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getLetVariableCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLetExpCSAccess().getVariableLetVariableCSParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LetExpCS_LetKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," variable+=LetVariableCS)*
+protected class LetExpCS_Group_2 extends GroupToken {
+
+ public LetExpCS_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getLetExpCSAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LetExpCS_VariableAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class LetExpCS_CommaKeyword_2_0 extends KeywordToken {
+
+ public LetExpCS_CommaKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LetExpCS_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new LetExpCS_VariableAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// variable+=LetVariableCS
+protected class LetExpCS_VariableAssignment_2_1 extends AssignmentToken {
+
+ public LetExpCS_VariableAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLetExpCSAccess().getVariableAssignment_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LetVariableCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("variable",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("variable");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getLetVariableCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLetExpCSAccess().getVariableLetVariableCSParserRuleCall_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LetExpCS_CommaKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// "in"
+protected class LetExpCS_InKeyword_3 extends KeywordToken {
+
+ public LetExpCS_InKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLetExpCSAccess().getInKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LetExpCS_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new LetExpCS_VariableAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// in=ExpCS
+protected class LetExpCS_InAssignment_4 extends AssignmentToken {
+
+ public LetExpCS_InAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLetExpCSAccess().getInAssignment_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("in",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("in");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLetExpCSAccess().getInExpCSParserRuleCall_4_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LetExpCS_InKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule LetExpCS ****************/
+
+
+/************ begin Rule LetVariableCS ****************
+ *
+ * LetVariableCS:
+ *
+ * name=UnrestrictedName (":" ownedType=TypeExpCS)? "=" initExpression=ExpCS;
+ *
+ **/
+
+// name=UnrestrictedName (":" ownedType=TypeExpCS)? "=" initExpression=ExpCS
+protected class LetVariableCS_Group extends GroupToken {
+
+ public LetVariableCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getLetVariableCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LetVariableCS_InitExpressionAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getLetVariableCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// name=UnrestrictedName
+protected class LetVariableCS_NameAssignment_0 extends AssignmentToken {
+
+ public LetVariableCS_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLetVariableCSAccess().getNameAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getLetVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getLetVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// (":" ownedType=TypeExpCS)?
+protected class LetVariableCS_Group_1 extends GroupToken {
+
+ public LetVariableCS_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getLetVariableCSAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LetVariableCS_OwnedTypeAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ":"
+protected class LetVariableCS_ColonKeyword_1_0 extends KeywordToken {
+
+ public LetVariableCS_ColonKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLetVariableCSAccess().getColonKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LetVariableCS_NameAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ownedType=TypeExpCS
+protected class LetVariableCS_OwnedTypeAssignment_1_1 extends AssignmentToken {
+
+ public LetVariableCS_OwnedTypeAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLetVariableCSAccess().getOwnedTypeAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TypeExpCS_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ownedType",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ownedType");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTypeExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLetVariableCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LetVariableCS_ColonKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// "="
+protected class LetVariableCS_EqualsSignKeyword_2 extends KeywordToken {
+
+ public LetVariableCS_EqualsSignKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLetVariableCSAccess().getEqualsSignKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LetVariableCS_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new LetVariableCS_NameAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// initExpression=ExpCS
+protected class LetVariableCS_InitExpressionAssignment_3 extends AssignmentToken {
+
+ public LetVariableCS_InitExpressionAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLetVariableCSAccess().getInitExpressionAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("initExpression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("initExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLetVariableCSAccess().getInitExpressionExpCSParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LetVariableCS_EqualsSignKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule LetVariableCS ****************/
+
+
+/************ begin Rule NestedExpCS ****************
+ *
+ * NestedExpCS:
+ *
+ * "(" source=ExpCS ")";
+ *
+ **/
+
+// "(" source=ExpCS ")"
+protected class NestedExpCS_Group extends GroupToken {
+
+ public NestedExpCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNestedExpCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NestedExpCS_RightParenthesisKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNestedExpCSRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "("
+protected class NestedExpCS_LeftParenthesisKeyword_0 extends KeywordToken {
+
+ public NestedExpCS_LeftParenthesisKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNestedExpCSAccess().getLeftParenthesisKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// source=ExpCS
+protected class NestedExpCS_SourceAssignment_1 extends AssignmentToken {
+
+ public NestedExpCS_SourceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNestedExpCSAccess().getSourceAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpCS_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("source",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("source");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpCSRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNestedExpCSAccess().getSourceExpCSParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NestedExpCS_LeftParenthesisKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class NestedExpCS_RightParenthesisKeyword_2 extends KeywordToken {
+
+ public NestedExpCS_RightParenthesisKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNestedExpCSAccess().getRightParenthesisKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NestedExpCS_SourceAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule NestedExpCS ****************/
+
+
+/************ begin Rule SelfExpCS ****************
+ *
+ * SelfExpCS:
+ *
+ * {SelfExpCS} "self";
+ *
+ **/
+
+// {SelfExpCS} "self"
+protected class SelfExpCS_Group extends GroupToken {
+
+ public SelfExpCS_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSelfExpCSAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SelfExpCS_SelfKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {SelfExpCS}
+protected class SelfExpCS_SelfExpCSAction_0 extends ActionToken {
+
+ public SelfExpCS_SelfExpCSAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// "self"
+protected class SelfExpCS_SelfKeyword_1 extends KeywordToken {
+
+ public SelfExpCS_SelfKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSelfExpCSAccess().getSelfKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SelfExpCS_SelfExpCSAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule SelfExpCS ****************/
+
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/QVTrelationAntlrTokenFileProvider.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/QVTrelationAntlrTokenFileProvider.java
new file mode 100644
index 000000000..1ec4da146
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/QVTrelationAntlrTokenFileProvider.java
@@ -0,0 +1,15 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.qvtd.xtext.qvtrelation.parser.antlr;
+
+import java.io.InputStream;
+import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
+
+public class QVTrelationAntlrTokenFileProvider implements IAntlrTokenFileProvider {
+
+ public InputStream getAntlrTokenFile() {
+ ClassLoader classLoader = getClass().getClassLoader();
+ return classLoader.getResourceAsStream("org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.tokens");
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/QVTrelationParser.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/QVTrelationParser.java
new file mode 100644
index 000000000..b0b4c3106
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/QVTrelationParser.java
@@ -0,0 +1,39 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.qvtd.xtext.qvtrelation.parser.antlr;
+
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.qvtd.xtext.qvtrelation.services.QVTrelationGrammarAccess;
+
+public class QVTrelationParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
+
+ @Inject
+ private QVTrelationGrammarAccess grammarAccess;
+
+ @Override
+ protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
+ tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+ }
+
+ @Override
+ protected org.eclipse.qvtd.xtext.qvtrelation.parser.antlr.internal.InternalQVTrelationParser createParser(XtextTokenStream stream) {
+ return new org.eclipse.qvtd.xtext.qvtrelation.parser.antlr.internal.InternalQVTrelationParser(stream, getGrammarAccess());
+ }
+
+ @Override
+ protected String getDefaultRuleName() {
+ return "TopLevelCS";
+ }
+
+ public QVTrelationGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(QVTrelationGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g
new file mode 100644
index 000000000..16e914a39
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g
@@ -0,0 +1,6360 @@
+/*
+* generated by Xtext
+*/
+grammar InternalQVTrelation;
+
+options {
+ superClass=AbstractInternalAntlrParser;
+ backtrack=true;
+
+}
+
+@lexer::header {
+package org.eclipse.qvtd.xtext.qvtrelation.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+}
+
+@parser::header {
+package org.eclipse.qvtd.xtext.qvtrelation.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.qvtd.xtext.qvtrelation.services.QVTrelationGrammarAccess;
+
+}
+
+@parser::members {
+
+/*
+ This grammar contains a lot of empty actions to work around a bug in ANTLR.
+ Otherwise the ANTLR tool will create synpreds that cannot be compiled in some rare cases.
+*/
+
+ private QVTrelationGrammarAccess grammarAccess;
+
+ public InternalQVTrelationParser(TokenStream input, QVTrelationGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "TopLevelCS";
+ }
+
+ @Override
+ protected QVTrelationGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+}
+
+@rulecatch {
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+}
+
+
+
+
+// Entry rule entryRuleTopLevelCS
+entryRuleTopLevelCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTopLevelCSRule()); }
+ iv_ruleTopLevelCS=ruleTopLevelCS
+ { $current=$iv_ruleTopLevelCS.current; }
+ EOF
+;
+
+// Rule TopLevelCS
+ruleTopLevelCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(( otherlv_0='import'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getTopLevelCSAccess().getImportKeyword_0_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTopLevelCSAccess().getImportClauseUnitCSParserRuleCall_0_1_0());
+ }
+ lv_importClause_1_0=ruleUnitCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTopLevelCSRule());
+ }
+ add(
+ $current,
+ "importClause",
+ lv_importClause_1_0,
+ "UnitCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2=';'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getTopLevelCSAccess().getSemicolonKeyword_0_2());
+ }
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getTopLevelCSAccess().getTransformationTransformationCSParserRuleCall_1_0());
+ }
+ lv_transformation_3_0=ruleTransformationCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTopLevelCSRule());
+ }
+ add(
+ $current,
+ "transformation",
+ lv_transformation_3_0,
+ "TransformationCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*)
+;
+
+
+
+
+
+// Entry rule entryRuleUnitCS
+entryRuleUnitCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getUnitCSRule()); }
+ iv_ruleUnitCS=ruleUnitCS
+ { $current=$iv_ruleUnitCS.current; }
+ EOF
+;
+
+// Rule UnitCS
+ruleUnitCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getUnitCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_0_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='.'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getUnitCSAccess().getFullStopKeyword_1_0());
+ }
+(
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getUnitCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_1_1_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleTransformationCS
+entryRuleTransformationCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTransformationCSRule()); }
+ iv_ruleTransformationCS=ruleTransformationCS
+ { $current=$iv_ruleTransformationCS.current; }
+ EOF
+;
+
+// Rule TransformationCS
+ruleTransformationCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='transformation'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getTransformationCSAccess().getTransformationKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getNameUnrestrictedNameParserRuleCall_1_0());
+ }
+ lv_name_1_0=ruleUnrestrictedName {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTransformationCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_1_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2='('
+ {
+ newLeafNode(otherlv_2, grammarAccess.getTransformationCSAccess().getLeftParenthesisKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getModelDeclModelDeclCSParserRuleCall_3_0());
+ }
+ lv_modelDecl_3_0=ruleModelDeclCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTransformationCSRule());
+ }
+ add(
+ $current,
+ "modelDecl",
+ lv_modelDecl_3_0,
+ "ModelDeclCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4=','
+ {
+ newLeafNode(otherlv_4, grammarAccess.getTransformationCSAccess().getCommaKeyword_4_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getModelDeclModelDeclCSParserRuleCall_4_1_0());
+ }
+ lv_modelDecl_5_0=ruleModelDeclCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTransformationCSRule());
+ }
+ add(
+ $current,
+ "modelDecl",
+ lv_modelDecl_5_0,
+ "ModelDeclCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_6=')'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getTransformationCSAccess().getRightParenthesisKeyword_5());
+ }
+( otherlv_7='extends'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getTransformationCSAccess().getExtendsKeyword_6_0());
+ }
+(
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTransformationCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_1_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_9=','
+ {
+ newLeafNode(otherlv_9, grammarAccess.getTransformationCSAccess().getCommaKeyword_6_2_0());
+ }
+(
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTransformationCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_2_1_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_11='{'
+ {
+ newLeafNode(otherlv_11, grammarAccess.getTransformationCSAccess().getLeftCurlyBracketKeyword_7());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getKeyDeclKeyDeclCSParserRuleCall_8_0());
+ }
+ lv_keyDecl_12_0=ruleKeyDeclCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTransformationCSRule());
+ }
+ add(
+ $current,
+ "keyDecl",
+ lv_keyDecl_12_0,
+ "KeyDeclCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*((
+(
+ {
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getRelationRelationCSParserRuleCall_9_0_0());
+ }
+ lv_relation_13_0=ruleRelationCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTransformationCSRule());
+ }
+ add(
+ $current,
+ "relation",
+ lv_relation_13_0,
+ "RelationCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getQueryQueryCSParserRuleCall_9_1_0());
+ }
+ lv_query_14_0=ruleQueryCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTransformationCSRule());
+ }
+ add(
+ $current,
+ "query",
+ lv_query_14_0,
+ "QueryCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_15='}'
+ {
+ newLeafNode(otherlv_15, grammarAccess.getTransformationCSAccess().getRightCurlyBracketKeyword_10());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleModelDeclCS
+entryRuleModelDeclCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getModelDeclCSRule()); }
+ iv_ruleModelDeclCS=ruleModelDeclCS
+ { $current=$iv_ruleModelDeclCS.current; }
+ EOF
+;
+
+// Rule ModelDeclCS
+ruleModelDeclCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getModelDeclCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+ lv_name_0_0=ruleUnrestrictedName {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getModelDeclCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_0_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_1=':'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getModelDeclCSAccess().getColonKeyword_1());
+ }
+((
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getModelDeclCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_0_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |( otherlv_3='{'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getModelDeclCSAccess().getLeftCurlyBracketKeyword_2_1_0());
+ }
+(
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getModelDeclCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_1_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_5=','
+ {
+ newLeafNode(otherlv_5, grammarAccess.getModelDeclCSAccess().getCommaKeyword_2_1_2_0());
+ }
+(
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getModelDeclCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_2_1_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_7='}'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getModelDeclCSAccess().getRightCurlyBracketKeyword_2_1_3());
+ }
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleKeyDeclCS
+entryRuleKeyDeclCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getKeyDeclCSRule()); }
+ iv_ruleKeyDeclCS=ruleKeyDeclCS
+ { $current=$iv_ruleKeyDeclCS.current; }
+ EOF
+;
+
+// Rule KeyDeclCS
+ruleKeyDeclCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='key'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getKeyDeclCSAccess().getKeyKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getKeyDeclCSAccess().getPathNamePathNameCSParserRuleCall_1_0());
+ }
+ lv_pathName_1_0=rulePathNameCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getKeyDeclCSRule());
+ }
+ set(
+ $current,
+ "pathName",
+ lv_pathName_1_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getKeyDeclCSAccess().getLeftCurlyBracketKeyword_2());
+ }
+(
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getKeyDeclCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_3_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4=','
+ {
+ newLeafNode(otherlv_4, grammarAccess.getKeyDeclCSAccess().getCommaKeyword_4_0());
+ }
+(
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getKeyDeclCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_4_1_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_6='}'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getKeyDeclCSAccess().getRightCurlyBracketKeyword_5());
+ }
+ otherlv_7=';'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getKeyDeclCSAccess().getSemicolonKeyword_6());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleRelationCS
+entryRuleRelationCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRelationCSRule()); }
+ iv_ruleRelationCS=ruleRelationCS
+ { $current=$iv_ruleRelationCS.current; }
+ EOF
+;
+
+// Rule RelationCS
+ruleRelationCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_top_0_0= 'top'
+ {
+ newLeafNode(lv_top_0_0, grammarAccess.getRelationCSAccess().getTopTopKeyword_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRelationCSRule());
+ }
+ setWithLastConsumed($current, "top", true, "top");
+ }
+
+)
+)? otherlv_1='relation'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getRelationCSAccess().getRelationKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getRelationCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
+ }
+ lv_name_2_0=ruleUnrestrictedName {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRelationCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_2_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_3='overrides'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getRelationCSAccess().getOverridesKeyword_3_0());
+ }
+(
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRelationCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getRelationCSAccess().getOverridesRelationCrossReference_3_1_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_5='{'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getRelationCSAccess().getLeftCurlyBracketKeyword_4());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getRelationCSAccess().getVarDeclarationVarDeclarationCSParserRuleCall_5_0());
+ }
+ lv_varDeclaration_6_0=ruleVarDeclarationCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRelationCSRule());
+ }
+ add(
+ $current,
+ "varDeclaration",
+ lv_varDeclaration_6_0,
+ "VarDeclarationCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*((
+(
+ {
+ newCompositeNode(grammarAccess.getRelationCSAccess().getDomainDomainCSParserRuleCall_6_0_0());
+ }
+ lv_domain_7_0=ruleDomainCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRelationCSRule());
+ }
+ add(
+ $current,
+ "domain",
+ lv_domain_7_0,
+ "DomainCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getRelationCSAccess().getDomainPrimitiveTypeDomainCSParserRuleCall_6_1_0());
+ }
+ lv_domain_8_0=rulePrimitiveTypeDomainCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRelationCSRule());
+ }
+ add(
+ $current,
+ "domain",
+ lv_domain_8_0,
+ "PrimitiveTypeDomainCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))+(
+(
+ {
+ newCompositeNode(grammarAccess.getRelationCSAccess().getWhenWhenCSParserRuleCall_7_0());
+ }
+ lv_when_9_0=ruleWhenCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRelationCSRule());
+ }
+ set(
+ $current,
+ "when",
+ lv_when_9_0,
+ "WhenCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getRelationCSAccess().getWhereWhereCSParserRuleCall_8_0());
+ }
+ lv_where_10_0=ruleWhereCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRelationCSRule());
+ }
+ set(
+ $current,
+ "where",
+ lv_where_10_0,
+ "WhereCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_11='}'
+ {
+ newLeafNode(otherlv_11, grammarAccess.getRelationCSAccess().getRightCurlyBracketKeyword_9());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleWhenCS
+entryRuleWhenCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getWhenCSRule()); }
+ iv_ruleWhenCS=ruleWhenCS
+ { $current=$iv_ruleWhenCS.current; }
+ EOF
+;
+
+// Rule WhenCS
+ruleWhenCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getWhenCSAccess().getWhenCSAction_0(),
+ $current);
+ }
+) otherlv_1='when'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getWhenCSAccess().getWhenKeyword_1());
+ }
+ otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getWhenCSAccess().getLeftCurlyBracketKeyword_2());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getWhenCSAccess().getExprExpCSParserRuleCall_3_0_0());
+ }
+ lv_expr_3_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getWhenCSRule());
+ }
+ add(
+ $current,
+ "expr",
+ lv_expr_3_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4=';'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getWhenCSAccess().getSemicolonKeyword_3_1());
+ }
+)* otherlv_5='}'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getWhenCSAccess().getRightCurlyBracketKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleWhereCS
+entryRuleWhereCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getWhereCSRule()); }
+ iv_ruleWhereCS=ruleWhereCS
+ { $current=$iv_ruleWhereCS.current; }
+ EOF
+;
+
+// Rule WhereCS
+ruleWhereCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getWhereCSAccess().getWhereCSAction_0(),
+ $current);
+ }
+) otherlv_1='where'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getWhereCSAccess().getWhereKeyword_1());
+ }
+ otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getWhereCSAccess().getLeftCurlyBracketKeyword_2());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getWhereCSAccess().getExprExpCSParserRuleCall_3_0_0());
+ }
+ lv_expr_3_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getWhereCSRule());
+ }
+ add(
+ $current,
+ "expr",
+ lv_expr_3_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4=';'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getWhereCSAccess().getSemicolonKeyword_3_1());
+ }
+)* otherlv_5='}'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getWhereCSAccess().getRightCurlyBracketKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleVarDeclarationCS
+entryRuleVarDeclarationCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getVarDeclarationCSRule()); }
+ iv_ruleVarDeclarationCS=ruleVarDeclarationCS
+ { $current=$iv_ruleVarDeclarationCS.current; }
+ EOF
+;
+
+// Rule VarDeclarationCS
+ruleVarDeclarationCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getVarDeclarationCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_0_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1=','
+ {
+ newLeafNode(otherlv_1, grammarAccess.getVarDeclarationCSAccess().getCommaKeyword_1_0());
+ }
+(
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getVarDeclarationCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_1_1_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_3=':'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getVarDeclarationCSAccess().getColonKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getVarDeclarationCSAccess().getTypeTypedRefCSParserRuleCall_3_0());
+ }
+ lv_type_4_0=ruleTypedRefCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getVarDeclarationCSRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_4_0,
+ "TypedRefCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_5=';'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getVarDeclarationCSAccess().getSemicolonKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleDomainCS
+entryRuleDomainCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getDomainCSRule()); }
+ iv_ruleDomainCS=ruleDomainCS
+ { $current=$iv_ruleDomainCS.current; }
+ EOF
+;
+
+// Rule DomainCS
+ruleDomainCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+(
+ lv_checkonly_0_0= 'checkonly'
+ {
+ newLeafNode(lv_checkonly_0_0, grammarAccess.getDomainCSAccess().getCheckonlyCheckonlyKeyword_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getDomainCSRule());
+ }
+ setWithLastConsumed($current, "checkonly", true, "checkonly");
+ }
+
+)
+)
+ |(
+(
+ lv_enforce_1_0= 'enforce'
+ {
+ newLeafNode(lv_enforce_1_0, grammarAccess.getDomainCSAccess().getEnforceEnforceKeyword_0_1_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getDomainCSRule());
+ }
+ setWithLastConsumed($current, "enforce", true, "enforce");
+ }
+
+)
+))? otherlv_2='domain'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getDomainCSAccess().getDomainKeyword_1());
+ }
+(
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getDomainCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getDomainCSAccess().getModelIdTypedModelCrossReference_2_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getDomainCSAccess().getTemplateTemplateCSParserRuleCall_3_0());
+ }
+ lv_template_4_0=ruleTemplateCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getDomainCSRule());
+ }
+ set(
+ $current,
+ "template",
+ lv_template_4_0,
+ "TemplateCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_5='implementedby'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getDomainCSAccess().getImplementedbyKeyword_4_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getDomainCSAccess().getImplementedByExpCSParserRuleCall_4_1_0());
+ }
+ lv_implementedBy_6_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getDomainCSRule());
+ }
+ set(
+ $current,
+ "implementedBy",
+ lv_implementedBy_6_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?( otherlv_7='default_values'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getDomainCSAccess().getDefault_valuesKeyword_5_0());
+ }
+ otherlv_8='{'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getDomainCSAccess().getLeftCurlyBracketKeyword_5_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getDomainCSAccess().getDefaultValueDefaultValueCSParserRuleCall_5_2_0());
+ }
+ lv_defaultValue_9_0=ruleDefaultValueCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getDomainCSRule());
+ }
+ add(
+ $current,
+ "defaultValue",
+ lv_defaultValue_9_0,
+ "DefaultValueCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+ otherlv_10='}'
+ {
+ newLeafNode(otherlv_10, grammarAccess.getDomainCSAccess().getRightCurlyBracketKeyword_5_3());
+ }
+)? otherlv_11=';'
+ {
+ newLeafNode(otherlv_11, grammarAccess.getDomainCSAccess().getSemicolonKeyword_6());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePrimitiveTypeDomainCS
+entryRulePrimitiveTypeDomainCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPrimitiveTypeDomainCSRule()); }
+ iv_rulePrimitiveTypeDomainCS=rulePrimitiveTypeDomainCS
+ { $current=$iv_rulePrimitiveTypeDomainCS.current; }
+ EOF
+;
+
+// Rule PrimitiveTypeDomainCS
+rulePrimitiveTypeDomainCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='primitive'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getPrimitiveTypeDomainCSAccess().getPrimitiveKeyword_0());
+ }
+ otherlv_1='domain'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getPrimitiveTypeDomainCSAccess().getDomainKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimitiveTypeDomainCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
+ }
+ lv_name_2_0=ruleUnrestrictedName {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimitiveTypeDomainCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_2_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3=':'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getPrimitiveTypeDomainCSAccess().getColonKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimitiveTypeDomainCSAccess().getTypeTypedRefCSParserRuleCall_4_0());
+ }
+ lv_type_4_0=ruleTypedRefCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimitiveTypeDomainCSRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_4_0,
+ "TypedRefCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_5=';'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getPrimitiveTypeDomainCSAccess().getSemicolonKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTemplateCS
+entryRuleTemplateCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTemplateCSRule()); }
+ iv_ruleTemplateCS=ruleTemplateCS
+ { $current=$iv_ruleTemplateCS.current; }
+ EOF
+;
+
+// Rule TemplateCS
+ruleTemplateCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getTemplateCSAccess().getObjectTemplateCSParserRuleCall_0_0());
+ }
+ this_ObjectTemplateCS_0=ruleObjectTemplateCS
+ {
+ $current = $this_ObjectTemplateCS_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getTemplateCSAccess().getCollectionTemplateCSParserRuleCall_0_1());
+ }
+ this_CollectionTemplateCS_1=ruleCollectionTemplateCS
+ {
+ $current = $this_CollectionTemplateCS_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)( otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getTemplateCSAccess().getLeftCurlyBracketKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTemplateCSAccess().getGuardExpressionExpCSParserRuleCall_1_1_0());
+ }
+ lv_guardExpression_3_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTemplateCSRule());
+ }
+ set(
+ $current,
+ "guardExpression",
+ lv_guardExpression_3_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4='}'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getTemplateCSAccess().getRightCurlyBracketKeyword_1_2());
+ }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleObjectTemplateCS
+entryRuleObjectTemplateCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getObjectTemplateCSRule()); }
+ iv_ruleObjectTemplateCS=ruleObjectTemplateCS
+ { $current=$iv_ruleObjectTemplateCS.current; }
+ EOF
+;
+
+// Rule ObjectTemplateCS
+ruleObjectTemplateCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getObjectTemplateCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getObjectTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_1=':'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getObjectTemplateCSAccess().getColonKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getObjectTemplateCSAccess().getTypeTypedRefCSParserRuleCall_2_0());
+ }
+ lv_type_2_0=ruleTypedRefCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getObjectTemplateCSRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_2_0,
+ "TypedRefCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3='{'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getObjectTemplateCSAccess().getLeftCurlyBracketKeyword_3());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplatePropertyTemplateCSParserRuleCall_4_0_0());
+ }
+ lv_propertyTemplate_4_0=rulePropertyTemplateCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getObjectTemplateCSRule());
+ }
+ add(
+ $current,
+ "propertyTemplate",
+ lv_propertyTemplate_4_0,
+ "PropertyTemplateCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_5=','
+ {
+ newLeafNode(otherlv_5, grammarAccess.getObjectTemplateCSAccess().getCommaKeyword_4_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplatePropertyTemplateCSParserRuleCall_4_1_1_0());
+ }
+ lv_propertyTemplate_6_0=rulePropertyTemplateCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getObjectTemplateCSRule());
+ }
+ add(
+ $current,
+ "propertyTemplate",
+ lv_propertyTemplate_6_0,
+ "PropertyTemplateCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_7='}'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getObjectTemplateCSAccess().getRightCurlyBracketKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyTemplateCS
+entryRulePropertyTemplateCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPropertyTemplateCSRule()); }
+ iv_rulePropertyTemplateCS=rulePropertyTemplateCS
+ { $current=$iv_rulePropertyTemplateCS.current; }
+ EOF
+;
+
+// Rule PropertyTemplateCS
+rulePropertyTemplateCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPropertyTemplateCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_1='='
+ {
+ newLeafNode(otherlv_1, grammarAccess.getPropertyTemplateCSAccess().getEqualsSignKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPropertyTemplateCSAccess().getOclExpressionExpCSParserRuleCall_2_0());
+ }
+ lv_oclExpression_2_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPropertyTemplateCSRule());
+ }
+ set(
+ $current,
+ "oclExpression",
+ lv_oclExpression_2_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleCollectionTemplateCS
+entryRuleCollectionTemplateCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCollectionTemplateCSRule()); }
+ iv_ruleCollectionTemplateCS=ruleCollectionTemplateCS
+ { $current=$iv_ruleCollectionTemplateCS.current; }
+ EOF
+;
+
+// Rule CollectionTemplateCS
+ruleCollectionTemplateCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getCollectionTemplateCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_1=':'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getCollectionTemplateCSAccess().getColonKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getTypeCollectionTypedRefCSParserRuleCall_2_0());
+ }
+ lv_type_2_0=ruleCollectionTypedRefCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_2_0,
+ "CollectionTypedRefCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3='{'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getCollectionTemplateCSAccess().getLeftCurlyBracketKeyword_3());
+ }
+((
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierNameExpCSParserRuleCall_4_0_0_0());
+ }
+ lv_memberIdentifier_4_1=ruleNameExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ add(
+ $current,
+ "memberIdentifier",
+ lv_memberIdentifier_4_1,
+ "NameExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+ | {
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierTemplateCSParserRuleCall_4_0_0_1());
+ }
+ lv_memberIdentifier_4_2=ruleTemplateCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ add(
+ $current,
+ "memberIdentifier",
+ lv_memberIdentifier_4_2,
+ "TemplateCS");
+ afterParserOrEnumRuleCall();
+ }
+
+ | {
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAnyElementCSParserRuleCall_4_0_0_2());
+ }
+ lv_memberIdentifier_4_3=ruleAnyElementCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ add(
+ $current,
+ "memberIdentifier",
+ lv_memberIdentifier_4_3,
+ "AnyElementCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+
+)
+)( otherlv_5=','
+ {
+ newLeafNode(otherlv_5, grammarAccess.getCollectionTemplateCSAccess().getCommaKeyword_4_1_0());
+ }
+(
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierNameExpCSParserRuleCall_4_1_1_0_0());
+ }
+ lv_memberIdentifier_6_1=ruleNameExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ add(
+ $current,
+ "memberIdentifier",
+ lv_memberIdentifier_6_1,
+ "NameExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+ | {
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierTemplateCSParserRuleCall_4_1_1_0_1());
+ }
+ lv_memberIdentifier_6_2=ruleTemplateCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ add(
+ $current,
+ "memberIdentifier",
+ lv_memberIdentifier_6_2,
+ "TemplateCS");
+ afterParserOrEnumRuleCall();
+ }
+
+ | {
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAnyElementCSParserRuleCall_4_1_1_0_2());
+ }
+ lv_memberIdentifier_6_3=ruleAnyElementCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ add(
+ $current,
+ "memberIdentifier",
+ lv_memberIdentifier_6_3,
+ "AnyElementCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+
+)
+))* otherlv_7='++'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getCollectionTemplateCSAccess().getPlusSignPlusSignKeyword_4_2());
+ }
+(
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierNameExpCSParserRuleCall_4_3_0_0());
+ }
+ lv_restIdentifier_8_1=ruleNameExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ set(
+ $current,
+ "restIdentifier",
+ lv_restIdentifier_8_1,
+ "NameExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+ | {
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAnyElementCSParserRuleCall_4_3_0_1());
+ }
+ lv_restIdentifier_8_2=ruleAnyElementCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ set(
+ $current,
+ "restIdentifier",
+ lv_restIdentifier_8_2,
+ "AnyElementCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+
+)
+)?)? otherlv_9='}'
+ {
+ newLeafNode(otherlv_9, grammarAccess.getCollectionTemplateCSAccess().getRightCurlyBracketKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleNameExpCS
+entryRuleNameExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNameExpCSRule()); }
+ iv_ruleNameExpCS=ruleNameExpCS
+ { $current=$iv_ruleNameExpCS.current; }
+ EOF
+;
+
+// Rule NameExpCS
+ruleNameExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNameExpCSAccess().getPathNamePathNameCSParserRuleCall_0());
+ }
+ lv_pathName_0_0=rulePathNameCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNameExpCSRule());
+ }
+ set(
+ $current,
+ "pathName",
+ lv_pathName_0_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleAnyElementCS
+entryRuleAnyElementCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAnyElementCSRule()); }
+ iv_ruleAnyElementCS=ruleAnyElementCS
+ { $current=$iv_ruleAnyElementCS.current; }
+ EOF
+;
+
+// Rule AnyElementCS
+ruleAnyElementCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getAnyElementCSAccess().getAnyElementCSAction_0(),
+ $current);
+ }
+) otherlv_1='_'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getAnyElementCSAccess().get_Keyword_1());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleDefaultValueCS
+entryRuleDefaultValueCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getDefaultValueCSRule()); }
+ iv_ruleDefaultValueCS=ruleDefaultValueCS
+ { $current=$iv_ruleDefaultValueCS.current; }
+ EOF
+;
+
+// Rule DefaultValueCS
+ruleDefaultValueCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getDefaultValueCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getDefaultValueCSAccess().getPropertyIdPropertyCrossReference_0_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_1='='
+ {
+ newLeafNode(otherlv_1, grammarAccess.getDefaultValueCSAccess().getEqualsSignKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getDefaultValueCSAccess().getInitialiserExpCSParserRuleCall_2_0());
+ }
+ lv_initialiser_2_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getDefaultValueCSRule());
+ }
+ set(
+ $current,
+ "initialiser",
+ lv_initialiser_2_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3=';'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getDefaultValueCSAccess().getSemicolonKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleQueryCS
+entryRuleQueryCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getQueryCSRule()); }
+ iv_ruleQueryCS=ruleQueryCS
+ { $current=$iv_ruleQueryCS.current; }
+ EOF
+;
+
+// Rule QueryCS
+ruleQueryCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='query'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getQueryCSAccess().getQueryKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getQueryCSAccess().getPathNamePathNameCSParserRuleCall_1_0());
+ }
+ lv_pathName_1_0=rulePathNameCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getQueryCSRule());
+ }
+ set(
+ $current,
+ "pathName",
+ lv_pathName_1_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2='('
+ {
+ newLeafNode(otherlv_2, grammarAccess.getQueryCSAccess().getLeftParenthesisKeyword_2());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getQueryCSAccess().getInputParamDeclarationParamDeclarationCSParserRuleCall_3_0_0());
+ }
+ lv_inputParamDeclaration_3_0=ruleParamDeclarationCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getQueryCSRule());
+ }
+ add(
+ $current,
+ "inputParamDeclaration",
+ lv_inputParamDeclaration_3_0,
+ "ParamDeclarationCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4=','
+ {
+ newLeafNode(otherlv_4, grammarAccess.getQueryCSAccess().getCommaKeyword_3_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getQueryCSAccess().getInputParamDeclarationParamDeclarationCSParserRuleCall_3_1_1_0());
+ }
+ lv_inputParamDeclaration_5_0=ruleParamDeclarationCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getQueryCSRule());
+ }
+ add(
+ $current,
+ "inputParamDeclaration",
+ lv_inputParamDeclaration_5_0,
+ "ParamDeclarationCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_6=')'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getQueryCSAccess().getRightParenthesisKeyword_4());
+ }
+ otherlv_7=':'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getQueryCSAccess().getColonKeyword_5());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getQueryCSAccess().getTypeTypedRefCSParserRuleCall_6_0());
+ }
+ lv_type_8_0=ruleTypedRefCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getQueryCSRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_8_0,
+ "TypedRefCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_9=';'
+ {
+ newLeafNode(otherlv_9, grammarAccess.getQueryCSAccess().getSemicolonKeyword_7_0());
+ }
+
+ |( otherlv_10='{'
+ {
+ newLeafNode(otherlv_10, grammarAccess.getQueryCSAccess().getLeftCurlyBracketKeyword_7_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getQueryCSAccess().getOclExpressionExpCSParserRuleCall_7_1_1_0());
+ }
+ lv_oclExpression_11_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getQueryCSRule());
+ }
+ set(
+ $current,
+ "oclExpression",
+ lv_oclExpression_11_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_12='}'
+ {
+ newLeafNode(otherlv_12, grammarAccess.getQueryCSAccess().getRightCurlyBracketKeyword_7_1_2());
+ }
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleParamDeclarationCS
+entryRuleParamDeclarationCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getParamDeclarationCSRule()); }
+ iv_ruleParamDeclarationCS=ruleParamDeclarationCS
+ { $current=$iv_ruleParamDeclarationCS.current; }
+ EOF
+;
+
+// Rule ParamDeclarationCS
+ruleParamDeclarationCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getParamDeclarationCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+ lv_name_0_0=ruleUnrestrictedName {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getParamDeclarationCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_0_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_1=':'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getParamDeclarationCSAccess().getColonKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getParamDeclarationCSAccess().getTypeTypedRefCSParserRuleCall_2_0());
+ }
+ lv_type_2_0=ruleTypedRefCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getParamDeclarationCSRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_2_0,
+ "TypedRefCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleCollectionTypedRefCS
+entryRuleCollectionTypedRefCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCollectionTypedRefCSRule()); }
+ iv_ruleCollectionTypedRefCS=ruleCollectionTypedRefCS
+ { $current=$iv_ruleCollectionTypedRefCS.current; }
+ EOF
+;
+
+// Rule CollectionTypedRefCS
+ruleCollectionTypedRefCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCollectionTypedRefCSAccess().getPathNamePathNameCSParserRuleCall_0());
+ }
+ lv_pathName_0_0=rulePathNameCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionTypedRefCSRule());
+ }
+ set(
+ $current,
+ "pathName",
+ lv_pathName_0_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTypedRefCS
+entryRuleTypedRefCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTypedRefCSRule()); }
+ iv_ruleTypedRefCS=ruleTypedRefCS
+ { $current=$iv_ruleTypedRefCS.current; }
+ EOF
+;
+
+// Rule TypedRefCS
+ruleTypedRefCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTypedRefCSAccess().getPathNamePathNameCSParserRuleCall_0());
+ }
+ lv_pathName_0_0=rulePathNameCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTypedRefCSRule());
+ }
+ set(
+ $current,
+ "pathName",
+ lv_pathName_0_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleUnrestrictedName
+entryRuleUnrestrictedName returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getUnrestrictedNameRule()); }
+ iv_ruleUnrestrictedName=ruleUnrestrictedName
+ { $current=$iv_ruleUnrestrictedName.current.getText(); }
+ EOF
+;
+
+// Rule UnrestrictedName
+ruleUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getUnrestrictedNameAccess().getEssentialOCLUnrestrictedNameParserRuleCall_0());
+ }
+ this_EssentialOCLUnrestrictedName_0=ruleEssentialOCLUnrestrictedName {
+ $current.merge(this_EssentialOCLUnrestrictedName_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ kw='checkonly'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getCheckonlyKeyword_1());
+ }
+
+ |
+ kw='default_values'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getDefault_valuesKeyword_2());
+ }
+
+ |
+ kw='domain'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getDomainKeyword_3());
+ }
+
+ |
+ kw='enforce'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getEnforceKeyword_4());
+ }
+
+ |
+ kw='extends'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getExtendsKeyword_5());
+ }
+
+ |
+ kw='implementedby'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getImplementedbyKeyword_6());
+ }
+
+ |
+ kw='import'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getImportKeyword_7());
+ }
+
+ |
+ kw='key'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getKeyKeyword_8());
+ }
+
+ |
+ kw='overrides'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getOverridesKeyword_9());
+ }
+
+ |
+ kw='primitive'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getPrimitiveKeyword_10());
+ }
+
+ |
+ kw='query'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getQueryKeyword_11());
+ }
+
+ |
+ kw='relation'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getRelationKeyword_12());
+ }
+
+ |
+ kw='replace'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getReplaceKeyword_13());
+ }
+
+ |
+ kw='top'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getTopKeyword_14());
+ }
+
+ |
+ kw='transformation'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getTransformationKeyword_15());
+ }
+
+ |
+ kw='when'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getWhenKeyword_16());
+ }
+
+ |
+ kw='where'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getWhereKeyword_17());
+ }
+)
+ ;
+
+
+
+
+
+
+
+// Entry rule entryRuleID
+entryRuleID returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getIDRule()); }
+ iv_ruleID=ruleID
+ { $current=$iv_ruleID.current.getText(); }
+ EOF
+;
+
+// Rule ID
+ruleID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_SIMPLE_ID_0=RULE_SIMPLE_ID {
+ $current.merge(this_SIMPLE_ID_0);
+ }
+
+ {
+ newLeafNode(this_SIMPLE_ID_0, grammarAccess.getIDAccess().getSIMPLE_IDTerminalRuleCall_0());
+ }
+
+ | this_ESCAPED_ID_1=RULE_ESCAPED_ID {
+ $current.merge(this_ESCAPED_ID_1);
+ }
+
+ {
+ newLeafNode(this_ESCAPED_ID_1, grammarAccess.getIDAccess().getESCAPED_IDTerminalRuleCall_1());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleLOWER
+entryRuleLOWER returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getLOWERRule()); }
+ iv_ruleLOWER=ruleLOWER
+ { $current=$iv_ruleLOWER.current.getText(); }
+ EOF
+;
+
+// Rule LOWER
+ruleLOWER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+ this_INT_0=RULE_INT {
+ $current.merge(this_INT_0);
+ }
+
+ {
+ newLeafNode(this_INT_0, grammarAccess.getLOWERAccess().getINTTerminalRuleCall());
+ }
+
+ ;
+
+
+
+
+
+// Entry rule entryRuleUPPER
+entryRuleUPPER returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getUPPERRule()); }
+ iv_ruleUPPER=ruleUPPER
+ { $current=$iv_ruleUPPER.current.getText(); }
+ EOF
+;
+
+// Rule UPPER
+ruleUPPER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_INT_0=RULE_INT {
+ $current.merge(this_INT_0);
+ }
+
+ {
+ newLeafNode(this_INT_0, grammarAccess.getUPPERAccess().getINTTerminalRuleCall_0());
+ }
+
+ |
+ kw='*'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUPPERAccess().getAsteriskKeyword_1());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleNUMBER_LITERAL
+entryRuleNUMBER_LITERAL returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getNUMBER_LITERALRule()); }
+ iv_ruleNUMBER_LITERAL=ruleNUMBER_LITERAL
+ { $current=$iv_ruleNUMBER_LITERAL.current.getText(); }
+ EOF
+;
+
+// Rule NUMBER_LITERAL
+ruleNUMBER_LITERAL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_INT_0=RULE_INT {
+ $current.merge(this_INT_0);
+ }
+
+ {
+ newLeafNode(this_INT_0, grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_0());
+ }
+(
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getNUMBER_LITERALAccess().getFullStopKeyword_1_0());
+ }
+ this_INT_2=RULE_INT {
+ $current.merge(this_INT_2);
+ }
+
+ {
+ newLeafNode(this_INT_2, grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_1_1());
+ }
+)?((
+ kw='e'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getNUMBER_LITERALAccess().getEKeyword_2_0_0());
+ }
+
+ |
+ kw='E'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getNUMBER_LITERALAccess().getEKeyword_2_0_1());
+ }
+)(
+ kw='+'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getNUMBER_LITERALAccess().getPlusSignKeyword_2_1_0());
+ }
+
+ |
+ kw='-'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getNUMBER_LITERALAccess().getHyphenMinusKeyword_2_1_1());
+ }
+)? this_INT_7=RULE_INT {
+ $current.merge(this_INT_7);
+ }
+
+ {
+ newLeafNode(this_INT_7, grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_2_2());
+ }
+)?)
+ ;
+
+
+
+
+
+
+
+
+
+// Entry rule entryRuleEssentialOCLUnrestrictedIdentifier
+entryRuleEssentialOCLUnrestrictedIdentifier returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getEssentialOCLUnrestrictedIdentifierRule()); }
+ iv_ruleEssentialOCLUnrestrictedIdentifier=ruleEssentialOCLUnrestrictedIdentifier
+ { $current=$iv_ruleEssentialOCLUnrestrictedIdentifier.current.getText(); }
+ EOF
+;
+
+// Rule EssentialOCLUnrestrictedIdentifier
+ruleEssentialOCLUnrestrictedIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='e'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getEKeyword_0());
+ }
+
+ |
+ kw='E'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getEKeyword_1());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleEssentialOCLPrefixOperator
+entryRuleEssentialOCLPrefixOperator returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getEssentialOCLPrefixOperatorRule()); }
+ iv_ruleEssentialOCLPrefixOperator=ruleEssentialOCLPrefixOperator
+ { $current=$iv_ruleEssentialOCLPrefixOperator.current.getText(); }
+ EOF
+;
+
+// Rule EssentialOCLPrefixOperator
+ruleEssentialOCLPrefixOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='-'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLPrefixOperatorAccess().getHyphenMinusKeyword_0());
+ }
+
+ |
+ kw='not'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLPrefixOperatorAccess().getNotKeyword_1());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleEssentialOCLInfixOperator
+entryRuleEssentialOCLInfixOperator returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getEssentialOCLInfixOperatorRule()); }
+ iv_ruleEssentialOCLInfixOperator=ruleEssentialOCLInfixOperator
+ { $current=$iv_ruleEssentialOCLInfixOperator.current.getText(); }
+ EOF
+;
+
+// Rule EssentialOCLInfixOperator
+ruleEssentialOCLInfixOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='*'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getAsteriskKeyword_0());
+ }
+
+ |
+ kw='/'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getSolidusKeyword_1());
+ }
+
+ |
+ kw='+'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getPlusSignKeyword_2());
+ }
+
+ |
+ kw='-'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getHyphenMinusKeyword_3());
+ }
+
+ |
+ kw='>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getGreaterThanSignKeyword_4());
+ }
+
+ |
+ kw='<'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignKeyword_5());
+ }
+
+ |
+ kw='>='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getGreaterThanSignEqualsSignKeyword_6());
+ }
+
+ |
+ kw='<='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignEqualsSignKeyword_7());
+ }
+
+ |
+ kw='='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getEqualsSignKeyword_8());
+ }
+
+ |
+ kw='<>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignGreaterThanSignKeyword_9());
+ }
+
+ |
+ kw='and'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getAndKeyword_10());
+ }
+
+ |
+ kw='or'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getOrKeyword_11());
+ }
+
+ |
+ kw='xor'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getXorKeyword_12());
+ }
+
+ |
+ kw='implies'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getImpliesKeyword_13());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleEssentialOCLNavigationOperator
+entryRuleEssentialOCLNavigationOperator returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getEssentialOCLNavigationOperatorRule()); }
+ iv_ruleEssentialOCLNavigationOperator=ruleEssentialOCLNavigationOperator
+ { $current=$iv_ruleEssentialOCLNavigationOperator.current.getText(); }
+ EOF
+;
+
+// Rule EssentialOCLNavigationOperator
+ruleEssentialOCLNavigationOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorAccess().getFullStopKeyword_0());
+ }
+
+ |
+ kw='->'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorAccess().getHyphenMinusGreaterThanSignKeyword_1());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleIdentifier
+entryRuleIdentifier returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getIdentifierRule()); }
+ iv_ruleIdentifier=ruleIdentifier
+ { $current=$iv_ruleIdentifier.current.getText(); }
+ EOF
+;
+
+// Rule Identifier
+ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getIdentifierAccess().getIDParserRuleCall_0());
+ }
+ this_ID_0=ruleID {
+ $current.merge(this_ID_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getIdentifierAccess().getEssentialOCLUnrestrictedIdentifierParserRuleCall_1());
+ }
+ this_EssentialOCLUnrestrictedIdentifier_1=ruleEssentialOCLUnrestrictedIdentifier {
+ $current.merge(this_EssentialOCLUnrestrictedIdentifier_1);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleStringLiteral
+entryRuleStringLiteral returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getStringLiteralRule()); }
+ iv_ruleStringLiteral=ruleStringLiteral
+ { $current=$iv_ruleStringLiteral.current.getText(); }
+ EOF
+;
+
+// Rule StringLiteral
+ruleStringLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+ this_SINGLE_QUOTED_STRING_0=RULE_SINGLE_QUOTED_STRING {
+ $current.merge(this_SINGLE_QUOTED_STRING_0);
+ }
+
+ {
+ newLeafNode(this_SINGLE_QUOTED_STRING_0, grammarAccess.getStringLiteralAccess().getSINGLE_QUOTED_STRINGTerminalRuleCall());
+ }
+
+ ;
+
+
+
+
+
+// Entry rule entryRulePrefixOperator
+entryRulePrefixOperator returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getPrefixOperatorRule()); }
+ iv_rulePrefixOperator=rulePrefixOperator
+ { $current=$iv_rulePrefixOperator.current.getText(); }
+ EOF
+;
+
+// Rule PrefixOperator
+rulePrefixOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+
+ {
+ newCompositeNode(grammarAccess.getPrefixOperatorAccess().getEssentialOCLPrefixOperatorParserRuleCall());
+ }
+ this_EssentialOCLPrefixOperator_0=ruleEssentialOCLPrefixOperator {
+ $current.merge(this_EssentialOCLPrefixOperator_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ ;
+
+
+
+
+
+// Entry rule entryRuleInfixOperator
+entryRuleInfixOperator returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getInfixOperatorRule()); }
+ iv_ruleInfixOperator=ruleInfixOperator
+ { $current=$iv_ruleInfixOperator.current.getText(); }
+ EOF
+;
+
+// Rule InfixOperator
+ruleInfixOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+
+ {
+ newCompositeNode(grammarAccess.getInfixOperatorAccess().getEssentialOCLInfixOperatorParserRuleCall());
+ }
+ this_EssentialOCLInfixOperator_0=ruleEssentialOCLInfixOperator {
+ $current.merge(this_EssentialOCLInfixOperator_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ ;
+
+
+
+
+
+// Entry rule entryRuleNavigationOperator
+entryRuleNavigationOperator returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getNavigationOperatorRule()); }
+ iv_ruleNavigationOperator=ruleNavigationOperator
+ { $current=$iv_ruleNavigationOperator.current.getText(); }
+ EOF
+;
+
+// Rule NavigationOperator
+ruleNavigationOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+
+ {
+ newCompositeNode(grammarAccess.getNavigationOperatorAccess().getEssentialOCLNavigationOperatorParserRuleCall());
+ }
+ this_EssentialOCLNavigationOperator_0=ruleEssentialOCLNavigationOperator {
+ $current.merge(this_EssentialOCLNavigationOperator_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ ;
+
+
+
+
+
+// Entry rule entryRuleEssentialOCLUnrestrictedName
+entryRuleEssentialOCLUnrestrictedName returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getEssentialOCLUnrestrictedNameRule()); }
+ iv_ruleEssentialOCLUnrestrictedName=ruleEssentialOCLUnrestrictedName
+ { $current=$iv_ruleEssentialOCLUnrestrictedName.current.getText(); }
+ EOF
+;
+
+// Rule EssentialOCLUnrestrictedName
+ruleEssentialOCLUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+
+ {
+ newCompositeNode(grammarAccess.getEssentialOCLUnrestrictedNameAccess().getIdentifierParserRuleCall());
+ }
+ this_Identifier_0=ruleIdentifier {
+ $current.merge(this_Identifier_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ ;
+
+
+
+
+
+// Entry rule entryRuleEssentialOCLUnreservedName
+entryRuleEssentialOCLUnreservedName returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameRule()); }
+ iv_ruleEssentialOCLUnreservedName=ruleEssentialOCLUnreservedName
+ { $current=$iv_ruleEssentialOCLUnreservedName.current.getText(); }
+ EOF
+;
+
+// Rule EssentialOCLUnreservedName
+ruleEssentialOCLUnreservedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getUnrestrictedNameParserRuleCall_0());
+ }
+ this_UnrestrictedName_0=ruleUnrestrictedName {
+ $current.merge(this_UnrestrictedName_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getCollectionTypeIdentifierParserRuleCall_1());
+ }
+ this_CollectionTypeIdentifier_1=ruleCollectionTypeIdentifier {
+ $current.merge(this_CollectionTypeIdentifier_1);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getPrimitiveTypeIdentifierParserRuleCall_2());
+ }
+ this_PrimitiveTypeIdentifier_2=rulePrimitiveTypeIdentifier {
+ $current.merge(this_PrimitiveTypeIdentifier_2);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ kw='Tuple'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLUnreservedNameAccess().getTupleKeyword_3());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleUnreservedName
+entryRuleUnreservedName returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getUnreservedNameRule()); }
+ iv_ruleUnreservedName=ruleUnreservedName
+ { $current=$iv_ruleUnreservedName.current.getText(); }
+ EOF
+;
+
+// Rule UnreservedName
+ruleUnreservedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+
+ {
+ newCompositeNode(grammarAccess.getUnreservedNameAccess().getEssentialOCLUnreservedNameParserRuleCall());
+ }
+ this_EssentialOCLUnreservedName_0=ruleEssentialOCLUnreservedName {
+ $current.merge(this_EssentialOCLUnreservedName_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ ;
+
+
+
+
+
+// Entry rule entryRulePathNameCS
+entryRulePathNameCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPathNameCSRule()); }
+ iv_rulePathNameCS=rulePathNameCS
+ { $current=$iv_rulePathNameCS.current; }
+ EOF
+;
+
+// Rule PathNameCS
+rulePathNameCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getPathNameCSAccess().getPathFirstPathElementCSParserRuleCall_0_0());
+ }
+ lv_path_0_0=ruleFirstPathElementCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPathNameCSRule());
+ }
+ add(
+ $current,
+ "path",
+ lv_path_0_0,
+ "FirstPathElementCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='::'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPathNameCSAccess().getPathNextPathElementCSParserRuleCall_1_1_0());
+ }
+ lv_path_2_0=ruleNextPathElementCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPathNameCSRule());
+ }
+ add(
+ $current,
+ "path",
+ lv_path_2_0,
+ "NextPathElementCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleFirstPathElementCS
+entryRuleFirstPathElementCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getFirstPathElementCSRule()); }
+ iv_ruleFirstPathElementCS=ruleFirstPathElementCS
+ { $current=$iv_ruleFirstPathElementCS.current; }
+ EOF
+;
+
+// Rule FirstPathElementCS
+ruleFirstPathElementCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getFirstPathElementCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getFirstPathElementCSAccess().getElementNamedElementCrossReference_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleNextPathElementCS
+entryRuleNextPathElementCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNextPathElementCSRule()); }
+ iv_ruleNextPathElementCS=ruleNextPathElementCS
+ { $current=$iv_ruleNextPathElementCS.current; }
+ EOF
+;
+
+// Rule NextPathElementCS
+ruleNextPathElementCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNextPathElementCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getNextPathElementCSAccess().getElementNamedElementCrossReference_0());
+ }
+ ruleUnreservedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRulePrimitiveTypeIdentifier
+entryRulePrimitiveTypeIdentifier returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getPrimitiveTypeIdentifierRule()); }
+ iv_rulePrimitiveTypeIdentifier=rulePrimitiveTypeIdentifier
+ { $current=$iv_rulePrimitiveTypeIdentifier.current.getText(); }
+ EOF
+;
+
+// Rule PrimitiveTypeIdentifier
+rulePrimitiveTypeIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='Boolean'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getBooleanKeyword_0());
+ }
+
+ |
+ kw='Integer'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getIntegerKeyword_1());
+ }
+
+ |
+ kw='Real'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getRealKeyword_2());
+ }
+
+ |
+ kw='String'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getStringKeyword_3());
+ }
+
+ |
+ kw='UnlimitedNatural'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getUnlimitedNaturalKeyword_4());
+ }
+
+ |
+ kw='OclAny'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getOclAnyKeyword_5());
+ }
+
+ |
+ kw='OclInvalid'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getOclInvalidKeyword_6());
+ }
+
+ |
+ kw='OclVoid'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getOclVoidKeyword_7());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRulePrimitiveTypeCS
+entryRulePrimitiveTypeCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPrimitiveTypeCSRule()); }
+ iv_rulePrimitiveTypeCS=rulePrimitiveTypeCS
+ { $current=$iv_rulePrimitiveTypeCS.current; }
+ EOF
+;
+
+// Rule PrimitiveTypeCS
+rulePrimitiveTypeCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimitiveTypeCSAccess().getNamePrimitiveTypeIdentifierParserRuleCall_0());
+ }
+ lv_name_0_0=rulePrimitiveTypeIdentifier {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimitiveTypeCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_0_0,
+ "PrimitiveTypeIdentifier");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleCollectionTypeIdentifier
+entryRuleCollectionTypeIdentifier returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getCollectionTypeIdentifierRule()); }
+ iv_ruleCollectionTypeIdentifier=ruleCollectionTypeIdentifier
+ { $current=$iv_ruleCollectionTypeIdentifier.current.getText(); }
+ EOF
+;
+
+// Rule CollectionTypeIdentifier
+ruleCollectionTypeIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='Set'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getSetKeyword_0());
+ }
+
+ |
+ kw='Bag'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getBagKeyword_1());
+ }
+
+ |
+ kw='Sequence'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getSequenceKeyword_2());
+ }
+
+ |
+ kw='Collection'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getCollectionKeyword_3());
+ }
+
+ |
+ kw='OrderedSet'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getOrderedSetKeyword_4());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleCollectionTypeCS
+entryRuleCollectionTypeCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCollectionTypeCSRule()); }
+ iv_ruleCollectionTypeCS=ruleCollectionTypeCS
+ { $current=$iv_ruleCollectionTypeCS.current; }
+ EOF
+;
+
+// Rule CollectionTypeCS
+ruleCollectionTypeCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getCollectionTypeCSAccess().getNameCollectionTypeIdentifierParserRuleCall_0_0());
+ }
+ lv_name_0_0=ruleCollectionTypeIdentifier {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionTypeCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_0_0,
+ "CollectionTypeIdentifier");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='('
+ {
+ newLeafNode(otherlv_1, grammarAccess.getCollectionTypeCSAccess().getLeftParenthesisKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+ }
+ lv_ownedType_2_0=ruleTypeExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionTypeCSRule());
+ }
+ set(
+ $current,
+ "ownedType",
+ lv_ownedType_2_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3=')'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getCollectionTypeCSAccess().getRightParenthesisKeyword_1_2());
+ }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleMultiplicityBoundsCS
+entryRuleMultiplicityBoundsCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getMultiplicityBoundsCSRule()); }
+ iv_ruleMultiplicityBoundsCS=ruleMultiplicityBoundsCS
+ { $current=$iv_ruleMultiplicityBoundsCS.current; }
+ EOF
+;
+
+// Rule MultiplicityBoundsCS
+ruleMultiplicityBoundsCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundLOWERParserRuleCall_0_0());
+ }
+ lv_lowerBound_0_0=ruleLOWER {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMultiplicityBoundsCSRule());
+ }
+ set(
+ $current,
+ "lowerBound",
+ lv_lowerBound_0_0,
+ "LOWER");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='..'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getMultiplicityBoundsCSAccess().getFullStopFullStopKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundUPPERParserRuleCall_1_1_0());
+ }
+ lv_upperBound_2_0=ruleUPPER {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMultiplicityBoundsCSRule());
+ }
+ set(
+ $current,
+ "upperBound",
+ lv_upperBound_2_0,
+ "UPPER");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleMultiplicityCS
+entryRuleMultiplicityCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getMultiplicityCSRule()); }
+ iv_ruleMultiplicityCS=ruleMultiplicityCS
+ { $current=$iv_ruleMultiplicityCS.current; }
+ EOF
+;
+
+// Rule MultiplicityCS
+ruleMultiplicityCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='['
+ {
+ newLeafNode(otherlv_0, grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0());
+ }
+(
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getMultiplicityCSAccess().getMultiplicityBoundsCSParserRuleCall_1_0());
+ }
+ this_MultiplicityBoundsCS_1=ruleMultiplicityBoundsCS
+ {
+ $current = $this_MultiplicityBoundsCS_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getMultiplicityCSAccess().getMultiplicityStringCSParserRuleCall_1_1());
+ }
+ this_MultiplicityStringCS_2=ruleMultiplicityStringCS
+ {
+ $current = $this_MultiplicityStringCS_2.current;
+ afterParserOrEnumRuleCall();
+ }
+) otherlv_3=']'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getMultiplicityCSAccess().getRightSquareBracketKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleMultiplicityStringCS
+entryRuleMultiplicityStringCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getMultiplicityStringCSRule()); }
+ iv_ruleMultiplicityStringCS=ruleMultiplicityStringCS
+ { $current=$iv_ruleMultiplicityStringCS.current; }
+ EOF
+;
+
+// Rule MultiplicityStringCS
+ruleMultiplicityStringCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+(
+ lv_stringBounds_0_1= '*'
+ {
+ newLeafNode(lv_stringBounds_0_1, grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAsteriskKeyword_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMultiplicityStringCSRule());
+ }
+ setWithLastConsumed($current, "stringBounds", lv_stringBounds_0_1, null);
+ }
+
+ | lv_stringBounds_0_2= '+'
+ {
+ newLeafNode(lv_stringBounds_0_2, grammarAccess.getMultiplicityStringCSAccess().getStringBoundsPlusSignKeyword_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMultiplicityStringCSRule());
+ }
+ setWithLastConsumed($current, "stringBounds", lv_stringBounds_0_2, null);
+ }
+
+ | lv_stringBounds_0_3= '?'
+ {
+ newLeafNode(lv_stringBounds_0_3, grammarAccess.getMultiplicityStringCSAccess().getStringBoundsQuestionMarkKeyword_0_2());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMultiplicityStringCSRule());
+ }
+ setWithLastConsumed($current, "stringBounds", lv_stringBounds_0_3, null);
+ }
+
+)
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTupleTypeCS
+entryRuleTupleTypeCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTupleTypeCSRule()); }
+ iv_ruleTupleTypeCS=ruleTupleTypeCS
+ { $current=$iv_ruleTupleTypeCS.current; }
+ EOF
+;
+
+// Rule TupleTypeCS
+ruleTupleTypeCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_name_0_0= 'Tuple'
+ {
+ newLeafNode(lv_name_0_0, grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTupleTypeCSRule());
+ }
+ setWithLastConsumed($current, "name", lv_name_0_0, "Tuple");
+ }
+
+)
+)( otherlv_1='('
+ {
+ newLeafNode(otherlv_1, grammarAccess.getTupleTypeCSAccess().getLeftParenthesisKeyword_1_0());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_0_0());
+ }
+ lv_ownedParts_2_0=ruleTuplePartCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTupleTypeCSRule());
+ }
+ add(
+ $current,
+ "ownedParts",
+ lv_ownedParts_2_0,
+ "TuplePartCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_3=','
+ {
+ newLeafNode(otherlv_3, grammarAccess.getTupleTypeCSAccess().getCommaKeyword_1_1_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_1_1_0());
+ }
+ lv_ownedParts_4_0=ruleTuplePartCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTupleTypeCSRule());
+ }
+ add(
+ $current,
+ "ownedParts",
+ lv_ownedParts_4_0,
+ "TuplePartCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_5=')'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getTupleTypeCSAccess().getRightParenthesisKeyword_1_2());
+ }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleTuplePartCS
+entryRuleTuplePartCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTuplePartCSRule()); }
+ iv_ruleTuplePartCS=ruleTuplePartCS
+ { $current=$iv_ruleTuplePartCS.current; }
+ EOF
+;
+
+// Rule TuplePartCS
+ruleTuplePartCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getTuplePartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+ lv_name_0_0=ruleUnrestrictedName {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTuplePartCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_0_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_1=':'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getTuplePartCSAccess().getColonKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTuplePartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0());
+ }
+ lv_ownedType_2_0=ruleTypeExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTuplePartCSRule());
+ }
+ set(
+ $current,
+ "ownedType",
+ lv_ownedType_2_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleCollectionLiteralExpCS
+entryRuleCollectionLiteralExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCollectionLiteralExpCSRule()); }
+ iv_ruleCollectionLiteralExpCS=ruleCollectionLiteralExpCS
+ { $current=$iv_ruleCollectionLiteralExpCS.current; }
+ EOF
+;
+
+// Rule CollectionLiteralExpCS
+ruleCollectionLiteralExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0());
+ }
+ lv_ownedType_0_0=ruleCollectionTypeCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule());
+ }
+ set(
+ $current,
+ "ownedType",
+ lv_ownedType_0_0,
+ "CollectionTypeCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_1='{'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_0_0());
+ }
+ lv_ownedParts_2_0=ruleCollectionLiteralPartCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule());
+ }
+ add(
+ $current,
+ "ownedParts",
+ lv_ownedParts_2_0,
+ "CollectionLiteralPartCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_3=','
+ {
+ newLeafNode(otherlv_3, grammarAccess.getCollectionLiteralExpCSAccess().getCommaKeyword_2_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_1_1_0());
+ }
+ lv_ownedParts_4_0=ruleCollectionLiteralPartCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule());
+ }
+ add(
+ $current,
+ "ownedParts",
+ lv_ownedParts_4_0,
+ "CollectionLiteralPartCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_5='}'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getCollectionLiteralExpCSAccess().getRightCurlyBracketKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleCollectionLiteralPartCS
+entryRuleCollectionLiteralPartCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCollectionLiteralPartCSRule()); }
+ iv_ruleCollectionLiteralPartCS=ruleCollectionLiteralPartCS
+ { $current=$iv_ruleCollectionLiteralPartCS.current; }
+ EOF
+;
+
+// Rule CollectionLiteralPartCS
+ruleCollectionLiteralPartCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getExpressionCSExpCSParserRuleCall_0_0());
+ }
+ lv_expressionCS_0_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionLiteralPartCSRule());
+ }
+ set(
+ $current,
+ "expressionCS",
+ lv_expressionCS_0_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='..'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getLastExpressionCSExpCSParserRuleCall_1_1_0());
+ }
+ lv_lastExpressionCS_2_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectionLiteralPartCSRule());
+ }
+ set(
+ $current,
+ "lastExpressionCS",
+ lv_lastExpressionCS_2_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleConstructorPartCS
+entryRuleConstructorPartCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getConstructorPartCSRule()); }
+ iv_ruleConstructorPartCS=ruleConstructorPartCS
+ { $current=$iv_ruleConstructorPartCS.current; }
+ EOF
+;
+
+// Rule ConstructorPartCS
+ruleConstructorPartCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ /* */
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getConstructorPartCSRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getConstructorPartCSAccess().getPropertyPropertyCrossReference_0_0());
+ }
+ ruleUnrestrictedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_1='='
+ {
+ newLeafNode(otherlv_1, grammarAccess.getConstructorPartCSAccess().getEqualsSignKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getConstructorPartCSAccess().getInitExpressionExpCSParserRuleCall_2_0());
+ }
+ lv_initExpression_2_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getConstructorPartCSRule());
+ }
+ set(
+ $current,
+ "initExpression",
+ lv_initExpression_2_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRulePrimitiveLiteralExpCS
+entryRulePrimitiveLiteralExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSRule()); }
+ iv_rulePrimitiveLiteralExpCS=rulePrimitiveLiteralExpCS
+ { $current=$iv_rulePrimitiveLiteralExpCS.current; }
+ EOF
+;
+
+// Rule PrimitiveLiteralExpCS
+rulePrimitiveLiteralExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getNumberLiteralExpCSParserRuleCall_0());
+ }
+ this_NumberLiteralExpCS_0=ruleNumberLiteralExpCS
+ {
+ $current = $this_NumberLiteralExpCS_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getStringLiteralExpCSParserRuleCall_1());
+ }
+ this_StringLiteralExpCS_1=ruleStringLiteralExpCS
+ {
+ $current = $this_StringLiteralExpCS_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getBooleanLiteralExpCSParserRuleCall_2());
+ }
+ this_BooleanLiteralExpCS_2=ruleBooleanLiteralExpCS
+ {
+ $current = $this_BooleanLiteralExpCS_2.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSParserRuleCall_3());
+ }
+ this_UnlimitedNaturalLiteralExpCS_3=ruleUnlimitedNaturalLiteralExpCS
+ {
+ $current = $this_UnlimitedNaturalLiteralExpCS_3.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getInvalidLiteralExpCSParserRuleCall_4());
+ }
+ this_InvalidLiteralExpCS_4=ruleInvalidLiteralExpCS
+ {
+ $current = $this_InvalidLiteralExpCS_4.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getNullLiteralExpCSParserRuleCall_5());
+ }
+ this_NullLiteralExpCS_5=ruleNullLiteralExpCS
+ {
+ $current = $this_NullLiteralExpCS_5.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTupleLiteralExpCS
+entryRuleTupleLiteralExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTupleLiteralExpCSRule()); }
+ iv_ruleTupleLiteralExpCS=ruleTupleLiteralExpCS
+ { $current=$iv_ruleTupleLiteralExpCS.current; }
+ EOF
+;
+
+// Rule TupleLiteralExpCS
+ruleTupleLiteralExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='Tuple'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getTupleLiteralExpCSAccess().getTupleKeyword_0());
+ }
+ otherlv_1='{'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getTupleLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_2_0());
+ }
+ lv_ownedParts_2_0=ruleTupleLiteralPartCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTupleLiteralExpCSRule());
+ }
+ add(
+ $current,
+ "ownedParts",
+ lv_ownedParts_2_0,
+ "TupleLiteralPartCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_3=','
+ {
+ newLeafNode(otherlv_3, grammarAccess.getTupleLiteralExpCSAccess().getCommaKeyword_3_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_3_1_0());
+ }
+ lv_ownedParts_4_0=ruleTupleLiteralPartCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTupleLiteralExpCSRule());
+ }
+ add(
+ $current,
+ "ownedParts",
+ lv_ownedParts_4_0,
+ "TupleLiteralPartCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_5='}'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getTupleLiteralExpCSAccess().getRightCurlyBracketKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTupleLiteralPartCS
+entryRuleTupleLiteralPartCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTupleLiteralPartCSRule()); }
+ iv_ruleTupleLiteralPartCS=ruleTupleLiteralPartCS
+ { $current=$iv_ruleTupleLiteralPartCS.current; }
+ EOF
+;
+
+// Rule TupleLiteralPartCS
+ruleTupleLiteralPartCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+ lv_name_0_0=ruleUnrestrictedName {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTupleLiteralPartCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_0_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1=':'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getTupleLiteralPartCSAccess().getColonKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+ }
+ lv_ownedType_2_0=ruleTypeExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTupleLiteralPartCSRule());
+ }
+ set(
+ $current,
+ "ownedType",
+ lv_ownedType_2_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_3='='
+ {
+ newLeafNode(otherlv_3, grammarAccess.getTupleLiteralPartCSAccess().getEqualsSignKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getInitExpressionExpCSParserRuleCall_3_0());
+ }
+ lv_initExpression_4_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTupleLiteralPartCSRule());
+ }
+ set(
+ $current,
+ "initExpression",
+ lv_initExpression_4_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleNumberLiteralExpCS
+entryRuleNumberLiteralExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNumberLiteralExpCSRule()); }
+ iv_ruleNumberLiteralExpCS=ruleNumberLiteralExpCS
+ { $current=$iv_ruleNumberLiteralExpCS.current; }
+ EOF
+;
+
+// Rule NumberLiteralExpCS
+ruleNumberLiteralExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNumberLiteralExpCSAccess().getNameNUMBER_LITERALParserRuleCall_0());
+ }
+ lv_name_0_0=ruleNUMBER_LITERAL {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNumberLiteralExpCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_0_0,
+ "NUMBER_LITERAL");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleStringLiteralExpCS
+entryRuleStringLiteralExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStringLiteralExpCSRule()); }
+ iv_ruleStringLiteralExpCS=ruleStringLiteralExpCS
+ { $current=$iv_ruleStringLiteralExpCS.current; }
+ EOF
+;
+
+// Rule StringLiteralExpCS
+ruleStringLiteralExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getStringLiteralExpCSAccess().getNameStringLiteralParserRuleCall_0());
+ }
+ lv_name_0_0=ruleStringLiteral {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStringLiteralExpCSRule());
+ }
+ add(
+ $current,
+ "name",
+ lv_name_0_0,
+ "StringLiteral");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+
+;
+
+
+
+
+
+// Entry rule entryRuleBooleanLiteralExpCS
+entryRuleBooleanLiteralExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getBooleanLiteralExpCSRule()); }
+ iv_ruleBooleanLiteralExpCS=ruleBooleanLiteralExpCS
+ { $current=$iv_ruleBooleanLiteralExpCS.current; }
+ EOF
+;
+
+// Rule BooleanLiteralExpCS
+ruleBooleanLiteralExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_name_0_0= 'true'
+ {
+ newLeafNode(lv_name_0_0, grammarAccess.getBooleanLiteralExpCSAccess().getNameTrueKeyword_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getBooleanLiteralExpCSRule());
+ }
+ setWithLastConsumed($current, "name", lv_name_0_0, "true");
+ }
+
+)
+)
+ |(
+(
+ lv_name_1_0= 'false'
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getBooleanLiteralExpCSAccess().getNameFalseKeyword_1_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getBooleanLiteralExpCSRule());
+ }
+ setWithLastConsumed($current, "name", lv_name_1_0, "false");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleUnlimitedNaturalLiteralExpCS
+entryRuleUnlimitedNaturalLiteralExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getUnlimitedNaturalLiteralExpCSRule()); }
+ iv_ruleUnlimitedNaturalLiteralExpCS=ruleUnlimitedNaturalLiteralExpCS
+ { $current=$iv_ruleUnlimitedNaturalLiteralExpCS.current; }
+ EOF
+;
+
+// Rule UnlimitedNaturalLiteralExpCS
+ruleUnlimitedNaturalLiteralExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0(),
+ $current);
+ }
+) otherlv_1='*'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getAsteriskKeyword_1());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleInvalidLiteralExpCS
+entryRuleInvalidLiteralExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getInvalidLiteralExpCSRule()); }
+ iv_ruleInvalidLiteralExpCS=ruleInvalidLiteralExpCS
+ { $current=$iv_ruleInvalidLiteralExpCS.current; }
+ EOF
+;
+
+// Rule InvalidLiteralExpCS
+ruleInvalidLiteralExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0(),
+ $current);
+ }
+) otherlv_1='invalid'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getInvalidLiteralExpCSAccess().getInvalidKeyword_1());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleNullLiteralExpCS
+entryRuleNullLiteralExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNullLiteralExpCSRule()); }
+ iv_ruleNullLiteralExpCS=ruleNullLiteralExpCS
+ { $current=$iv_ruleNullLiteralExpCS.current; }
+ EOF
+;
+
+// Rule NullLiteralExpCS
+ruleNullLiteralExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0(),
+ $current);
+ }
+) otherlv_1='null'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getNullLiteralExpCSAccess().getNullKeyword_1());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTypeLiteralCS
+entryRuleTypeLiteralCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTypeLiteralCSRule()); }
+ iv_ruleTypeLiteralCS=ruleTypeLiteralCS
+ { $current=$iv_ruleTypeLiteralCS.current; }
+ EOF
+;
+
+// Rule TypeLiteralCS
+ruleTypeLiteralCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getPrimitiveTypeCSParserRuleCall_0());
+ }
+ this_PrimitiveTypeCS_0=rulePrimitiveTypeCS
+ {
+ $current = $this_PrimitiveTypeCS_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getCollectionTypeCSParserRuleCall_1());
+ }
+ this_CollectionTypeCS_1=ruleCollectionTypeCS
+ {
+ $current = $this_CollectionTypeCS_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getTupleTypeCSParserRuleCall_2());
+ }
+ this_TupleTypeCS_2=ruleTupleTypeCS
+ {
+ $current = $this_TupleTypeCS_2.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTypeLiteralExpCS
+entryRuleTypeLiteralExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTypeLiteralExpCSRule()); }
+ iv_ruleTypeLiteralExpCS=ruleTypeLiteralExpCS
+ { $current=$iv_ruleTypeLiteralExpCS.current; }
+ EOF
+;
+
+// Rule TypeLiteralExpCS
+ruleTypeLiteralExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeTypeLiteralCSParserRuleCall_0());
+ }
+ lv_ownedType_0_0=ruleTypeLiteralCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTypeLiteralExpCSRule());
+ }
+ set(
+ $current,
+ "ownedType",
+ lv_ownedType_0_0,
+ "TypeLiteralCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTypeNameExpCS
+entryRuleTypeNameExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTypeNameExpCSRule()); }
+ iv_ruleTypeNameExpCS=ruleTypeNameExpCS
+ { $current=$iv_ruleTypeNameExpCS.current; }
+ EOF
+;
+
+// Rule TypeNameExpCS
+ruleTypeNameExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getPathNamePathNameCSParserRuleCall_0());
+ }
+ lv_pathName_0_0=rulePathNameCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTypeNameExpCSRule());
+ }
+ set(
+ $current,
+ "pathName",
+ lv_pathName_0_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTypeExpCS
+entryRuleTypeExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTypeExpCSRule()); }
+ iv_ruleTypeExpCS=ruleTypeExpCS
+ { $current=$iv_ruleTypeExpCS.current; }
+ EOF
+;
+
+// Rule TypeExpCS
+ruleTypeExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getTypeExpCSAccess().getTypeNameExpCSParserRuleCall_0_0());
+ }
+ this_TypeNameExpCS_0=ruleTypeNameExpCS
+ {
+ $current = $this_TypeNameExpCS_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getTypeExpCSAccess().getTypeLiteralCSParserRuleCall_0_1());
+ }
+ this_TypeLiteralCS_1=ruleTypeLiteralCS
+ {
+ $current = $this_TypeLiteralCS_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getTypeExpCSAccess().getMultiplicityMultiplicityCSParserRuleCall_1_0());
+ }
+ lv_multiplicity_2_0=ruleMultiplicityCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTypeExpCSRule());
+ }
+ set(
+ $current,
+ "multiplicity",
+ lv_multiplicity_2_0,
+ "MultiplicityCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleExpCS
+entryRuleExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getExpCSRule()); }
+ iv_ruleExpCS=ruleExpCS
+ { $current=$iv_ruleExpCS.current; }
+ EOF
+;
+
+// Rule ExpCS
+ruleExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getExpCSAccess().getInfixExpCSAction_0_0(),
+ $current);
+ }
+)((
+(
+ {
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpCSParserRuleCall_0_1_0_0());
+ }
+ lv_ownedExpression_1_0=rulePrefixedExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getExpCSRule());
+ }
+ add(
+ $current,
+ "ownedExpression",
+ lv_ownedExpression_1_0,
+ "PrefixedExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedOperatorBinaryOperatorCSParserRuleCall_0_1_1_0());
+ }
+ lv_ownedOperator_2_0=ruleBinaryOperatorCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getExpCSRule());
+ }
+ add(
+ $current,
+ "ownedOperator",
+ lv_ownedOperator_2_0,
+ "BinaryOperatorCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))+(
+(
+ {
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpOrLetExpCSParserRuleCall_0_2_0());
+ }
+ lv_ownedExpression_3_0=rulePrefixedExpOrLetExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getExpCSRule());
+ }
+ add(
+ $current,
+ "ownedExpression",
+ lv_ownedExpression_3_0,
+ "PrefixedExpOrLetExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+ |((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getExpCSAccess().getPrefixExpCSAction_1_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0());
+ }
+ lv_ownedOperator_5_0=ruleUnaryOperatorCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getExpCSRule());
+ }
+ add(
+ $current,
+ "ownedOperator",
+ lv_ownedOperator_5_0,
+ "UnaryOperatorCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+(
+(
+ {
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0());
+ }
+ lv_ownedExpression_6_0=rulePrimaryExpOrLetExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getExpCSRule());
+ }
+ set(
+ $current,
+ "ownedExpression",
+ lv_ownedExpression_6_0,
+ "PrimaryExpOrLetExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getExpCSAccess().getPrimaryExpOrLetExpCSParserRuleCall_2());
+ }
+ this_PrimaryExpOrLetExpCS_7=rulePrimaryExpOrLetExpCS
+ {
+ $current = $this_PrimaryExpOrLetExpCS_7.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleBinaryOperatorCS
+entryRuleBinaryOperatorCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getBinaryOperatorCSRule()); }
+ iv_ruleBinaryOperatorCS=ruleBinaryOperatorCS
+ { $current=$iv_ruleBinaryOperatorCS.current; }
+ EOF
+;
+
+// Rule BinaryOperatorCS
+ruleBinaryOperatorCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getBinaryOperatorCSAccess().getInfixOperatorCSParserRuleCall_0());
+ }
+ this_InfixOperatorCS_0=ruleInfixOperatorCS
+ {
+ $current = $this_InfixOperatorCS_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getBinaryOperatorCSAccess().getNavigationOperatorCSParserRuleCall_1());
+ }
+ this_NavigationOperatorCS_1=ruleNavigationOperatorCS
+ {
+ $current = $this_NavigationOperatorCS_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleInfixOperatorCS
+entryRuleInfixOperatorCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getInfixOperatorCSRule()); }
+ iv_ruleInfixOperatorCS=ruleInfixOperatorCS
+ { $current=$iv_ruleInfixOperatorCS.current; }
+ EOF
+;
+
+// Rule InfixOperatorCS
+ruleInfixOperatorCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getInfixOperatorCSAccess().getNameInfixOperatorParserRuleCall_0());
+ }
+ lv_name_0_0=ruleInfixOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInfixOperatorCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_0_0,
+ "InfixOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleNavigationOperatorCS
+entryRuleNavigationOperatorCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNavigationOperatorCSRule()); }
+ iv_ruleNavigationOperatorCS=ruleNavigationOperatorCS
+ { $current=$iv_ruleNavigationOperatorCS.current; }
+ EOF
+;
+
+// Rule NavigationOperatorCS
+ruleNavigationOperatorCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNavigationOperatorCSAccess().getNameNavigationOperatorParserRuleCall_0());
+ }
+ lv_name_0_0=ruleNavigationOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNavigationOperatorCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_0_0,
+ "NavigationOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRulePrefixedExpCS
+entryRulePrefixedExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPrefixedExpCSRule()); }
+ iv_rulePrefixedExpCS=rulePrefixedExpCS
+ { $current=$iv_rulePrefixedExpCS.current; }
+ EOF
+;
+
+// Rule PrefixedExpCS
+rulePrefixedExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrefixedExpCSAccess().getPrimaryExpCSParserRuleCall_0());
+ }
+ this_PrimaryExpCS_0=rulePrimaryExpCS
+ {
+ $current = $this_PrimaryExpCS_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getPrefixedExpCSAccess().getPrefixExpCSAction_1_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0());
+ }
+ lv_ownedOperator_2_0=ruleUnaryOperatorCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrefixedExpCSRule());
+ }
+ add(
+ $current,
+ "ownedOperator",
+ lv_ownedOperator_2_0,
+ "UnaryOperatorCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+(
+(
+ {
+ newCompositeNode(grammarAccess.getPrefixedExpCSAccess().getOwnedExpressionPrimaryExpCSParserRuleCall_1_2_0());
+ }
+ lv_ownedExpression_3_0=rulePrimaryExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrefixedExpCSRule());
+ }
+ set(
+ $current,
+ "ownedExpression",
+ lv_ownedExpression_3_0,
+ "PrimaryExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRulePrefixedExpOrLetExpCS
+entryRulePrefixedExpOrLetExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPrefixedExpOrLetExpCSRule()); }
+ iv_rulePrefixedExpOrLetExpCS=rulePrefixedExpOrLetExpCS
+ { $current=$iv_rulePrefixedExpOrLetExpCS.current; }
+ EOF
+;
+
+// Rule PrefixedExpOrLetExpCS
+rulePrefixedExpOrLetExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrimaryExpOrLetExpCSParserRuleCall_0());
+ }
+ this_PrimaryExpOrLetExpCS_0=rulePrimaryExpOrLetExpCS
+ {
+ $current = $this_PrimaryExpOrLetExpCS_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrefixExpCSAction_1_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0());
+ }
+ lv_ownedOperator_2_0=ruleUnaryOperatorCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrefixedExpOrLetExpCSRule());
+ }
+ add(
+ $current,
+ "ownedOperator",
+ lv_ownedOperator_2_0,
+ "UnaryOperatorCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+(
+(
+ {
+ newCompositeNode(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0());
+ }
+ lv_ownedExpression_3_0=rulePrimaryExpOrLetExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrefixedExpOrLetExpCSRule());
+ }
+ set(
+ $current,
+ "ownedExpression",
+ lv_ownedExpression_3_0,
+ "PrimaryExpOrLetExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleUnaryOperatorCS
+entryRuleUnaryOperatorCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getUnaryOperatorCSRule()); }
+ iv_ruleUnaryOperatorCS=ruleUnaryOperatorCS
+ { $current=$iv_ruleUnaryOperatorCS.current; }
+ EOF
+;
+
+// Rule UnaryOperatorCS
+ruleUnaryOperatorCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getUnaryOperatorCSAccess().getNamePrefixOperatorParserRuleCall_0());
+ }
+ lv_name_0_0=rulePrefixOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getUnaryOperatorCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_0_0,
+ "PrefixOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRulePrimaryExpCS
+entryRulePrimaryExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPrimaryExpCSRule()); }
+ iv_rulePrimaryExpCS=rulePrimaryExpCS
+ { $current=$iv_rulePrimaryExpCS.current; }
+ EOF
+;
+
+// Rule PrimaryExpCS
+rulePrimaryExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_0_1_0());
+ }
+ lv_pathName_1_0=rulePathNameCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ set(
+ $current,
+ "pathName",
+ lv_pathName_1_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2='['
+ {
+ newLeafNode(otherlv_2, grammarAccess.getPrimaryExpCSAccess().getLeftSquareBracketKeyword_0_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_3_0());
+ }
+ lv_firstIndexes_3_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ $current,
+ "firstIndexes",
+ lv_firstIndexes_3_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4=','
+ {
+ newLeafNode(otherlv_4, grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_0_4_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_4_1_0());
+ }
+ lv_firstIndexes_5_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ $current,
+ "firstIndexes",
+ lv_firstIndexes_5_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_6=']'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getPrimaryExpCSAccess().getRightSquareBracketKeyword_0_5());
+ }
+( otherlv_7='['
+ {
+ newLeafNode(otherlv_7, grammarAccess.getPrimaryExpCSAccess().getLeftSquareBracketKeyword_0_6_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_1_0());
+ }
+ lv_secondIndexes_8_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ $current,
+ "secondIndexes",
+ lv_secondIndexes_8_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_9=','
+ {
+ newLeafNode(otherlv_9, grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_0_6_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_2_1_0());
+ }
+ lv_secondIndexes_10_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ $current,
+ "secondIndexes",
+ lv_secondIndexes_10_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_11=']'
+ {
+ newLeafNode(otherlv_11, grammarAccess.getPrimaryExpCSAccess().getRightSquareBracketKeyword_0_6_3());
+ }
+)?((
+(
+ lv_atPre_12_0= '@'
+ {
+ newLeafNode(lv_atPre_12_0, grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_0_7_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPrimaryExpCSRule());
+ }
+ setWithLastConsumed($current, "atPre", true, "@");
+ }
+
+)
+) otherlv_13='pre'
+ {
+ newLeafNode(otherlv_13, grammarAccess.getPrimaryExpCSAccess().getPreKeyword_0_7_1());
+ }
+)?)
+ |((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_1_1_0());
+ }
+ lv_pathName_15_0=rulePathNameCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ set(
+ $current,
+ "pathName",
+ lv_pathName_15_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_16='{'
+ {
+ newLeafNode(otherlv_16, grammarAccess.getPrimaryExpCSAccess().getLeftCurlyBracketKeyword_1_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_3_0());
+ }
+ lv_ownedParts_17_0=ruleConstructorPartCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ $current,
+ "ownedParts",
+ lv_ownedParts_17_0,
+ "ConstructorPartCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_18=','
+ {
+ newLeafNode(otherlv_18, grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_1_4_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_4_1_0());
+ }
+ lv_ownedParts_19_0=ruleConstructorPartCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ $current,
+ "ownedParts",
+ lv_ownedParts_19_0,
+ "ConstructorPartCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_20='}'
+ {
+ newLeafNode(otherlv_20, grammarAccess.getPrimaryExpCSAccess().getRightCurlyBracketKeyword_1_5());
+ }
+)
+ |((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_2_1_0());
+ }
+ lv_pathName_22_0=rulePathNameCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ set(
+ $current,
+ "pathName",
+ lv_pathName_22_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+ lv_atPre_23_0= '@'
+ {
+ newLeafNode(lv_atPre_23_0, grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_2_2_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPrimaryExpCSRule());
+ }
+ setWithLastConsumed($current, "atPre", true, "@");
+ }
+
+)
+) otherlv_24='pre'
+ {
+ newLeafNode(otherlv_24, grammarAccess.getPrimaryExpCSAccess().getPreKeyword_2_2_1());
+ }
+)? otherlv_25='('
+ {
+ newLeafNode(otherlv_25, grammarAccess.getPrimaryExpCSAccess().getLeftParenthesisKeyword_2_3());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingArgCSParserRuleCall_2_4_0_0());
+ }
+ lv_argument_26_0=ruleNavigatingArgCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ $current,
+ "argument",
+ lv_argument_26_0,
+ "NavigatingArgCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_1_0());
+ }
+ lv_argument_27_0=ruleNavigatingCommaArgCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ $current,
+ "argument",
+ lv_argument_27_0,
+ "NavigatingCommaArgCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*((
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingSemiArgCSParserRuleCall_2_4_2_0_0());
+ }
+ lv_argument_28_0=ruleNavigatingSemiArgCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ $current,
+ "argument",
+ lv_argument_28_0,
+ "NavigatingSemiArgCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_2_1_0());
+ }
+ lv_argument_29_0=ruleNavigatingCommaArgCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ $current,
+ "argument",
+ lv_argument_29_0,
+ "NavigatingCommaArgCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*)?((
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingBarArgCSParserRuleCall_2_4_3_0_0());
+ }
+ lv_argument_30_0=ruleNavigatingBarArgCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ $current,
+ "argument",
+ lv_argument_30_0,
+ "NavigatingBarArgCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_3_1_0());
+ }
+ lv_argument_31_0=ruleNavigatingCommaArgCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ $current,
+ "argument",
+ lv_argument_31_0,
+ "NavigatingCommaArgCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*)?)? otherlv_32=')'
+ {
+ newLeafNode(otherlv_32, grammarAccess.getPrimaryExpCSAccess().getRightParenthesisKeyword_2_5());
+ }
+)
+ |((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_3_1_0());
+ }
+ lv_pathName_34_0=rulePathNameCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ set(
+ $current,
+ "pathName",
+ lv_pathName_34_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+ lv_atPre_35_0= '@'
+ {
+ newLeafNode(lv_atPre_35_0, grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_3_2_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPrimaryExpCSRule());
+ }
+ setWithLastConsumed($current, "atPre", true, "@");
+ }
+
+)
+) otherlv_36='pre'
+ {
+ newLeafNode(otherlv_36, grammarAccess.getPrimaryExpCSAccess().getPreKeyword_3_2_1());
+ }
+)?)
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getSelfExpCSParserRuleCall_4());
+ }
+ this_SelfExpCS_37=ruleSelfExpCS
+ {
+ $current = $this_SelfExpCS_37.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPrimitiveLiteralExpCSParserRuleCall_5());
+ }
+ this_PrimitiveLiteralExpCS_38=rulePrimitiveLiteralExpCS
+ {
+ $current = $this_PrimitiveLiteralExpCS_38.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getTupleLiteralExpCSParserRuleCall_6());
+ }
+ this_TupleLiteralExpCS_39=ruleTupleLiteralExpCS
+ {
+ $current = $this_TupleLiteralExpCS_39.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getCollectionLiteralExpCSParserRuleCall_7());
+ }
+ this_CollectionLiteralExpCS_40=ruleCollectionLiteralExpCS
+ {
+ $current = $this_CollectionLiteralExpCS_40.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getTypeLiteralExpCSParserRuleCall_8());
+ }
+ this_TypeLiteralExpCS_41=ruleTypeLiteralExpCS
+ {
+ $current = $this_TypeLiteralExpCS_41.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getIfExpCSParserRuleCall_9());
+ }
+ this_IfExpCS_42=ruleIfExpCS
+ {
+ $current = $this_IfExpCS_42.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getNestedExpCSParserRuleCall_10());
+ }
+ this_NestedExpCS_43=ruleNestedExpCS
+ {
+ $current = $this_NestedExpCS_43.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePrimaryExpOrLetExpCS
+entryRulePrimaryExpOrLetExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPrimaryExpOrLetExpCSRule()); }
+ iv_rulePrimaryExpOrLetExpCS=rulePrimaryExpOrLetExpCS
+ { $current=$iv_rulePrimaryExpOrLetExpCS.current; }
+ EOF
+;
+
+// Rule PrimaryExpOrLetExpCS
+rulePrimaryExpOrLetExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpOrLetExpCSAccess().getPrimaryExpCSParserRuleCall_0());
+ }
+ this_PrimaryExpCS_0=rulePrimaryExpCS
+ {
+ $current = $this_PrimaryExpCS_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpOrLetExpCSAccess().getLetExpCSParserRuleCall_1());
+ }
+ this_LetExpCS_1=ruleLetExpCS
+ {
+ $current = $this_LetExpCS_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleNavigatingArgCS
+entryRuleNavigatingArgCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNavigatingArgCSRule()); }
+ iv_ruleNavigatingArgCS=ruleNavigatingArgCS
+ { $current=$iv_ruleNavigatingArgCS.current; }
+ EOF
+;
+
+// Rule NavigatingArgCS
+ruleNavigatingArgCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_0_0());
+ }
+ lv_name_0_0=ruleNavigatingArgExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_0_0,
+ "NavigatingArgExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1=':'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getNavigatingArgCSAccess().getColonKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+ }
+ lv_ownedType_2_0=ruleTypeExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
+ }
+ set(
+ $current,
+ "ownedType",
+ lv_ownedType_2_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_3='='
+ {
+ newLeafNode(otherlv_3, grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_1_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getInitExpCSParserRuleCall_1_2_1_0());
+ }
+ lv_init_4_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
+ }
+ set(
+ $current,
+ "init",
+ lv_init_4_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)?)
+;
+
+
+
+
+
+// Entry rule entryRuleNavigatingBarArgCS
+entryRuleNavigatingBarArgCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNavigatingBarArgCSRule()); }
+ iv_ruleNavigatingBarArgCS=ruleNavigatingBarArgCS
+ { $current=$iv_ruleNavigatingBarArgCS.current; }
+ EOF
+;
+
+// Rule NavigatingBarArgCS
+ruleNavigatingBarArgCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_prefix_0_0= '|'
+ {
+ newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNavigatingBarArgCSRule());
+ }
+ setWithLastConsumed($current, "prefix", lv_prefix_0_0, "|");
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0());
+ }
+ lv_name_1_0=ruleNavigatingArgExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNavigatingBarArgCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_1_0,
+ "NavigatingArgExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_2=':'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getNavigatingBarArgCSAccess().getColonKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
+ }
+ lv_ownedType_3_0=ruleTypeExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNavigatingBarArgCSRule());
+ }
+ set(
+ $current,
+ "ownedType",
+ lv_ownedType_3_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4='='
+ {
+ newLeafNode(otherlv_4, grammarAccess.getNavigatingBarArgCSAccess().getEqualsSignKeyword_2_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0());
+ }
+ lv_init_5_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNavigatingBarArgCSRule());
+ }
+ set(
+ $current,
+ "init",
+ lv_init_5_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)?)
+;
+
+
+
+
+
+// Entry rule entryRuleNavigatingCommaArgCS
+entryRuleNavigatingCommaArgCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNavigatingCommaArgCSRule()); }
+ iv_ruleNavigatingCommaArgCS=ruleNavigatingCommaArgCS
+ { $current=$iv_ruleNavigatingCommaArgCS.current; }
+ EOF
+;
+
+// Rule NavigatingCommaArgCS
+ruleNavigatingCommaArgCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_prefix_0_0= ','
+ {
+ newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNavigatingCommaArgCSRule());
+ }
+ setWithLastConsumed($current, "prefix", lv_prefix_0_0, ",");
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0());
+ }
+ lv_name_1_0=ruleNavigatingArgExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_1_0,
+ "NavigatingArgExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_2=':'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
+ }
+ lv_ownedType_3_0=ruleTypeExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
+ }
+ set(
+ $current,
+ "ownedType",
+ lv_ownedType_3_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4='='
+ {
+ newLeafNode(otherlv_4, grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0());
+ }
+ lv_init_5_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
+ }
+ set(
+ $current,
+ "init",
+ lv_init_5_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)?)
+;
+
+
+
+
+
+// Entry rule entryRuleNavigatingSemiArgCS
+entryRuleNavigatingSemiArgCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNavigatingSemiArgCSRule()); }
+ iv_ruleNavigatingSemiArgCS=ruleNavigatingSemiArgCS
+ { $current=$iv_ruleNavigatingSemiArgCS.current; }
+ EOF
+;
+
+// Rule NavigatingSemiArgCS
+ruleNavigatingSemiArgCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_prefix_0_0= ';'
+ {
+ newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNavigatingSemiArgCSRule());
+ }
+ setWithLastConsumed($current, "prefix", lv_prefix_0_0, ";");
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0());
+ }
+ lv_name_1_0=ruleNavigatingArgExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNavigatingSemiArgCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_1_0,
+ "NavigatingArgExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_2=':'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getNavigatingSemiArgCSAccess().getColonKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
+ }
+ lv_ownedType_3_0=ruleTypeExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNavigatingSemiArgCSRule());
+ }
+ set(
+ $current,
+ "ownedType",
+ lv_ownedType_3_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4='='
+ {
+ newLeafNode(otherlv_4, grammarAccess.getNavigatingSemiArgCSAccess().getEqualsSignKeyword_2_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0());
+ }
+ lv_init_5_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNavigatingSemiArgCSRule());
+ }
+ set(
+ $current,
+ "init",
+ lv_init_5_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)?)
+;
+
+
+
+
+
+// Entry rule entryRuleNavigatingArgExpCS
+entryRuleNavigatingArgExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNavigatingArgExpCSRule()); }
+ iv_ruleNavigatingArgExpCS=ruleNavigatingArgExpCS
+ { $current=$iv_ruleNavigatingArgExpCS.current; }
+ EOF
+;
+
+// Rule NavigatingArgExpCS
+ruleNavigatingArgExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+
+ {
+ /* */
+ }
+ {
+ newCompositeNode(grammarAccess.getNavigatingArgExpCSAccess().getExpCSParserRuleCall());
+ }
+ this_ExpCS_0=ruleExpCS
+ {
+ $current = $this_ExpCS_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+;
+
+
+
+
+
+// Entry rule entryRuleIfExpCS
+entryRuleIfExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getIfExpCSRule()); }
+ iv_ruleIfExpCS=ruleIfExpCS
+ { $current=$iv_ruleIfExpCS.current; }
+ EOF
+;
+
+// Rule IfExpCS
+ruleIfExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='if'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getIfExpCSAccess().getIfKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getIfExpCSAccess().getConditionExpCSParserRuleCall_1_0());
+ }
+ lv_condition_1_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getIfExpCSRule());
+ }
+ set(
+ $current,
+ "condition",
+ lv_condition_1_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2='then'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getIfExpCSAccess().getThenKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getIfExpCSAccess().getThenExpressionExpCSParserRuleCall_3_0());
+ }
+ lv_thenExpression_3_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getIfExpCSRule());
+ }
+ set(
+ $current,
+ "thenExpression",
+ lv_thenExpression_3_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4='else'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getIfExpCSAccess().getElseKeyword_4());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getIfExpCSAccess().getElseExpressionExpCSParserRuleCall_5_0());
+ }
+ lv_elseExpression_5_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getIfExpCSRule());
+ }
+ set(
+ $current,
+ "elseExpression",
+ lv_elseExpression_5_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_6='endif'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getIfExpCSAccess().getEndifKeyword_6());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleLetExpCS
+entryRuleLetExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLetExpCSRule()); }
+ iv_ruleLetExpCS=ruleLetExpCS
+ { $current=$iv_ruleLetExpCS.current; }
+ EOF
+;
+
+// Rule LetExpCS
+ruleLetExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='let'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getLetExpCSAccess().getLetKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLetExpCSAccess().getVariableLetVariableCSParserRuleCall_1_0());
+ }
+ lv_variable_1_0=ruleLetVariableCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLetExpCSRule());
+ }
+ add(
+ $current,
+ "variable",
+ lv_variable_1_0,
+ "LetVariableCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_2=','
+ {
+ newLeafNode(otherlv_2, grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLetExpCSAccess().getVariableLetVariableCSParserRuleCall_2_1_0());
+ }
+ lv_variable_3_0=ruleLetVariableCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLetExpCSRule());
+ }
+ add(
+ $current,
+ "variable",
+ lv_variable_3_0,
+ "LetVariableCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_4='in'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getLetExpCSAccess().getInKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLetExpCSAccess().getInExpCSParserRuleCall_4_0());
+ }
+ lv_in_5_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLetExpCSRule());
+ }
+ set(
+ $current,
+ "in",
+ lv_in_5_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleLetVariableCS
+entryRuleLetVariableCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLetVariableCSRule()); }
+ iv_ruleLetVariableCS=ruleLetVariableCS
+ { $current=$iv_ruleLetVariableCS.current; }
+ EOF
+;
+
+// Rule LetVariableCS
+ruleLetVariableCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getLetVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+ }
+ lv_name_0_0=ruleUnrestrictedName {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLetVariableCSRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_0_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1=':'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getLetVariableCSAccess().getColonKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLetVariableCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+ }
+ lv_ownedType_2_0=ruleTypeExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLetVariableCSRule());
+ }
+ set(
+ $current,
+ "ownedType",
+ lv_ownedType_2_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_3='='
+ {
+ newLeafNode(otherlv_3, grammarAccess.getLetVariableCSAccess().getEqualsSignKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLetVariableCSAccess().getInitExpressionExpCSParserRuleCall_3_0());
+ }
+ lv_initExpression_4_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLetVariableCSRule());
+ }
+ set(
+ $current,
+ "initExpression",
+ lv_initExpression_4_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleNestedExpCS
+entryRuleNestedExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNestedExpCSRule()); }
+ iv_ruleNestedExpCS=ruleNestedExpCS
+ { $current=$iv_ruleNestedExpCS.current; }
+ EOF
+;
+
+// Rule NestedExpCS
+ruleNestedExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='('
+ {
+ newLeafNode(otherlv_0, grammarAccess.getNestedExpCSAccess().getLeftParenthesisKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNestedExpCSAccess().getSourceExpCSParserRuleCall_1_0());
+ }
+ lv_source_1_0=ruleExpCS {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNestedExpCSRule());
+ }
+ set(
+ $current,
+ "source",
+ lv_source_1_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2=')'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getNestedExpCSAccess().getRightParenthesisKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleSelfExpCS
+entryRuleSelfExpCS returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSelfExpCSRule()); }
+ iv_ruleSelfExpCS=ruleSelfExpCS
+ { $current=$iv_ruleSelfExpCS.current; }
+ EOF
+;
+
+// Rule SelfExpCS
+ruleSelfExpCS returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ /* */
+ }
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0(),
+ $current);
+ }
+) otherlv_1='self'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getSelfExpCSAccess().getSelfKeyword_1());
+ }
+)
+;
+
+
+
+
+
+fragment RULE_ESCAPED_CHARACTER : '\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\');
+
+fragment RULE_LETTER_CHARACTER : ('a'..'z'|'A'..'Z'|'_');
+
+fragment RULE_DIGIT_CHARACTER : '0'..'9';
+
+RULE_DOUBLE_QUOTED_STRING : '"' (RULE_ESCAPED_CHARACTER|~(('\\'|'"')))* '"';
+
+RULE_SINGLE_QUOTED_STRING : '\'' (RULE_ESCAPED_CHARACTER|~(('\\'|'\'')))* '\'';
+
+RULE_ML_SINGLE_QUOTED_STRING : '/\'' ( options {greedy=false;} : . )*'\'/';
+
+RULE_SIMPLE_ID : RULE_LETTER_CHARACTER (RULE_LETTER_CHARACTER|RULE_DIGIT_CHARACTER)*;
+
+RULE_ESCAPED_ID : '_' RULE_SINGLE_QUOTED_STRING;
+
+RULE_INT : RULE_DIGIT_CHARACTER+;
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_SL_COMMENT : '--' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
+
+
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.tokens b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.tokens
new file mode 100644
index 000000000..064d81f7a
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.tokens
@@ -0,0 +1,169 @@
+T__42=42
+T__47=47
+T__73=73
+T__21=21
+RULE_ML_SINGLE_QUOTED_STRING=12
+T__72=72
+T__70=70
+T__39=39
+T__30=30
+T__46=46
+T__49=49
+RULE_DOUBLE_QUOTED_STRING=11
+T__54=54
+T__48=48
+RULE_ESCAPED_CHARACTER=8
+T__89=89
+T__20=20
+T__79=79
+T__64=64
+T__44=44
+T__66=66
+T__92=92
+T__88=88
+T__22=22
+RULE_ESCAPED_ID=5
+T__90=90
+RULE_WS=15
+T__63=63
+T__43=43
+T__91=91
+T__40=40
+T__85=85
+T__26=26
+T__25=25
+RULE_SL_COMMENT=14
+T__60=60
+T__41=41
+T__93=93
+T__86=86
+T__28=28
+T__23=23
+T__57=57
+T__94=94
+RULE_DIGIT_CHARACTER=10
+T__51=51
+T__80=80
+RULE_LETTER_CHARACTER=9
+T__69=69
+T__50=50
+T__19=19
+T__65=65
+T__67=67
+T__87=87
+T__74=74
+T__52=52
+T__68=68
+T__17=17
+T__62=62
+RULE_INT=6
+T__27=27
+T__24=24
+T__61=61
+RULE_SINGLE_QUOTED_STRING=7
+T__59=59
+T__34=34
+T__56=56
+RULE_ML_COMMENT=13
+T__35=35
+T__78=78
+T__36=36
+T__58=58
+RULE_SIMPLE_ID=4
+T__33=33
+T__77=77
+T__55=55
+T__45=45
+T__29=29
+T__84=84
+T__75=75
+T__31=31
+T__53=53
+T__32=32
+T__38=38
+T__37=37
+T__76=76
+RULE_ANY_OTHER=16
+T__82=82
+T__81=81
+T__83=83
+T__18=18
+T__71=71
+'<'=53
+'pre'=86
+'..'=77
+'>'=52
+'checkonly'=34
+'transformation'=20
+'let'=92
+'else'=90
+'domain'=36
+'key'=28
+'invalid'=83
+'-'=49
+'String'=67
+'Integer'=65
+'?'=80
+'Bag'=73
+'>='=54
+'E'=47
+'<='=55
+'='=40
+'Real'=66
+'Sequence'=74
+'::'=63
+'implementedby'=37
+'Boolean'=64
+'++'=41
+'xor'=59
+'{'=25
+'OclVoid'=71
+'then'=89
+'overrides'=31
+'OrderedSet'=76
+':'=27
+'OclAny'=69
+'Tuple'=62
+'.'=19
+'*'=45
+'<>'=56
+'Set'=72
+'}'=26
+'->'=61
+'self'=94
+'relation'=30
+'where'=33
+';'=18
+'true'=81
+']'=79
+'replace'=44
+'false'=82
+','=22
+'endif'=91
+'not'=50
+'query'=43
+'['=78
+'or'=58
+'/'=51
+'Collection'=75
+'and'=57
+'implies'=60
+'|'=87
+')'=23
+'primitive'=39
+'top'=29
+'e'=46
+'_'=42
+'OclInvalid'=70
+'@'=85
+'import'=17
+'if'=88
+'when'=32
+'('=21
+'enforce'=35
+'UnlimitedNatural'=68
+'extends'=24
+'in'=93
+'null'=84
+'+'=48
+'default_values'=38
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelationLexer.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelationLexer.java
new file mode 100644
index 000000000..1d26b1bd4
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelationLexer.java
@@ -0,0 +1,3631 @@
+package org.eclipse.qvtd.xtext.qvtrelation.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalQVTrelationLexer extends Lexer {
+ public static final int T__42=42;
+ public static final int T__47=47;
+ public static final int T__73=73;
+ public static final int T__21=21;
+ public static final int RULE_ML_SINGLE_QUOTED_STRING=12;
+ public static final int T__72=72;
+ public static final int T__70=70;
+ public static final int T__39=39;
+ public static final int T__30=30;
+ public static final int T__46=46;
+ public static final int T__49=49;
+ public static final int RULE_DOUBLE_QUOTED_STRING=11;
+ public static final int T__54=54;
+ public static final int T__48=48;
+ public static final int RULE_ESCAPED_CHARACTER=8;
+ public static final int T__89=89;
+ public static final int T__20=20;
+ public static final int T__79=79;
+ public static final int T__64=64;
+ public static final int T__44=44;
+ public static final int T__66=66;
+ public static final int T__92=92;
+ public static final int T__88=88;
+ public static final int T__22=22;
+ public static final int RULE_ESCAPED_ID=5;
+ public static final int T__90=90;
+ public static final int T__63=63;
+ public static final int RULE_WS=15;
+ public static final int T__91=91;
+ public static final int T__43=43;
+ public static final int T__40=40;
+ public static final int T__85=85;
+ public static final int T__26=26;
+ public static final int T__25=25;
+ public static final int RULE_SL_COMMENT=14;
+ public static final int T__60=60;
+ public static final int T__41=41;
+ public static final int T__93=93;
+ public static final int T__86=86;
+ public static final int T__28=28;
+ public static final int T__23=23;
+ public static final int T__57=57;
+ public static final int T__94=94;
+ public static final int RULE_DIGIT_CHARACTER=10;
+ public static final int T__51=51;
+ public static final int T__80=80;
+ public static final int RULE_LETTER_CHARACTER=9;
+ public static final int T__69=69;
+ public static final int T__50=50;
+ public static final int T__19=19;
+ public static final int T__65=65;
+ public static final int T__67=67;
+ public static final int T__87=87;
+ public static final int T__74=74;
+ public static final int T__52=52;
+ public static final int T__68=68;
+ public static final int T__17=17;
+ public static final int T__62=62;
+ public static final int RULE_INT=6;
+ public static final int T__27=27;
+ public static final int T__24=24;
+ public static final int T__61=61;
+ public static final int RULE_SINGLE_QUOTED_STRING=7;
+ public static final int T__59=59;
+ public static final int T__34=34;
+ public static final int T__56=56;
+ public static final int RULE_ML_COMMENT=13;
+ public static final int T__35=35;
+ public static final int T__78=78;
+ public static final int T__36=36;
+ public static final int T__58=58;
+ public static final int RULE_SIMPLE_ID=4;
+ public static final int T__33=33;
+ public static final int T__77=77;
+ public static final int T__55=55;
+ public static final int T__45=45;
+ public static final int T__29=29;
+ public static final int T__84=84;
+ public static final int T__75=75;
+ public static final int T__31=31;
+ public static final int EOF=-1;
+ public static final int T__53=53;
+ public static final int T__32=32;
+ public static final int T__38=38;
+ public static final int T__37=37;
+ public static final int T__76=76;
+ public static final int RULE_ANY_OTHER=16;
+ public static final int T__82=82;
+ public static final int T__81=81;
+ public static final int T__83=83;
+ public static final int T__71=71;
+ public static final int T__18=18;
+
+ // delegates
+ // delegators
+
+ public InternalQVTrelationLexer() {;}
+ public InternalQVTrelationLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalQVTrelationLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g"; }
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:11:7: ( 'import' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:11:9: 'import'
+ {
+ match("import");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:12:7: ( ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:12:9: ';'
+ {
+ match(';');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:13:7: ( '.' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:13:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:14:7: ( 'transformation' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:14:9: 'transformation'
+ {
+ match("transformation");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:15:7: ( '(' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:15:9: '('
+ {
+ match('(');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:16:7: ( ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:16:9: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__22"
+
+ // $ANTLR start "T__23"
+ public final void mT__23() throws RecognitionException {
+ try {
+ int _type = T__23;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:17:7: ( ')' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:17:9: ')'
+ {
+ match(')');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__23"
+
+ // $ANTLR start "T__24"
+ public final void mT__24() throws RecognitionException {
+ try {
+ int _type = T__24;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:18:7: ( 'extends' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:18:9: 'extends'
+ {
+ match("extends");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__24"
+
+ // $ANTLR start "T__25"
+ public final void mT__25() throws RecognitionException {
+ try {
+ int _type = T__25;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:19:7: ( '{' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:19:9: '{'
+ {
+ match('{');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__25"
+
+ // $ANTLR start "T__26"
+ public final void mT__26() throws RecognitionException {
+ try {
+ int _type = T__26;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:20:7: ( '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:20:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__26"
+
+ // $ANTLR start "T__27"
+ public final void mT__27() throws RecognitionException {
+ try {
+ int _type = T__27;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:21:7: ( ':' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:21:9: ':'
+ {
+ match(':');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__27"
+
+ // $ANTLR start "T__28"
+ public final void mT__28() throws RecognitionException {
+ try {
+ int _type = T__28;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:22:7: ( 'key' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:22:9: 'key'
+ {
+ match("key");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__28"
+
+ // $ANTLR start "T__29"
+ public final void mT__29() throws RecognitionException {
+ try {
+ int _type = T__29;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:23:7: ( 'top' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:23:9: 'top'
+ {
+ match("top");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__29"
+
+ // $ANTLR start "T__30"
+ public final void mT__30() throws RecognitionException {
+ try {
+ int _type = T__30;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:24:7: ( 'relation' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:24:9: 'relation'
+ {
+ match("relation");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__30"
+
+ // $ANTLR start "T__31"
+ public final void mT__31() throws RecognitionException {
+ try {
+ int _type = T__31;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:25:7: ( 'overrides' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:25:9: 'overrides'
+ {
+ match("overrides");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__31"
+
+ // $ANTLR start "T__32"
+ public final void mT__32() throws RecognitionException {
+ try {
+ int _type = T__32;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:26:7: ( 'when' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:26:9: 'when'
+ {
+ match("when");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__32"
+
+ // $ANTLR start "T__33"
+ public final void mT__33() throws RecognitionException {
+ try {
+ int _type = T__33;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:27:7: ( 'where' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:27:9: 'where'
+ {
+ match("where");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__33"
+
+ // $ANTLR start "T__34"
+ public final void mT__34() throws RecognitionException {
+ try {
+ int _type = T__34;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:28:7: ( 'checkonly' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:28:9: 'checkonly'
+ {
+ match("checkonly");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__34"
+
+ // $ANTLR start "T__35"
+ public final void mT__35() throws RecognitionException {
+ try {
+ int _type = T__35;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:29:7: ( 'enforce' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:29:9: 'enforce'
+ {
+ match("enforce");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__35"
+
+ // $ANTLR start "T__36"
+ public final void mT__36() throws RecognitionException {
+ try {
+ int _type = T__36;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:30:7: ( 'domain' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:30:9: 'domain'
+ {
+ match("domain");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__36"
+
+ // $ANTLR start "T__37"
+ public final void mT__37() throws RecognitionException {
+ try {
+ int _type = T__37;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:31:7: ( 'implementedby' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:31:9: 'implementedby'
+ {
+ match("implementedby");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__37"
+
+ // $ANTLR start "T__38"
+ public final void mT__38() throws RecognitionException {
+ try {
+ int _type = T__38;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:32:7: ( 'default_values' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:32:9: 'default_values'
+ {
+ match("default_values");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__38"
+
+ // $ANTLR start "T__39"
+ public final void mT__39() throws RecognitionException {
+ try {
+ int _type = T__39;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:33:7: ( 'primitive' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:33:9: 'primitive'
+ {
+ match("primitive");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__39"
+
+ // $ANTLR start "T__40"
+ public final void mT__40() throws RecognitionException {
+ try {
+ int _type = T__40;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:34:7: ( '=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:34:9: '='
+ {
+ match('=');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__40"
+
+ // $ANTLR start "T__41"
+ public final void mT__41() throws RecognitionException {
+ try {
+ int _type = T__41;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:35:7: ( '++' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:35:9: '++'
+ {
+ match("++");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__41"
+
+ // $ANTLR start "T__42"
+ public final void mT__42() throws RecognitionException {
+ try {
+ int _type = T__42;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:36:7: ( '_' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:36:9: '_'
+ {
+ match('_');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__42"
+
+ // $ANTLR start "T__43"
+ public final void mT__43() throws RecognitionException {
+ try {
+ int _type = T__43;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:37:7: ( 'query' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:37:9: 'query'
+ {
+ match("query");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__43"
+
+ // $ANTLR start "T__44"
+ public final void mT__44() throws RecognitionException {
+ try {
+ int _type = T__44;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:38:7: ( 'replace' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:38:9: 'replace'
+ {
+ match("replace");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__44"
+
+ // $ANTLR start "T__45"
+ public final void mT__45() throws RecognitionException {
+ try {
+ int _type = T__45;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:39:7: ( '*' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:39:9: '*'
+ {
+ match('*');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__45"
+
+ // $ANTLR start "T__46"
+ public final void mT__46() throws RecognitionException {
+ try {
+ int _type = T__46;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:40:7: ( 'e' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:40:9: 'e'
+ {
+ match('e');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__46"
+
+ // $ANTLR start "T__47"
+ public final void mT__47() throws RecognitionException {
+ try {
+ int _type = T__47;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:41:7: ( 'E' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:41:9: 'E'
+ {
+ match('E');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__47"
+
+ // $ANTLR start "T__48"
+ public final void mT__48() throws RecognitionException {
+ try {
+ int _type = T__48;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:42:7: ( '+' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:42:9: '+'
+ {
+ match('+');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__48"
+
+ // $ANTLR start "T__49"
+ public final void mT__49() throws RecognitionException {
+ try {
+ int _type = T__49;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:43:7: ( '-' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:43:9: '-'
+ {
+ match('-');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__49"
+
+ // $ANTLR start "T__50"
+ public final void mT__50() throws RecognitionException {
+ try {
+ int _type = T__50;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:44:7: ( 'not' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:44:9: 'not'
+ {
+ match("not");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__50"
+
+ // $ANTLR start "T__51"
+ public final void mT__51() throws RecognitionException {
+ try {
+ int _type = T__51;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:45:7: ( '/' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:45:9: '/'
+ {
+ match('/');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__51"
+
+ // $ANTLR start "T__52"
+ public final void mT__52() throws RecognitionException {
+ try {
+ int _type = T__52;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:46:7: ( '>' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:46:9: '>'
+ {
+ match('>');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__52"
+
+ // $ANTLR start "T__53"
+ public final void mT__53() throws RecognitionException {
+ try {
+ int _type = T__53;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:47:7: ( '<' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:47:9: '<'
+ {
+ match('<');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__53"
+
+ // $ANTLR start "T__54"
+ public final void mT__54() throws RecognitionException {
+ try {
+ int _type = T__54;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:48:7: ( '>=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:48:9: '>='
+ {
+ match(">=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__54"
+
+ // $ANTLR start "T__55"
+ public final void mT__55() throws RecognitionException {
+ try {
+ int _type = T__55;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:49:7: ( '<=' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:49:9: '<='
+ {
+ match("<=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__55"
+
+ // $ANTLR start "T__56"
+ public final void mT__56() throws RecognitionException {
+ try {
+ int _type = T__56;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:50:7: ( '<>' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:50:9: '<>'
+ {
+ match("<>");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__56"
+
+ // $ANTLR start "T__57"
+ public final void mT__57() throws RecognitionException {
+ try {
+ int _type = T__57;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:51:7: ( 'and' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:51:9: 'and'
+ {
+ match("and");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__57"
+
+ // $ANTLR start "T__58"
+ public final void mT__58() throws RecognitionException {
+ try {
+ int _type = T__58;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:52:7: ( 'or' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:52:9: 'or'
+ {
+ match("or");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__58"
+
+ // $ANTLR start "T__59"
+ public final void mT__59() throws RecognitionException {
+ try {
+ int _type = T__59;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:53:7: ( 'xor' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:53:9: 'xor'
+ {
+ match("xor");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__59"
+
+ // $ANTLR start "T__60"
+ public final void mT__60() throws RecognitionException {
+ try {
+ int _type = T__60;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:54:7: ( 'implies' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:54:9: 'implies'
+ {
+ match("implies");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__60"
+
+ // $ANTLR start "T__61"
+ public final void mT__61() throws RecognitionException {
+ try {
+ int _type = T__61;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:55:7: ( '->' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:55:9: '->'
+ {
+ match("->");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__61"
+
+ // $ANTLR start "T__62"
+ public final void mT__62() throws RecognitionException {
+ try {
+ int _type = T__62;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:56:7: ( 'Tuple' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:56:9: 'Tuple'
+ {
+ match("Tuple");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__62"
+
+ // $ANTLR start "T__63"
+ public final void mT__63() throws RecognitionException {
+ try {
+ int _type = T__63;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:57:7: ( '::' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:57:9: '::'
+ {
+ match("::");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__63"
+
+ // $ANTLR start "T__64"
+ public final void mT__64() throws RecognitionException {
+ try {
+ int _type = T__64;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:58:7: ( 'Boolean' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:58:9: 'Boolean'
+ {
+ match("Boolean");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__64"
+
+ // $ANTLR start "T__65"
+ public final void mT__65() throws RecognitionException {
+ try {
+ int _type = T__65;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:59:7: ( 'Integer' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:59:9: 'Integer'
+ {
+ match("Integer");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__65"
+
+ // $ANTLR start "T__66"
+ public final void mT__66() throws RecognitionException {
+ try {
+ int _type = T__66;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:60:7: ( 'Real' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:60:9: 'Real'
+ {
+ match("Real");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__66"
+
+ // $ANTLR start "T__67"
+ public final void mT__67() throws RecognitionException {
+ try {
+ int _type = T__67;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:61:7: ( 'String' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:61:9: 'String'
+ {
+ match("String");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__67"
+
+ // $ANTLR start "T__68"
+ public final void mT__68() throws RecognitionException {
+ try {
+ int _type = T__68;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:62:7: ( 'UnlimitedNatural' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:62:9: 'UnlimitedNatural'
+ {
+ match("UnlimitedNatural");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__68"
+
+ // $ANTLR start "T__69"
+ public final void mT__69() throws RecognitionException {
+ try {
+ int _type = T__69;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:63:7: ( 'OclAny' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:63:9: 'OclAny'
+ {
+ match("OclAny");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__69"
+
+ // $ANTLR start "T__70"
+ public final void mT__70() throws RecognitionException {
+ try {
+ int _type = T__70;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:64:7: ( 'OclInvalid' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:64:9: 'OclInvalid'
+ {
+ match("OclInvalid");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__70"
+
+ // $ANTLR start "T__71"
+ public final void mT__71() throws RecognitionException {
+ try {
+ int _type = T__71;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:65:7: ( 'OclVoid' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:65:9: 'OclVoid'
+ {
+ match("OclVoid");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__71"
+
+ // $ANTLR start "T__72"
+ public final void mT__72() throws RecognitionException {
+ try {
+ int _type = T__72;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:66:7: ( 'Set' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:66:9: 'Set'
+ {
+ match("Set");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__72"
+
+ // $ANTLR start "T__73"
+ public final void mT__73() throws RecognitionException {
+ try {
+ int _type = T__73;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:67:7: ( 'Bag' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:67:9: 'Bag'
+ {
+ match("Bag");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__73"
+
+ // $ANTLR start "T__74"
+ public final void mT__74() throws RecognitionException {
+ try {
+ int _type = T__74;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:68:7: ( 'Sequence' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:68:9: 'Sequence'
+ {
+ match("Sequence");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__74"
+
+ // $ANTLR start "T__75"
+ public final void mT__75() throws RecognitionException {
+ try {
+ int _type = T__75;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:69:7: ( 'Collection' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:69:9: 'Collection'
+ {
+ match("Collection");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__75"
+
+ // $ANTLR start "T__76"
+ public final void mT__76() throws RecognitionException {
+ try {
+ int _type = T__76;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:70:7: ( 'OrderedSet' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:70:9: 'OrderedSet'
+ {
+ match("OrderedSet");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__76"
+
+ // $ANTLR start "T__77"
+ public final void mT__77() throws RecognitionException {
+ try {
+ int _type = T__77;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:71:7: ( '..' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:71:9: '..'
+ {
+ match("..");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__77"
+
+ // $ANTLR start "T__78"
+ public final void mT__78() throws RecognitionException {
+ try {
+ int _type = T__78;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:72:7: ( '[' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:72:9: '['
+ {
+ match('[');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__78"
+
+ // $ANTLR start "T__79"
+ public final void mT__79() throws RecognitionException {
+ try {
+ int _type = T__79;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:73:7: ( ']' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:73:9: ']'
+ {
+ match(']');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__79"
+
+ // $ANTLR start "T__80"
+ public final void mT__80() throws RecognitionException {
+ try {
+ int _type = T__80;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:74:7: ( '?' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:74:9: '?'
+ {
+ match('?');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__80"
+
+ // $ANTLR start "T__81"
+ public final void mT__81() throws RecognitionException {
+ try {
+ int _type = T__81;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:75:7: ( 'true' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:75:9: 'true'
+ {
+ match("true");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__81"
+
+ // $ANTLR start "T__82"
+ public final void mT__82() throws RecognitionException {
+ try {
+ int _type = T__82;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:76:7: ( 'false' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:76:9: 'false'
+ {
+ match("false");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__82"
+
+ // $ANTLR start "T__83"
+ public final void mT__83() throws RecognitionException {
+ try {
+ int _type = T__83;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:77:7: ( 'invalid' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:77:9: 'invalid'
+ {
+ match("invalid");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__83"
+
+ // $ANTLR start "T__84"
+ public final void mT__84() throws RecognitionException {
+ try {
+ int _type = T__84;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:78:7: ( 'null' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:78:9: 'null'
+ {
+ match("null");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__84"
+
+ // $ANTLR start "T__85"
+ public final void mT__85() throws RecognitionException {
+ try {
+ int _type = T__85;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:79:7: ( '@' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:79:9: '@'
+ {
+ match('@');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__85"
+
+ // $ANTLR start "T__86"
+ public final void mT__86() throws RecognitionException {
+ try {
+ int _type = T__86;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:80:7: ( 'pre' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:80:9: 'pre'
+ {
+ match("pre");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__86"
+
+ // $ANTLR start "T__87"
+ public final void mT__87() throws RecognitionException {
+ try {
+ int _type = T__87;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:81:7: ( '|' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:81:9: '|'
+ {
+ match('|');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__87"
+
+ // $ANTLR start "T__88"
+ public final void mT__88() throws RecognitionException {
+ try {
+ int _type = T__88;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:82:7: ( 'if' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:82:9: 'if'
+ {
+ match("if");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__88"
+
+ // $ANTLR start "T__89"
+ public final void mT__89() throws RecognitionException {
+ try {
+ int _type = T__89;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:83:7: ( 'then' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:83:9: 'then'
+ {
+ match("then");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__89"
+
+ // $ANTLR start "T__90"
+ public final void mT__90() throws RecognitionException {
+ try {
+ int _type = T__90;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:84:7: ( 'else' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:84:9: 'else'
+ {
+ match("else");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__90"
+
+ // $ANTLR start "T__91"
+ public final void mT__91() throws RecognitionException {
+ try {
+ int _type = T__91;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:85:7: ( 'endif' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:85:9: 'endif'
+ {
+ match("endif");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__91"
+
+ // $ANTLR start "T__92"
+ public final void mT__92() throws RecognitionException {
+ try {
+ int _type = T__92;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:86:7: ( 'let' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:86:9: 'let'
+ {
+ match("let");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__92"
+
+ // $ANTLR start "T__93"
+ public final void mT__93() throws RecognitionException {
+ try {
+ int _type = T__93;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:87:7: ( 'in' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:87:9: 'in'
+ {
+ match("in");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__93"
+
+ // $ANTLR start "T__94"
+ public final void mT__94() throws RecognitionException {
+ try {
+ int _type = T__94;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:88:7: ( 'self' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:88:9: 'self'
+ {
+ match("self");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__94"
+
+ // $ANTLR start "RULE_ESCAPED_CHARACTER"
+ public final void mRULE_ESCAPED_CHARACTER() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6334:33: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6334:35: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+ {
+ match('\\');
+ if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ESCAPED_CHARACTER"
+
+ // $ANTLR start "RULE_LETTER_CHARACTER"
+ public final void mRULE_LETTER_CHARACTER() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6336:32: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6336:34: ( 'a' .. 'z' | 'A' .. 'Z' | '_' )
+ {
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_LETTER_CHARACTER"
+
+ // $ANTLR start "RULE_DIGIT_CHARACTER"
+ public final void mRULE_DIGIT_CHARACTER() throws RecognitionException {
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6338:31: ( '0' .. '9' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6338:33: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_DIGIT_CHARACTER"
+
+ // $ANTLR start "RULE_DOUBLE_QUOTED_STRING"
+ public final void mRULE_DOUBLE_QUOTED_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_DOUBLE_QUOTED_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6340:27: ( '\"' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6340:29: '\"' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6340:33: ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop1:
+ do {
+ int alt1=3;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='\\') ) {
+ alt1=1;
+ }
+ else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) {
+ alt1=2;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6340:34: RULE_ESCAPED_CHARACTER
+ {
+ mRULE_ESCAPED_CHARACTER();
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6340:57: ~ ( ( '\\\\' | '\"' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_DOUBLE_QUOTED_STRING"
+
+ // $ANTLR start "RULE_SINGLE_QUOTED_STRING"
+ public final void mRULE_SINGLE_QUOTED_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_SINGLE_QUOTED_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6342:27: ( '\\'' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6342:29: '\\'' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ {
+ match('\'');
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6342:34: ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop2:
+ do {
+ int alt2=3;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0=='\\') ) {
+ alt2=1;
+ }
+ else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) {
+ alt2=2;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6342:35: RULE_ESCAPED_CHARACTER
+ {
+ mRULE_ESCAPED_CHARACTER();
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6342:58: ~ ( ( '\\\\' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+ match('\'');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SINGLE_QUOTED_STRING"
+
+ // $ANTLR start "RULE_ML_SINGLE_QUOTED_STRING"
+ public final void mRULE_ML_SINGLE_QUOTED_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_ML_SINGLE_QUOTED_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6344:30: ( '/\\'' ( options {greedy=false; } : . )* '\\'/' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6344:32: '/\\'' ( options {greedy=false; } : . )* '\\'/'
+ {
+ match("/'");
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6344:38: ( options {greedy=false; } : . )*
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0=='\'') ) {
+ int LA3_1 = input.LA(2);
+
+ if ( (LA3_1=='/') ) {
+ alt3=2;
+ }
+ else if ( ((LA3_1>='\u0000' && LA3_1<='.')||(LA3_1>='0' && LA3_1<='\uFFFF')) ) {
+ alt3=1;
+ }
+
+
+ }
+ else if ( ((LA3_0>='\u0000' && LA3_0<='&')||(LA3_0>='(' && LA3_0<='\uFFFF')) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6344:66: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop3;
+ }
+ } while (true);
+
+ match("'/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_SINGLE_QUOTED_STRING"
+
+ // $ANTLR start "RULE_SIMPLE_ID"
+ public final void mRULE_SIMPLE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_SIMPLE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6346:16: ( RULE_LETTER_CHARACTER ( RULE_LETTER_CHARACTER | RULE_DIGIT_CHARACTER )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6346:18: RULE_LETTER_CHARACTER ( RULE_LETTER_CHARACTER | RULE_DIGIT_CHARACTER )*
+ {
+ mRULE_LETTER_CHARACTER();
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6346:40: ( RULE_LETTER_CHARACTER | RULE_DIGIT_CHARACTER )*
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SIMPLE_ID"
+
+ // $ANTLR start "RULE_ESCAPED_ID"
+ public final void mRULE_ESCAPED_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ESCAPED_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6348:17: ( '_' RULE_SINGLE_QUOTED_STRING )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6348:19: '_' RULE_SINGLE_QUOTED_STRING
+ {
+ match('_');
+ mRULE_SINGLE_QUOTED_STRING();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ESCAPED_ID"
+
+ // $ANTLR start "RULE_INT"
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6350:10: ( ( RULE_DIGIT_CHARACTER )+ )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6350:12: ( RULE_DIGIT_CHARACTER )+
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6350:12: ( RULE_DIGIT_CHARACTER )+
+ int cnt5=0;
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6350:12: RULE_DIGIT_CHARACTER
+ {
+ mRULE_DIGIT_CHARACTER();
+
+ }
+ break;
+
+ default :
+ if ( cnt5 >= 1 ) break loop5;
+ EarlyExitException eee =
+ new EarlyExitException(5, input);
+ throw eee;
+ }
+ cnt5++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INT"
+
+ // $ANTLR start "RULE_ML_COMMENT"
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6352:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6352:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6352:24: ( options {greedy=false; } : . )*
+ loop6:
+ do {
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='*') ) {
+ int LA6_1 = input.LA(2);
+
+ if ( (LA6_1=='/') ) {
+ alt6=2;
+ }
+ else if ( ((LA6_1>='\u0000' && LA6_1<='.')||(LA6_1>='0' && LA6_1<='\uFFFF')) ) {
+ alt6=1;
+ }
+
+
+ }
+ else if ( ((LA6_0>='\u0000' && LA6_0<=')')||(LA6_0>='+' && LA6_0<='\uFFFF')) ) {
+ alt6=1;
+ }
+
+
+ switch (alt6) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6352:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop6;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6354:17: ( '--' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6354:19: '--' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("--");
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6354:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( ((LA7_0>='\u0000' && LA7_0<='\t')||(LA7_0>='\u000B' && LA7_0<='\f')||(LA7_0>='\u000E' && LA7_0<='\uFFFF')) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6354:24: ~ ( ( '\\n' | '\\r' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6354:40: ( ( '\\r' )? '\\n' )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='\n'||LA9_0=='\r') ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6354:41: ( '\\r' )? '\\n'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6354:41: ( '\\r' )?
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0=='\r') ) {
+ alt8=1;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6354:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6356:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6356:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6356:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt10=0;
+ loop10:
+ do {
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {
+ alt10=1;
+ }
+
+
+ switch (alt10) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:
+ {
+ if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt10 >= 1 ) break loop10;
+ EarlyExitException eee =
+ new EarlyExitException(10, input);
+ throw eee;
+ }
+ cnt10++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6358:16: ( . )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6358:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:8: ( T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | RULE_DOUBLE_QUOTED_STRING | RULE_SINGLE_QUOTED_STRING | RULE_ML_SINGLE_QUOTED_STRING | RULE_SIMPLE_ID | RULE_ESCAPED_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt11=88;
+ alt11 = dfa11.predict(input);
+ switch (alt11) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:10: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:16: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:22: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:28: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 5 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:34: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 6 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:40: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 7 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:46: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 8 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:52: T__24
+ {
+ mT__24();
+
+ }
+ break;
+ case 9 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:58: T__25
+ {
+ mT__25();
+
+ }
+ break;
+ case 10 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:64: T__26
+ {
+ mT__26();
+
+ }
+ break;
+ case 11 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:70: T__27
+ {
+ mT__27();
+
+ }
+ break;
+ case 12 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:76: T__28
+ {
+ mT__28();
+
+ }
+ break;
+ case 13 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:82: T__29
+ {
+ mT__29();
+
+ }
+ break;
+ case 14 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:88: T__30
+ {
+ mT__30();
+
+ }
+ break;
+ case 15 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:94: T__31
+ {
+ mT__31();
+
+ }
+ break;
+ case 16 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:100: T__32
+ {
+ mT__32();
+
+ }
+ break;
+ case 17 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:106: T__33
+ {
+ mT__33();
+
+ }
+ break;
+ case 18 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:112: T__34
+ {
+ mT__34();
+
+ }
+ break;
+ case 19 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:118: T__35
+ {
+ mT__35();
+
+ }
+ break;
+ case 20 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:124: T__36
+ {
+ mT__36();
+
+ }
+ break;
+ case 21 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:130: T__37
+ {
+ mT__37();
+
+ }
+ break;
+ case 22 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:136: T__38
+ {
+ mT__38();
+
+ }
+ break;
+ case 23 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:142: T__39
+ {
+ mT__39();
+
+ }
+ break;
+ case 24 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:148: T__40
+ {
+ mT__40();
+
+ }
+ break;
+ case 25 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:154: T__41
+ {
+ mT__41();
+
+ }
+ break;
+ case 26 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:160: T__42
+ {
+ mT__42();
+
+ }
+ break;
+ case 27 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:166: T__43
+ {
+ mT__43();
+
+ }
+ break;
+ case 28 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:172: T__44
+ {
+ mT__44();
+
+ }
+ break;
+ case 29 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:178: T__45
+ {
+ mT__45();
+
+ }
+ break;
+ case 30 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:184: T__46
+ {
+ mT__46();
+
+ }
+ break;
+ case 31 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:190: T__47
+ {
+ mT__47();
+
+ }
+ break;
+ case 32 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:196: T__48
+ {
+ mT__48();
+
+ }
+ break;
+ case 33 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:202: T__49
+ {
+ mT__49();
+
+ }
+ break;
+ case 34 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:208: T__50
+ {
+ mT__50();
+
+ }
+ break;
+ case 35 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:214: T__51
+ {
+ mT__51();
+
+ }
+ break;
+ case 36 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:220: T__52
+ {
+ mT__52();
+
+ }
+ break;
+ case 37 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:226: T__53
+ {
+ mT__53();
+
+ }
+ break;
+ case 38 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:232: T__54
+ {
+ mT__54();
+
+ }
+ break;
+ case 39 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:238: T__55
+ {
+ mT__55();
+
+ }
+ break;
+ case 40 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:244: T__56
+ {
+ mT__56();
+
+ }
+ break;
+ case 41 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:250: T__57
+ {
+ mT__57();
+
+ }
+ break;
+ case 42 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:256: T__58
+ {
+ mT__58();
+
+ }
+ break;
+ case 43 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:262: T__59
+ {
+ mT__59();
+
+ }
+ break;
+ case 44 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:268: T__60
+ {
+ mT__60();
+
+ }
+ break;
+ case 45 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:274: T__61
+ {
+ mT__61();
+
+ }
+ break;
+ case 46 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:280: T__62
+ {
+ mT__62();
+
+ }
+ break;
+ case 47 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:286: T__63
+ {
+ mT__63();
+
+ }
+ break;
+ case 48 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:292: T__64
+ {
+ mT__64();
+
+ }
+ break;
+ case 49 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:298: T__65
+ {
+ mT__65();
+
+ }
+ break;
+ case 50 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:304: T__66
+ {
+ mT__66();
+
+ }
+ break;
+ case 51 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:310: T__67
+ {
+ mT__67();
+
+ }
+ break;
+ case 52 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:316: T__68
+ {
+ mT__68();
+
+ }
+ break;
+ case 53 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:322: T__69
+ {
+ mT__69();
+
+ }
+ break;
+ case 54 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:328: T__70
+ {
+ mT__70();
+
+ }
+ break;
+ case 55 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:334: T__71
+ {
+ mT__71();
+
+ }
+ break;
+ case 56 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:340: T__72
+ {
+ mT__72();
+
+ }
+ break;
+ case 57 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:346: T__73
+ {
+ mT__73();
+
+ }
+ break;
+ case 58 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:352: T__74
+ {
+ mT__74();
+
+ }
+ break;
+ case 59 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:358: T__75
+ {
+ mT__75();
+
+ }
+ break;
+ case 60 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:364: T__76
+ {
+ mT__76();
+
+ }
+ break;
+ case 61 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:370: T__77
+ {
+ mT__77();
+
+ }
+ break;
+ case 62 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:376: T__78
+ {
+ mT__78();
+
+ }
+ break;
+ case 63 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:382: T__79
+ {
+ mT__79();
+
+ }
+ break;
+ case 64 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:388: T__80
+ {
+ mT__80();
+
+ }
+ break;
+ case 65 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:394: T__81
+ {
+ mT__81();
+
+ }
+ break;
+ case 66 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:400: T__82
+ {
+ mT__82();
+
+ }
+ break;
+ case 67 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:406: T__83
+ {
+ mT__83();
+
+ }
+ break;
+ case 68 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:412: T__84
+ {
+ mT__84();
+
+ }
+ break;
+ case 69 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:418: T__85
+ {
+ mT__85();
+
+ }
+ break;
+ case 70 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:424: T__86
+ {
+ mT__86();
+
+ }
+ break;
+ case 71 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:430: T__87
+ {
+ mT__87();
+
+ }
+ break;
+ case 72 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:436: T__88
+ {
+ mT__88();
+
+ }
+ break;
+ case 73 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:442: T__89
+ {
+ mT__89();
+
+ }
+ break;
+ case 74 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:448: T__90
+ {
+ mT__90();
+
+ }
+ break;
+ case 75 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:454: T__91
+ {
+ mT__91();
+
+ }
+ break;
+ case 76 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:460: T__92
+ {
+ mT__92();
+
+ }
+ break;
+ case 77 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:466: T__93
+ {
+ mT__93();
+
+ }
+ break;
+ case 78 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:472: T__94
+ {
+ mT__94();
+
+ }
+ break;
+ case 79 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:478: RULE_DOUBLE_QUOTED_STRING
+ {
+ mRULE_DOUBLE_QUOTED_STRING();
+
+ }
+ break;
+ case 80 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:504: RULE_SINGLE_QUOTED_STRING
+ {
+ mRULE_SINGLE_QUOTED_STRING();
+
+ }
+ break;
+ case 81 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:530: RULE_ML_SINGLE_QUOTED_STRING
+ {
+ mRULE_ML_SINGLE_QUOTED_STRING();
+
+ }
+ break;
+ case 82 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:559: RULE_SIMPLE_ID
+ {
+ mRULE_SIMPLE_ID();
+
+ }
+ break;
+ case 83 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:574: RULE_ESCAPED_ID
+ {
+ mRULE_ESCAPED_ID();
+
+ }
+ break;
+ case 84 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:590: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 85 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:599: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 86 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:615: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 87 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:631: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 88 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1:639: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA11 dfa11 = new DFA11(this);
+ static final String DFA11_eotS =
+ "\1\uffff\1\71\1\uffff\1\74\1\71\3\uffff\1\106\2\uffff\1\112\7\71"+
+ "\1\uffff\1\126\1\127\1\71\1\uffff\1\133\1\136\1\71\1\143\1\145\1"+
+ "\150\12\71\3\uffff\1\71\2\uffff\2\71\2\65\4\uffff\1\71\1\u0084\1"+
+ "\u0085\4\uffff\3\71\3\uffff\3\71\5\uffff\3\71\1\u0092\5\71\5\uffff"+
+ "\1\71\5\uffff\2\71\10\uffff\15\71\3\uffff\1\71\2\uffff\2\71\4\uffff"+
+ "\2\71\2\uffff\2\71\1\u00b2\5\71\1\u00b8\3\71\1\uffff\5\71\1\u00c2"+
+ "\1\71\1\u00c4\1\71\1\u00c6\1\u00c7\2\71\1\u00ca\3\71\1\u00ce\6\71"+
+ "\1\u00d7\5\71\1\u00de\1\uffff\1\u00df\3\71\1\u00e3\1\uffff\3\71"+
+ "\1\u00e7\5\71\1\uffff\1\71\1\uffff\1\u00ee\2\uffff\2\71\1\uffff"+
+ "\1\71\1\u00f2\1\71\1\uffff\10\71\1\uffff\1\u00fc\5\71\2\uffff\2"+
+ "\71\1\u0104\1\uffff\3\71\1\uffff\1\u0108\4\71\1\u010d\1\uffff\1"+
+ "\u010e\2\71\1\uffff\10\71\1\u0119\1\uffff\1\u011a\6\71\1\uffff\3"+
+ "\71\1\uffff\1\71\1\u0125\2\71\2\uffff\2\71\1\u012a\2\71\1\u012d"+
+ "\4\71\2\uffff\1\71\1\u0133\1\u0134\1\71\1\u0136\1\u0137\1\71\1\u0139"+
+ "\2\71\1\uffff\2\71\1\u013e\1\u013f\1\uffff\2\71\1\uffff\1\71\1\u0143"+
+ "\3\71\2\uffff\1\71\2\uffff\1\u0148\1\uffff\4\71\2\uffff\1\u014d"+
+ "\2\71\1\uffff\4\71\1\uffff\1\u0154\1\u0155\1\71\1\u0157\1\uffff"+
+ "\6\71\2\uffff\1\71\1\uffff\1\71\1\u0160\1\u0161\1\u0162\4\71\3\uffff"+
+ "\4\71\1\u016b\3\71\1\uffff\1\u016f\1\u0170\1\71\2\uffff\1\71\1\u0173"+
+ "\1\uffff";
+ static final String DFA11_eofS =
+ "\u0174\uffff";
+ static final String DFA11_minS =
+ "\1\0\1\146\1\uffff\1\56\1\150\3\uffff\1\60\2\uffff\1\72\2\145\1"+
+ "\162\2\150\1\145\1\162\1\uffff\1\53\1\47\1\165\1\uffff\1\60\1\55"+
+ "\1\157\1\47\2\75\1\156\1\157\1\165\1\141\1\156\2\145\1\156\1\143"+
+ "\1\157\3\uffff\1\141\2\uffff\2\145\2\0\4\uffff\1\160\2\60\4\uffff"+
+ "\1\141\1\160\1\145\3\uffff\1\164\1\144\1\163\5\uffff\1\171\1\154"+
+ "\1\145\1\60\2\145\1\155\1\146\1\145\5\uffff\1\145\5\uffff\1\164"+
+ "\1\154\10\uffff\1\144\1\162\1\160\1\157\1\147\1\164\1\141\1\162"+
+ "\1\161\2\154\1\144\1\154\3\uffff\1\154\2\uffff\1\164\1\154\4\uffff"+
+ "\1\154\1\141\2\uffff\1\156\1\145\1\60\1\156\1\145\1\157\1\151\1"+
+ "\145\1\60\1\141\1\154\1\162\1\uffff\1\156\1\143\2\141\1\155\1\60"+
+ "\1\162\1\60\1\154\2\60\2\154\1\60\1\145\1\154\1\151\1\60\1\165\1"+
+ "\151\1\101\1\145\1\154\1\163\1\60\1\146\1\162\1\145\1\154\1\163"+
+ "\1\60\1\uffff\1\60\1\156\1\162\1\146\1\60\1\uffff\1\164\1\141\1"+
+ "\162\1\60\1\145\1\153\1\151\1\165\1\151\1\uffff\1\171\1\uffff\1"+
+ "\60\2\uffff\2\145\1\uffff\1\147\1\60\1\156\1\uffff\1\145\1\155\2"+
+ "\156\1\157\1\162\2\145\1\uffff\1\60\1\164\1\155\1\145\1\151\1\146"+
+ "\2\uffff\1\144\1\143\1\60\1\uffff\1\151\1\143\1\151\1\uffff\1\60"+
+ "\1\157\1\156\1\154\1\164\1\60\1\uffff\1\60\1\141\1\145\1\uffff\1"+
+ "\147\1\156\1\151\1\171\1\166\1\151\1\145\1\143\1\60\1\uffff\1\60"+
+ "\1\145\1\163\1\144\1\157\1\163\1\145\1\uffff\1\157\1\145\1\144\1"+
+ "\uffff\1\156\1\60\1\164\1\151\2\uffff\1\156\1\162\1\60\1\143\1\164"+
+ "\1\60\1\141\2\144\1\164\2\uffff\1\156\2\60\1\162\2\60\1\156\1\60"+
+ "\1\145\1\154\1\uffff\1\137\1\166\2\60\1\uffff\2\145\1\uffff\1\154"+
+ "\1\60\1\123\1\151\1\164\2\uffff\1\155\2\uffff\1\60\1\uffff\1\163"+
+ "\1\171\1\166\1\145\2\uffff\1\60\1\144\1\151\1\uffff\1\145\1\157"+
+ "\1\145\1\141\1\uffff\2\60\1\141\1\60\1\uffff\1\116\1\144\1\164\1"+
+ "\156\1\144\1\164\2\uffff\1\154\1\uffff\1\141\3\60\1\142\1\151\1"+
+ "\165\1\164\3\uffff\1\171\1\157\1\145\1\165\1\60\1\156\1\163\1\162"+
+ "\1\uffff\2\60\1\141\2\uffff\1\154\1\60\1\uffff";
+ static final String DFA11_maxS =
+ "\1\uffff\1\156\1\uffff\1\56\1\162\3\uffff\1\172\2\uffff\1\72\2"+
+ "\145\1\166\2\150\1\157\1\162\1\uffff\1\53\1\172\1\165\1\uffff\1"+
+ "\172\1\76\1\165\1\52\1\75\1\76\1\156\1\157\1\165\1\157\1\156\1\145"+
+ "\1\164\1\156\1\162\1\157\3\uffff\1\141\2\uffff\2\145\2\uffff\4\uffff"+
+ "\1\160\2\172\4\uffff\1\165\1\160\1\145\3\uffff\1\164\1\146\1\163"+
+ "\5\uffff\1\171\1\160\1\145\1\172\2\145\1\155\1\146\1\151\5\uffff"+
+ "\1\145\5\uffff\1\164\1\154\10\uffff\1\144\1\162\1\160\1\157\1\147"+
+ "\1\164\1\141\1\162\1\164\2\154\1\144\1\154\3\uffff\1\154\2\uffff"+
+ "\1\164\1\154\4\uffff\1\157\1\141\2\uffff\1\156\1\145\1\172\1\156"+
+ "\1\145\1\157\1\151\1\145\1\172\1\141\1\154\1\162\1\uffff\1\162\1"+
+ "\143\2\141\1\155\1\172\1\162\1\172\1\154\2\172\2\154\1\172\1\145"+
+ "\1\154\1\151\1\172\1\165\1\151\1\126\1\145\1\154\1\163\1\172\1\146"+
+ "\1\162\1\151\1\154\1\163\1\172\1\uffff\1\172\1\156\1\162\1\146\1"+
+ "\172\1\uffff\1\164\1\141\1\162\1\172\1\145\1\153\1\151\1\165\1\151"+
+ "\1\uffff\1\171\1\uffff\1\172\2\uffff\2\145\1\uffff\1\147\1\172\1"+
+ "\156\1\uffff\1\145\1\155\2\156\1\157\1\162\2\145\1\uffff\1\172\1"+
+ "\164\1\155\1\145\1\151\1\146\2\uffff\1\144\1\143\1\172\1\uffff\1"+
+ "\151\1\143\1\151\1\uffff\1\172\1\157\1\156\1\154\1\164\1\172\1\uffff"+
+ "\1\172\1\141\1\145\1\uffff\1\147\1\156\1\151\1\171\1\166\1\151\1"+
+ "\145\1\143\1\172\1\uffff\1\172\1\145\1\163\1\144\1\157\1\163\1\145"+
+ "\1\uffff\1\157\1\145\1\144\1\uffff\1\156\1\172\1\164\1\151\2\uffff"+
+ "\1\156\1\162\1\172\1\143\1\164\1\172\1\141\2\144\1\164\2\uffff\1"+
+ "\156\2\172\1\162\2\172\1\156\1\172\1\145\1\154\1\uffff\1\137\1\166"+
+ "\2\172\1\uffff\2\145\1\uffff\1\154\1\172\1\123\1\151\1\164\2\uffff"+
+ "\1\155\2\uffff\1\172\1\uffff\1\163\1\171\1\166\1\145\2\uffff\1\172"+
+ "\1\144\1\151\1\uffff\1\145\1\157\1\145\1\141\1\uffff\2\172\1\141"+
+ "\1\172\1\uffff\1\116\1\144\1\164\1\156\1\144\1\164\2\uffff\1\154"+
+ "\1\uffff\1\141\3\172\1\142\1\151\1\165\1\164\3\uffff\1\171\1\157"+
+ "\1\145\1\165\1\172\1\156\1\163\1\162\1\uffff\2\172\1\141\2\uffff"+
+ "\1\154\1\172\1\uffff";
+ static final String DFA11_acceptS =
+ "\2\uffff\1\2\2\uffff\1\5\1\6\1\7\1\uffff\1\11\1\12\10\uffff\1\30"+
+ "\3\uffff\1\35\20\uffff\1\76\1\77\1\100\1\uffff\1\105\1\107\4\uffff"+
+ "\1\122\1\124\1\127\1\130\3\uffff\1\122\1\2\1\75\1\3\3\uffff\1\5"+
+ "\1\6\1\7\3\uffff\1\36\1\11\1\12\1\57\1\13\11\uffff\1\30\1\31\1\40"+
+ "\1\32\1\123\1\uffff\1\35\1\37\1\55\1\126\1\41\2\uffff\1\121\1\125"+
+ "\1\43\1\46\1\44\1\47\1\50\1\45\15\uffff\1\76\1\77\1\100\1\uffff"+
+ "\1\105\1\107\2\uffff\1\117\1\120\1\124\1\127\2\uffff\1\115\1\110"+
+ "\14\uffff\1\52\37\uffff\1\15\5\uffff\1\14\11\uffff\1\106\1\uffff"+
+ "\1\42\1\uffff\1\51\1\53\2\uffff\1\71\3\uffff\1\70\10\uffff\1\114"+
+ "\6\uffff\1\101\1\111\3\uffff\1\112\3\uffff\1\20\6\uffff\1\104\3"+
+ "\uffff\1\62\11\uffff\1\116\7\uffff\1\113\3\uffff\1\21\4\uffff\1"+
+ "\33\1\56\12\uffff\1\102\1\1\12\uffff\1\24\4\uffff\1\63\2\uffff\1"+
+ "\65\5\uffff\1\54\1\103\1\uffff\1\10\1\23\1\uffff\1\34\4\uffff\1"+
+ "\60\1\61\3\uffff\1\67\4\uffff\1\16\4\uffff\1\72\6\uffff\1\17\1\22"+
+ "\1\uffff\1\27\10\uffff\1\66\1\74\1\73\10\uffff\1\25\3\uffff\1\4"+
+ "\1\26\2\uffff\1\64";
+ static final String DFA11_specialS =
+ "\1\2\57\uffff\1\1\1\0\u0142\uffff}>";
+ static final String[] DFA11_transitionS = {
+ "\11\65\2\64\2\65\1\64\22\65\1\64\1\65\1\60\4\65\1\61\1\5\1"+
+ "\7\1\27\1\24\1\6\1\31\1\3\1\33\12\63\1\13\1\2\1\35\1\23\1\34"+
+ "\1\52\1\54\1\62\1\41\1\47\1\62\1\30\3\62\1\42\5\62\1\46\2\62"+
+ "\1\43\1\44\1\40\1\45\5\62\1\50\1\65\1\51\1\65\1\25\1\65\1\36"+
+ "\1\62\1\20\1\21\1\10\1\53\2\62\1\1\1\62\1\14\1\56\1\62\1\32"+
+ "\1\16\1\22\1\26\1\15\1\57\1\4\2\62\1\17\1\37\2\62\1\11\1\55"+
+ "\1\12\uff82\65",
+ "\1\70\6\uffff\1\66\1\67",
+ "",
+ "\1\73",
+ "\1\77\6\uffff\1\76\2\uffff\1\75",
+ "",
+ "",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\13\71\1\105\1\71"+
+ "\1\104\11\71\1\103\2\71",
+ "",
+ "",
+ "\1\111",
+ "\1\113",
+ "\1\114",
+ "\1\116\3\uffff\1\115",
+ "\1\117",
+ "\1\120",
+ "\1\122\11\uffff\1\121",
+ "\1\123",
+ "",
+ "\1\125",
+ "\1\130\10\uffff\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32"+
+ "\71",
+ "\1\131",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\135\20\uffff\1\134",
+ "\1\137\5\uffff\1\140",
+ "\1\141\2\uffff\1\142",
+ "\1\144",
+ "\1\146\1\147",
+ "\1\151",
+ "\1\152",
+ "\1\153",
+ "\1\155\15\uffff\1\154",
+ "\1\156",
+ "\1\157",
+ "\1\161\16\uffff\1\160",
+ "\1\162",
+ "\1\163\16\uffff\1\164",
+ "\1\165",
+ "",
+ "",
+ "",
+ "\1\171",
+ "",
+ "",
+ "\1\174",
+ "\1\175",
+ "\0\176",
+ "\0\177",
+ "",
+ "",
+ "",
+ "",
+ "\1\u0082",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\25\71\1\u0083\4"+
+ "\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "",
+ "",
+ "",
+ "",
+ "\1\u0086\23\uffff\1\u0087",
+ "\1\u0088",
+ "\1\u0089",
+ "",
+ "",
+ "",
+ "\1\u008a",
+ "\1\u008c\1\uffff\1\u008b",
+ "\1\u008d",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u008e",
+ "\1\u008f\3\uffff\1\u0090",
+ "\1\u0091",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u0093",
+ "\1\u0094",
+ "\1\u0095",
+ "\1\u0096",
+ "\1\u0098\3\uffff\1\u0097",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u0099",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u009a",
+ "\1\u009b",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u009c",
+ "\1\u009d",
+ "\1\u009e",
+ "\1\u009f",
+ "\1\u00a0",
+ "\1\u00a1",
+ "\1\u00a2",
+ "\1\u00a3",
+ "\1\u00a5\2\uffff\1\u00a4",
+ "\1\u00a6",
+ "\1\u00a7",
+ "\1\u00a8",
+ "\1\u00a9",
+ "",
+ "",
+ "",
+ "\1\u00aa",
+ "",
+ "",
+ "\1\u00ab",
+ "\1\u00ac",
+ "",
+ "",
+ "",
+ "",
+ "\1\u00ae\2\uffff\1\u00ad",
+ "\1\u00af",
+ "",
+ "",
+ "\1\u00b0",
+ "\1\u00b1",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u00b3",
+ "\1\u00b4",
+ "\1\u00b5",
+ "\1\u00b6",
+ "\1\u00b7",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u00b9",
+ "\1\u00ba",
+ "\1\u00bb",
+ "",
+ "\1\u00bc\3\uffff\1\u00bd",
+ "\1\u00be",
+ "\1\u00bf",
+ "\1\u00c0",
+ "\1\u00c1",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u00c3",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u00c5",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u00c8",
+ "\1\u00c9",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u00cb",
+ "\1\u00cc",
+ "\1\u00cd",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u00cf",
+ "\1\u00d0",
+ "\1\u00d1\7\uffff\1\u00d2\14\uffff\1\u00d3",
+ "\1\u00d4",
+ "\1\u00d5",
+ "\1\u00d6",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u00d8",
+ "\1\u00d9",
+ "\1\u00da\3\uffff\1\u00db",
+ "\1\u00dc",
+ "\1\u00dd",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u00e0",
+ "\1\u00e1",
+ "\1\u00e2",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "",
+ "\1\u00e4",
+ "\1\u00e5",
+ "\1\u00e6",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u00e8",
+ "\1\u00e9",
+ "\1\u00ea",
+ "\1\u00eb",
+ "\1\u00ec",
+ "",
+ "\1\u00ed",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "",
+ "",
+ "\1\u00ef",
+ "\1\u00f0",
+ "",
+ "\1\u00f1",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u00f3",
+ "",
+ "\1\u00f4",
+ "\1\u00f5",
+ "\1\u00f6",
+ "\1\u00f7",
+ "\1\u00f8",
+ "\1\u00f9",
+ "\1\u00fa",
+ "\1\u00fb",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u00fd",
+ "\1\u00fe",
+ "\1\u00ff",
+ "\1\u0100",
+ "\1\u0101",
+ "",
+ "",
+ "\1\u0102",
+ "\1\u0103",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "",
+ "\1\u0105",
+ "\1\u0106",
+ "\1\u0107",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u0109",
+ "\1\u010a",
+ "\1\u010b",
+ "\1\u010c",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u010f",
+ "\1\u0110",
+ "",
+ "\1\u0111",
+ "\1\u0112",
+ "\1\u0113",
+ "\1\u0114",
+ "\1\u0115",
+ "\1\u0116",
+ "\1\u0117",
+ "\1\u0118",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u011b",
+ "\1\u011c",
+ "\1\u011d",
+ "\1\u011e",
+ "\1\u011f",
+ "\1\u0120",
+ "",
+ "\1\u0121",
+ "\1\u0122",
+ "\1\u0123",
+ "",
+ "\1\u0124",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u0126",
+ "\1\u0127",
+ "",
+ "",
+ "\1\u0128",
+ "\1\u0129",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u012b",
+ "\1\u012c",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u012e",
+ "\1\u012f",
+ "\1\u0130",
+ "\1\u0131",
+ "",
+ "",
+ "\1\u0132",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u0135",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u0138",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u013a",
+ "\1\u013b",
+ "",
+ "\1\u013c",
+ "\1\u013d",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "",
+ "\1\u0140",
+ "\1\u0141",
+ "",
+ "\1\u0142",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u0144",
+ "\1\u0145",
+ "\1\u0146",
+ "",
+ "",
+ "\1\u0147",
+ "",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "",
+ "\1\u0149",
+ "\1\u014a",
+ "\1\u014b",
+ "\1\u014c",
+ "",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u014e",
+ "\1\u014f",
+ "",
+ "\1\u0150",
+ "\1\u0151",
+ "\1\u0152",
+ "\1\u0153",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u0156",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "",
+ "\1\u0158",
+ "\1\u0159",
+ "\1\u015a",
+ "\1\u015b",
+ "\1\u015c",
+ "\1\u015d",
+ "",
+ "",
+ "\1\u015e",
+ "",
+ "\1\u015f",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u0163",
+ "\1\u0164",
+ "\1\u0165",
+ "\1\u0166",
+ "",
+ "",
+ "",
+ "\1\u0167",
+ "\1\u0168",
+ "\1\u0169",
+ "\1\u016a",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u016c",
+ "\1\u016d",
+ "\1\u016e",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u0171",
+ "",
+ "",
+ "\1\u0172",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ ""
+ };
+
+ static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
+ static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
+ static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
+ static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
+ static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
+ static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
+ static final short[][] DFA11_transition;
+
+ static {
+ int numStates = DFA11_transitionS.length;
+ DFA11_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
+ }
+ }
+
+ static class DFA11 extends DFA {
+
+ public DFA11(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 11;
+ this.eot = DFA11_eot;
+ this.eof = DFA11_eof;
+ this.min = DFA11_min;
+ this.max = DFA11_max;
+ this.accept = DFA11_accept;
+ this.special = DFA11_special;
+ this.transition = DFA11_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | RULE_DOUBLE_QUOTED_STRING | RULE_SINGLE_QUOTED_STRING | RULE_ML_SINGLE_QUOTED_STRING | RULE_SIMPLE_ID | RULE_ESCAPED_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ IntStream input = _input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA11_49 = input.LA(1);
+
+ s = -1;
+ if ( ((LA11_49>='\u0000' && LA11_49<='\uFFFF')) ) {s = 127;}
+
+ else s = 53;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA11_48 = input.LA(1);
+
+ s = -1;
+ if ( ((LA11_48>='\u0000' && LA11_48<='\uFFFF')) ) {s = 126;}
+
+ else s = 53;
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA11_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA11_0=='i') ) {s = 1;}
+
+ else if ( (LA11_0==';') ) {s = 2;}
+
+ else if ( (LA11_0=='.') ) {s = 3;}
+
+ else if ( (LA11_0=='t') ) {s = 4;}
+
+ else if ( (LA11_0=='(') ) {s = 5;}
+
+ else if ( (LA11_0==',') ) {s = 6;}
+
+ else if ( (LA11_0==')') ) {s = 7;}
+
+ else if ( (LA11_0=='e') ) {s = 8;}
+
+ else if ( (LA11_0=='{') ) {s = 9;}
+
+ else if ( (LA11_0=='}') ) {s = 10;}
+
+ else if ( (LA11_0==':') ) {s = 11;}
+
+ else if ( (LA11_0=='k') ) {s = 12;}
+
+ else if ( (LA11_0=='r') ) {s = 13;}
+
+ else if ( (LA11_0=='o') ) {s = 14;}
+
+ else if ( (LA11_0=='w') ) {s = 15;}
+
+ else if ( (LA11_0=='c') ) {s = 16;}
+
+ else if ( (LA11_0=='d') ) {s = 17;}
+
+ else if ( (LA11_0=='p') ) {s = 18;}
+
+ else if ( (LA11_0=='=') ) {s = 19;}
+
+ else if ( (LA11_0=='+') ) {s = 20;}
+
+ else if ( (LA11_0=='_') ) {s = 21;}
+
+ else if ( (LA11_0=='q') ) {s = 22;}
+
+ else if ( (LA11_0=='*') ) {s = 23;}
+
+ else if ( (LA11_0=='E') ) {s = 24;}
+
+ else if ( (LA11_0=='-') ) {s = 25;}
+
+ else if ( (LA11_0=='n') ) {s = 26;}
+
+ else if ( (LA11_0=='/') ) {s = 27;}
+
+ else if ( (LA11_0=='>') ) {s = 28;}
+
+ else if ( (LA11_0=='<') ) {s = 29;}
+
+ else if ( (LA11_0=='a') ) {s = 30;}
+
+ else if ( (LA11_0=='x') ) {s = 31;}
+
+ else if ( (LA11_0=='T') ) {s = 32;}
+
+ else if ( (LA11_0=='B') ) {s = 33;}
+
+ else if ( (LA11_0=='I') ) {s = 34;}
+
+ else if ( (LA11_0=='R') ) {s = 35;}
+
+ else if ( (LA11_0=='S') ) {s = 36;}
+
+ else if ( (LA11_0=='U') ) {s = 37;}
+
+ else if ( (LA11_0=='O') ) {s = 38;}
+
+ else if ( (LA11_0=='C') ) {s = 39;}
+
+ else if ( (LA11_0=='[') ) {s = 40;}
+
+ else if ( (LA11_0==']') ) {s = 41;}
+
+ else if ( (LA11_0=='?') ) {s = 42;}
+
+ else if ( (LA11_0=='f') ) {s = 43;}
+
+ else if ( (LA11_0=='@') ) {s = 44;}
+
+ else if ( (LA11_0=='|') ) {s = 45;}
+
+ else if ( (LA11_0=='l') ) {s = 46;}
+
+ else if ( (LA11_0=='s') ) {s = 47;}
+
+ else if ( (LA11_0=='\"') ) {s = 48;}
+
+ else if ( (LA11_0=='\'') ) {s = 49;}
+
+ else if ( (LA11_0=='A'||LA11_0=='D'||(LA11_0>='F' && LA11_0<='H')||(LA11_0>='J' && LA11_0<='N')||(LA11_0>='P' && LA11_0<='Q')||(LA11_0>='V' && LA11_0<='Z')||LA11_0=='b'||(LA11_0>='g' && LA11_0<='h')||LA11_0=='j'||LA11_0=='m'||(LA11_0>='u' && LA11_0<='v')||(LA11_0>='y' && LA11_0<='z')) ) {s = 50;}
+
+ else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 51;}
+
+ else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 52;}
+
+ else if ( ((LA11_0>='\u0000' && LA11_0<='\b')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\u001F')||LA11_0=='!'||(LA11_0>='#' && LA11_0<='&')||LA11_0=='\\'||LA11_0=='^'||LA11_0=='`'||(LA11_0>='~' && LA11_0<='\uFFFF')) ) {s = 53;}
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 11, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelationParser.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelationParser.java
new file mode 100644
index 000000000..b1f5db56f
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelationParser.java
@@ -0,0 +1,23491 @@
+package org.eclipse.qvtd.xtext.qvtrelation.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.qvtd.xtext.qvtrelation.services.QVTrelationGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+@SuppressWarnings("all")
+public class InternalQVTrelationParser extends AbstractInternalAntlrParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_SIMPLE_ID", "RULE_ESCAPED_ID", "RULE_INT", "RULE_SINGLE_QUOTED_STRING", "RULE_ESCAPED_CHARACTER", "RULE_LETTER_CHARACTER", "RULE_DIGIT_CHARACTER", "RULE_DOUBLE_QUOTED_STRING", "RULE_ML_SINGLE_QUOTED_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'import'", "';'", "'.'", "'transformation'", "'('", "','", "')'", "'extends'", "'{'", "'}'", "':'", "'key'", "'top'", "'relation'", "'overrides'", "'when'", "'where'", "'checkonly'", "'enforce'", "'domain'", "'implementedby'", "'default_values'", "'primitive'", "'='", "'++'", "'_'", "'query'", "'replace'", "'*'", "'e'", "'E'", "'+'", "'-'", "'not'", "'/'", "'>'", "'<'", "'>='", "'<='", "'<>'", "'and'", "'or'", "'xor'", "'implies'", "'->'", "'Tuple'", "'::'", "'Boolean'", "'Integer'", "'Real'", "'String'", "'UnlimitedNatural'", "'OclAny'", "'OclInvalid'", "'OclVoid'", "'Set'", "'Bag'", "'Sequence'", "'Collection'", "'OrderedSet'", "'..'", "'['", "']'", "'?'", "'true'", "'false'", "'invalid'", "'null'", "'@'", "'pre'", "'|'", "'if'", "'then'", "'else'", "'endif'", "'let'", "'in'", "'self'"
+ };
+ public static final int T__42=42;
+ public static final int T__47=47;
+ public static final int T__73=73;
+ public static final int T__21=21;
+ public static final int RULE_ML_SINGLE_QUOTED_STRING=12;
+ public static final int T__72=72;
+ public static final int T__70=70;
+ public static final int T__39=39;
+ public static final int T__30=30;
+ public static final int T__46=46;
+ public static final int T__49=49;
+ public static final int RULE_DOUBLE_QUOTED_STRING=11;
+ public static final int T__54=54;
+ public static final int T__48=48;
+ public static final int RULE_ESCAPED_CHARACTER=8;
+ public static final int T__89=89;
+ public static final int T__20=20;
+ public static final int T__79=79;
+ public static final int T__64=64;
+ public static final int T__44=44;
+ public static final int T__66=66;
+ public static final int T__92=92;
+ public static final int T__88=88;
+ public static final int T__22=22;
+ public static final int RULE_ESCAPED_ID=5;
+ public static final int T__90=90;
+ public static final int RULE_WS=15;
+ public static final int T__63=63;
+ public static final int T__43=43;
+ public static final int T__91=91;
+ public static final int T__40=40;
+ public static final int T__85=85;
+ public static final int T__26=26;
+ public static final int T__25=25;
+ public static final int RULE_SL_COMMENT=14;
+ public static final int T__60=60;
+ public static final int T__41=41;
+ public static final int T__93=93;
+ public static final int T__86=86;
+ public static final int T__28=28;
+ public static final int T__23=23;
+ public static final int T__57=57;
+ public static final int T__94=94;
+ public static final int RULE_DIGIT_CHARACTER=10;
+ public static final int T__51=51;
+ public static final int T__80=80;
+ public static final int RULE_LETTER_CHARACTER=9;
+ public static final int T__69=69;
+ public static final int T__50=50;
+ public static final int T__19=19;
+ public static final int T__65=65;
+ public static final int T__67=67;
+ public static final int T__87=87;
+ public static final int T__74=74;
+ public static final int T__52=52;
+ public static final int T__68=68;
+ public static final int T__17=17;
+ public static final int T__62=62;
+ public static final int RULE_INT=6;
+ public static final int T__27=27;
+ public static final int T__24=24;
+ public static final int T__61=61;
+ public static final int RULE_SINGLE_QUOTED_STRING=7;
+ public static final int T__59=59;
+ public static final int T__34=34;
+ public static final int T__56=56;
+ public static final int RULE_ML_COMMENT=13;
+ public static final int T__35=35;
+ public static final int T__78=78;
+ public static final int T__36=36;
+ public static final int T__58=58;
+ public static final int RULE_SIMPLE_ID=4;
+ public static final int T__33=33;
+ public static final int T__77=77;
+ public static final int T__55=55;
+ public static final int T__45=45;
+ public static final int T__29=29;
+ public static final int T__84=84;
+ public static final int T__75=75;
+ public static final int T__31=31;
+ public static final int EOF=-1;
+ public static final int T__53=53;
+ public static final int T__32=32;
+ public static final int T__38=38;
+ public static final int T__37=37;
+ public static final int T__76=76;
+ public static final int RULE_ANY_OTHER=16;
+ public static final int T__82=82;
+ public static final int T__81=81;
+ public static final int T__83=83;
+ public static final int T__18=18;
+ public static final int T__71=71;
+
+ // delegates
+ // delegators
+
+
+ public InternalQVTrelationParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalQVTrelationParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalQVTrelationParser.tokenNames; }
+ public String getGrammarFileName() { return "../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g"; }
+
+
+
+ /*
+ This grammar contains a lot of empty actions to work around a bug in ANTLR.
+ Otherwise the ANTLR tool will create synpreds that cannot be compiled in some rare cases.
+ */
+
+ private QVTrelationGrammarAccess grammarAccess;
+
+ public InternalQVTrelationParser(TokenStream input, QVTrelationGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "TopLevelCS";
+ }
+
+ @Override
+ protected QVTrelationGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+
+
+
+ // $ANTLR start "entryRuleTopLevelCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:73:1: entryRuleTopLevelCS returns [EObject current=null] : iv_ruleTopLevelCS= ruleTopLevelCS EOF ;
+ public final EObject entryRuleTopLevelCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTopLevelCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:74:2: (iv_ruleTopLevelCS= ruleTopLevelCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:75:2: iv_ruleTopLevelCS= ruleTopLevelCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getTopLevelCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTopLevelCS_in_entryRuleTopLevelCS81);
+ iv_ruleTopLevelCS=ruleTopLevelCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleTopLevelCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTopLevelCS91); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTopLevelCS"
+
+
+ // $ANTLR start "ruleTopLevelCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:82:1: ruleTopLevelCS returns [EObject current=null] : ( (otherlv_0= 'import' ( (lv_importClause_1_0= ruleUnitCS ) ) otherlv_2= ';' )* ( (lv_transformation_3_0= ruleTransformationCS ) )* ) ;
+ public final EObject ruleTopLevelCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ EObject lv_importClause_1_0 = null;
+
+ EObject lv_transformation_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:85:28: ( ( (otherlv_0= 'import' ( (lv_importClause_1_0= ruleUnitCS ) ) otherlv_2= ';' )* ( (lv_transformation_3_0= ruleTransformationCS ) )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:86:1: ( (otherlv_0= 'import' ( (lv_importClause_1_0= ruleUnitCS ) ) otherlv_2= ';' )* ( (lv_transformation_3_0= ruleTransformationCS ) )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:86:1: ( (otherlv_0= 'import' ( (lv_importClause_1_0= ruleUnitCS ) ) otherlv_2= ';' )* ( (lv_transformation_3_0= ruleTransformationCS ) )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:86:2: (otherlv_0= 'import' ( (lv_importClause_1_0= ruleUnitCS ) ) otherlv_2= ';' )* ( (lv_transformation_3_0= ruleTransformationCS ) )*
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:86:2: (otherlv_0= 'import' ( (lv_importClause_1_0= ruleUnitCS ) ) otherlv_2= ';' )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==17) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:86:4: otherlv_0= 'import' ( (lv_importClause_1_0= ruleUnitCS ) ) otherlv_2= ';'
+ {
+ otherlv_0=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleTopLevelCS129); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getTopLevelCSAccess().getImportKeyword_0_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:90:1: ( (lv_importClause_1_0= ruleUnitCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:91:1: (lv_importClause_1_0= ruleUnitCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:91:1: (lv_importClause_1_0= ruleUnitCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:92:3: lv_importClause_1_0= ruleUnitCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTopLevelCSAccess().getImportClauseUnitCSParserRuleCall_0_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnitCS_in_ruleTopLevelCS150);
+ lv_importClause_1_0=ruleUnitCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTopLevelCSRule());
+ }
+ add(
+ current,
+ "importClause",
+ lv_importClause_1_0,
+ "UnitCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleTopLevelCS162); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getTopLevelCSAccess().getSemicolonKeyword_0_2());
+
+ }
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:112:3: ( (lv_transformation_3_0= ruleTransformationCS ) )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==20) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:113:1: (lv_transformation_3_0= ruleTransformationCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:113:1: (lv_transformation_3_0= ruleTransformationCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:114:3: lv_transformation_3_0= ruleTransformationCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTopLevelCSAccess().getTransformationTransformationCSParserRuleCall_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTransformationCS_in_ruleTopLevelCS185);
+ lv_transformation_3_0=ruleTransformationCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTopLevelCSRule());
+ }
+ add(
+ current,
+ "transformation",
+ lv_transformation_3_0,
+ "TransformationCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTopLevelCS"
+
+
+ // $ANTLR start "entryRuleUnitCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:138:1: entryRuleUnitCS returns [EObject current=null] : iv_ruleUnitCS= ruleUnitCS EOF ;
+ public final EObject entryRuleUnitCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleUnitCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:139:2: (iv_ruleUnitCS= ruleUnitCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:140:2: iv_ruleUnitCS= ruleUnitCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getUnitCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnitCS_in_entryRuleUnitCS222);
+ iv_ruleUnitCS=ruleUnitCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleUnitCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnitCS232); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleUnitCS"
+
+
+ // $ANTLR start "ruleUnitCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:147:1: ruleUnitCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) ) (otherlv_1= '.' ( ( ruleUnrestrictedName ) ) )* ) ;
+ public final EObject ruleUnitCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:150:28: ( ( ( ( ruleUnrestrictedName ) ) (otherlv_1= '.' ( ( ruleUnrestrictedName ) ) )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:151:1: ( ( ( ruleUnrestrictedName ) ) (otherlv_1= '.' ( ( ruleUnrestrictedName ) ) )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:151:1: ( ( ( ruleUnrestrictedName ) ) (otherlv_1= '.' ( ( ruleUnrestrictedName ) ) )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:151:2: ( ( ruleUnrestrictedName ) ) (otherlv_1= '.' ( ( ruleUnrestrictedName ) ) )*
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:151:2: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:152:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:152:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:153:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getUnitCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleUnitCS284);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:169:2: (otherlv_1= '.' ( ( ruleUnrestrictedName ) ) )*
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==19) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:169:4: otherlv_1= '.' ( ( ruleUnrestrictedName ) )
+ {
+ otherlv_1=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleUnitCS297); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getUnitCSAccess().getFullStopKeyword_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:173:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:174:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:174:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:175:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getUnitCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getUnitCSAccess().getIdentifierElementCrossReference_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleUnitCS324);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop3;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleUnitCS"
+
+
+ // $ANTLR start "entryRuleTransformationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:199:1: entryRuleTransformationCS returns [EObject current=null] : iv_ruleTransformationCS= ruleTransformationCS EOF ;
+ public final EObject entryRuleTransformationCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTransformationCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:200:2: (iv_ruleTransformationCS= ruleTransformationCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:201:2: iv_ruleTransformationCS= ruleTransformationCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getTransformationCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTransformationCS_in_entryRuleTransformationCS362);
+ iv_ruleTransformationCS=ruleTransformationCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleTransformationCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTransformationCS372); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTransformationCS"
+
+
+ // $ANTLR start "ruleTransformationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:208:1: ruleTransformationCS returns [EObject current=null] : (otherlv_0= 'transformation' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= '(' ( (lv_modelDecl_3_0= ruleModelDeclCS ) ) (otherlv_4= ',' ( (lv_modelDecl_5_0= ruleModelDeclCS ) ) )* otherlv_6= ')' (otherlv_7= 'extends' ( ( ruleUnrestrictedName ) ) (otherlv_9= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_11= '{' ( (lv_keyDecl_12_0= ruleKeyDeclCS ) )* ( ( (lv_relation_13_0= ruleRelationCS ) ) | ( (lv_query_14_0= ruleQueryCS ) ) )* otherlv_15= '}' ) ;
+ public final EObject ruleTransformationCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ Token otherlv_6=null;
+ Token otherlv_7=null;
+ Token otherlv_9=null;
+ Token otherlv_11=null;
+ Token otherlv_15=null;
+ AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+ EObject lv_modelDecl_3_0 = null;
+
+ EObject lv_modelDecl_5_0 = null;
+
+ EObject lv_keyDecl_12_0 = null;
+
+ EObject lv_relation_13_0 = null;
+
+ EObject lv_query_14_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:211:28: ( (otherlv_0= 'transformation' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= '(' ( (lv_modelDecl_3_0= ruleModelDeclCS ) ) (otherlv_4= ',' ( (lv_modelDecl_5_0= ruleModelDeclCS ) ) )* otherlv_6= ')' (otherlv_7= 'extends' ( ( ruleUnrestrictedName ) ) (otherlv_9= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_11= '{' ( (lv_keyDecl_12_0= ruleKeyDeclCS ) )* ( ( (lv_relation_13_0= ruleRelationCS ) ) | ( (lv_query_14_0= ruleQueryCS ) ) )* otherlv_15= '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:212:1: (otherlv_0= 'transformation' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= '(' ( (lv_modelDecl_3_0= ruleModelDeclCS ) ) (otherlv_4= ',' ( (lv_modelDecl_5_0= ruleModelDeclCS ) ) )* otherlv_6= ')' (otherlv_7= 'extends' ( ( ruleUnrestrictedName ) ) (otherlv_9= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_11= '{' ( (lv_keyDecl_12_0= ruleKeyDeclCS ) )* ( ( (lv_relation_13_0= ruleRelationCS ) ) | ( (lv_query_14_0= ruleQueryCS ) ) )* otherlv_15= '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:212:1: (otherlv_0= 'transformation' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= '(' ( (lv_modelDecl_3_0= ruleModelDeclCS ) ) (otherlv_4= ',' ( (lv_modelDecl_5_0= ruleModelDeclCS ) ) )* otherlv_6= ')' (otherlv_7= 'extends' ( ( ruleUnrestrictedName ) ) (otherlv_9= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_11= '{' ( (lv_keyDecl_12_0= ruleKeyDeclCS ) )* ( ( (lv_relation_13_0= ruleRelationCS ) ) | ( (lv_query_14_0= ruleQueryCS ) ) )* otherlv_15= '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:212:3: otherlv_0= 'transformation' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= '(' ( (lv_modelDecl_3_0= ruleModelDeclCS ) ) (otherlv_4= ',' ( (lv_modelDecl_5_0= ruleModelDeclCS ) ) )* otherlv_6= ')' (otherlv_7= 'extends' ( ( ruleUnrestrictedName ) ) (otherlv_9= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_11= '{' ( (lv_keyDecl_12_0= ruleKeyDeclCS ) )* ( ( (lv_relation_13_0= ruleRelationCS ) ) | ( (lv_query_14_0= ruleQueryCS ) ) )* otherlv_15= '}'
+ {
+ otherlv_0=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleTransformationCS409); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getTransformationCSAccess().getTransformationKeyword_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:216:1: ( (lv_name_1_0= ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:217:1: (lv_name_1_0= ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:217:1: (lv_name_1_0= ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:218:3: lv_name_1_0= ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getNameUnrestrictedNameParserRuleCall_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTransformationCS430);
+ lv_name_1_0=ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTransformationCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_1_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleTransformationCS442); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getTransformationCSAccess().getLeftParenthesisKeyword_2());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:238:1: ( (lv_modelDecl_3_0= ruleModelDeclCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:239:1: (lv_modelDecl_3_0= ruleModelDeclCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:239:1: (lv_modelDecl_3_0= ruleModelDeclCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:240:3: lv_modelDecl_3_0= ruleModelDeclCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getModelDeclModelDeclCSParserRuleCall_3_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleModelDeclCS_in_ruleTransformationCS463);
+ lv_modelDecl_3_0=ruleModelDeclCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTransformationCSRule());
+ }
+ add(
+ current,
+ "modelDecl",
+ lv_modelDecl_3_0,
+ "ModelDeclCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:256:2: (otherlv_4= ',' ( (lv_modelDecl_5_0= ruleModelDeclCS ) ) )*
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==22) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:256:4: otherlv_4= ',' ( (lv_modelDecl_5_0= ruleModelDeclCS ) )
+ {
+ otherlv_4=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleTransformationCS476); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getTransformationCSAccess().getCommaKeyword_4_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:260:1: ( (lv_modelDecl_5_0= ruleModelDeclCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:261:1: (lv_modelDecl_5_0= ruleModelDeclCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:261:1: (lv_modelDecl_5_0= ruleModelDeclCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:262:3: lv_modelDecl_5_0= ruleModelDeclCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getModelDeclModelDeclCSParserRuleCall_4_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleModelDeclCS_in_ruleTransformationCS497);
+ lv_modelDecl_5_0=ruleModelDeclCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTransformationCSRule());
+ }
+ add(
+ current,
+ "modelDecl",
+ lv_modelDecl_5_0,
+ "ModelDeclCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+ otherlv_6=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleTransformationCS511); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_6, grammarAccess.getTransformationCSAccess().getRightParenthesisKeyword_5());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:282:1: (otherlv_7= 'extends' ( ( ruleUnrestrictedName ) ) (otherlv_9= ',' ( ( ruleUnrestrictedName ) ) )* )?
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==24) ) {
+ alt6=1;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:282:3: otherlv_7= 'extends' ( ( ruleUnrestrictedName ) ) (otherlv_9= ',' ( ( ruleUnrestrictedName ) ) )*
+ {
+ otherlv_7=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleTransformationCS524); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_7, grammarAccess.getTransformationCSAccess().getExtendsKeyword_6_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:286:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:287:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:287:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:288:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getTransformationCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTransformationCS551);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:304:2: (otherlv_9= ',' ( ( ruleUnrestrictedName ) ) )*
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==22) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:304:4: otherlv_9= ',' ( ( ruleUnrestrictedName ) )
+ {
+ otherlv_9=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleTransformationCS564); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_9, grammarAccess.getTransformationCSAccess().getCommaKeyword_6_2_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:308:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:309:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:309:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:310:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getTransformationCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_6_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTransformationCS591);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ otherlv_11=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleTransformationCS607); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_11, grammarAccess.getTransformationCSAccess().getLeftCurlyBracketKeyword_7());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:330:1: ( (lv_keyDecl_12_0= ruleKeyDeclCS ) )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0==28) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:331:1: (lv_keyDecl_12_0= ruleKeyDeclCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:331:1: (lv_keyDecl_12_0= ruleKeyDeclCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:332:3: lv_keyDecl_12_0= ruleKeyDeclCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getKeyDeclKeyDeclCSParserRuleCall_8_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleKeyDeclCS_in_ruleTransformationCS628);
+ lv_keyDecl_12_0=ruleKeyDeclCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTransformationCSRule());
+ }
+ add(
+ current,
+ "keyDecl",
+ lv_keyDecl_12_0,
+ "KeyDeclCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:348:3: ( ( (lv_relation_13_0= ruleRelationCS ) ) | ( (lv_query_14_0= ruleQueryCS ) ) )*
+ loop8:
+ do {
+ int alt8=3;
+ int LA8_0 = input.LA(1);
+
+ if ( ((LA8_0>=29 && LA8_0<=30)) ) {
+ alt8=1;
+ }
+ else if ( (LA8_0==43) ) {
+ alt8=2;
+ }
+
+
+ switch (alt8) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:348:4: ( (lv_relation_13_0= ruleRelationCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:348:4: ( (lv_relation_13_0= ruleRelationCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:349:1: (lv_relation_13_0= ruleRelationCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:349:1: (lv_relation_13_0= ruleRelationCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:350:3: lv_relation_13_0= ruleRelationCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getRelationRelationCSParserRuleCall_9_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleRelationCS_in_ruleTransformationCS651);
+ lv_relation_13_0=ruleRelationCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTransformationCSRule());
+ }
+ add(
+ current,
+ "relation",
+ lv_relation_13_0,
+ "RelationCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:367:6: ( (lv_query_14_0= ruleQueryCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:367:6: ( (lv_query_14_0= ruleQueryCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:368:1: (lv_query_14_0= ruleQueryCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:368:1: (lv_query_14_0= ruleQueryCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:369:3: lv_query_14_0= ruleQueryCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTransformationCSAccess().getQueryQueryCSParserRuleCall_9_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleQueryCS_in_ruleTransformationCS678);
+ lv_query_14_0=ruleQueryCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTransformationCSRule());
+ }
+ add(
+ current,
+ "query",
+ lv_query_14_0,
+ "QueryCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop8;
+ }
+ } while (true);
+
+ otherlv_15=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleTransformationCS692); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_15, grammarAccess.getTransformationCSAccess().getRightCurlyBracketKeyword_10());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTransformationCS"
+
+
+ // $ANTLR start "entryRuleModelDeclCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:397:1: entryRuleModelDeclCS returns [EObject current=null] : iv_ruleModelDeclCS= ruleModelDeclCS EOF ;
+ public final EObject entryRuleModelDeclCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleModelDeclCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:398:2: (iv_ruleModelDeclCS= ruleModelDeclCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:399:2: iv_ruleModelDeclCS= ruleModelDeclCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getModelDeclCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleModelDeclCS_in_entryRuleModelDeclCS728);
+ iv_ruleModelDeclCS=ruleModelDeclCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleModelDeclCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelDeclCS738); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleModelDeclCS"
+
+
+ // $ANTLR start "ruleModelDeclCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:406:1: ruleModelDeclCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( ( ( ruleUnrestrictedName ) ) | (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' ) ) ) ;
+ public final EObject ruleModelDeclCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ Token otherlv_7=null;
+ AntlrDatatypeRuleToken lv_name_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:409:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( ( ( ruleUnrestrictedName ) ) | (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:410:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( ( ( ruleUnrestrictedName ) ) | (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:410:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( ( ( ruleUnrestrictedName ) ) | (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:410:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( ( ( ruleUnrestrictedName ) ) | (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:410:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:411:1: (lv_name_0_0= ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:411:1: (lv_name_0_0= ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:412:3: lv_name_0_0= ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getModelDeclCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleModelDeclCS784);
+ lv_name_0_0=ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getModelDeclCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_0_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleModelDeclCS796); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getModelDeclCSAccess().getColonKeyword_1());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:432:1: ( ( ( ruleUnrestrictedName ) ) | (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' ) )
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( ((LA10_0>=RULE_SIMPLE_ID && LA10_0<=RULE_ESCAPED_ID)||LA10_0==17||LA10_0==20||LA10_0==24||(LA10_0>=28 && LA10_0<=39)||(LA10_0>=43 && LA10_0<=44)||(LA10_0>=46 && LA10_0<=47)) ) {
+ alt10=1;
+ }
+ else if ( (LA10_0==25) ) {
+ alt10=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 10, 0, input);
+
+ throw nvae;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:432:2: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:432:2: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:433:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:433:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:434:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getModelDeclCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleModelDeclCS824);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:451:6: (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:451:6: (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:451:8: otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}'
+ {
+ otherlv_3=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleModelDeclCS843); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getModelDeclCSAccess().getLeftCurlyBracketKeyword_2_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:455:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:456:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:456:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:457:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getModelDeclCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleModelDeclCS870);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:473:2: (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )*
+ loop9:
+ do {
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==22) ) {
+ alt9=1;
+ }
+
+
+ switch (alt9) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:473:4: otherlv_5= ',' ( ( ruleUnrestrictedName ) )
+ {
+ otherlv_5=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleModelDeclCS883); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getModelDeclCSAccess().getCommaKeyword_2_1_2_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:477:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:478:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:478:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:479:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getModelDeclCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getModelDeclCSAccess().getMetaModelIdPackageCrossReference_2_1_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleModelDeclCS910);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop9;
+ }
+ } while (true);
+
+ otherlv_7=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleModelDeclCS924); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_7, grammarAccess.getModelDeclCSAccess().getRightCurlyBracketKeyword_2_1_3());
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleModelDeclCS"
+
+
+ // $ANTLR start "entryRuleKeyDeclCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:507:1: entryRuleKeyDeclCS returns [EObject current=null] : iv_ruleKeyDeclCS= ruleKeyDeclCS EOF ;
+ public final EObject entryRuleKeyDeclCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleKeyDeclCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:508:2: (iv_ruleKeyDeclCS= ruleKeyDeclCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:509:2: iv_ruleKeyDeclCS= ruleKeyDeclCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getKeyDeclCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleKeyDeclCS_in_entryRuleKeyDeclCS962);
+ iv_ruleKeyDeclCS=ruleKeyDeclCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleKeyDeclCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleKeyDeclCS972); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleKeyDeclCS"
+
+
+ // $ANTLR start "ruleKeyDeclCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:516:1: ruleKeyDeclCS returns [EObject current=null] : (otherlv_0= 'key' ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '{' ( ( ruleUnrestrictedName ) ) (otherlv_4= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_6= '}' otherlv_7= ';' ) ;
+ public final EObject ruleKeyDeclCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ Token otherlv_6=null;
+ Token otherlv_7=null;
+ EObject lv_pathName_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:519:28: ( (otherlv_0= 'key' ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '{' ( ( ruleUnrestrictedName ) ) (otherlv_4= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_6= '}' otherlv_7= ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:520:1: (otherlv_0= 'key' ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '{' ( ( ruleUnrestrictedName ) ) (otherlv_4= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_6= '}' otherlv_7= ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:520:1: (otherlv_0= 'key' ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '{' ( ( ruleUnrestrictedName ) ) (otherlv_4= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_6= '}' otherlv_7= ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:520:3: otherlv_0= 'key' ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '{' ( ( ruleUnrestrictedName ) ) (otherlv_4= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_6= '}' otherlv_7= ';'
+ {
+ otherlv_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleKeyDeclCS1009); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getKeyDeclCSAccess().getKeyKeyword_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:524:1: ( (lv_pathName_1_0= rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:525:1: (lv_pathName_1_0= rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:525:1: (lv_pathName_1_0= rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:526:3: lv_pathName_1_0= rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getKeyDeclCSAccess().getPathNamePathNameCSParserRuleCall_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleKeyDeclCS1030);
+ lv_pathName_1_0=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getKeyDeclCSRule());
+ }
+ set(
+ current,
+ "pathName",
+ lv_pathName_1_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleKeyDeclCS1042); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getKeyDeclCSAccess().getLeftCurlyBracketKeyword_2());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:546:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:547:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:547:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:548:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getKeyDeclCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_3_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleKeyDeclCS1069);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:564:2: (otherlv_4= ',' ( ( ruleUnrestrictedName ) ) )*
+ loop11:
+ do {
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0==22) ) {
+ alt11=1;
+ }
+
+
+ switch (alt11) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:564:4: otherlv_4= ',' ( ( ruleUnrestrictedName ) )
+ {
+ otherlv_4=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleKeyDeclCS1082); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getKeyDeclCSAccess().getCommaKeyword_4_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:568:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:569:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:569:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:570:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getKeyDeclCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getKeyDeclCSAccess().getPropertyIdPropertyCrossReference_4_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleKeyDeclCS1109);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop11;
+ }
+ } while (true);
+
+ otherlv_6=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleKeyDeclCS1123); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_6, grammarAccess.getKeyDeclCSAccess().getRightCurlyBracketKeyword_5());
+
+ }
+ otherlv_7=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleKeyDeclCS1135); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_7, grammarAccess.getKeyDeclCSAccess().getSemicolonKeyword_6());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleKeyDeclCS"
+
+
+ // $ANTLR start "entryRuleRelationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:602:1: entryRuleRelationCS returns [EObject current=null] : iv_ruleRelationCS= ruleRelationCS EOF ;
+ public final EObject entryRuleRelationCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRelationCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:603:2: (iv_ruleRelationCS= ruleRelationCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:604:2: iv_ruleRelationCS= ruleRelationCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getRelationCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleRelationCS_in_entryRuleRelationCS1171);
+ iv_ruleRelationCS=ruleRelationCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleRelationCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRelationCS1181); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleRelationCS"
+
+
+ // $ANTLR start "ruleRelationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:611:1: ruleRelationCS returns [EObject current=null] : ( ( (lv_top_0_0= 'top' ) )? otherlv_1= 'relation' ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= 'overrides' ( ( ruleUnrestrictedName ) ) )? otherlv_5= '{' ( (lv_varDeclaration_6_0= ruleVarDeclarationCS ) )* ( ( (lv_domain_7_0= ruleDomainCS ) ) | ( (lv_domain_8_0= rulePrimitiveTypeDomainCS ) ) )+ ( (lv_when_9_0= ruleWhenCS ) )? ( (lv_where_10_0= ruleWhereCS ) )? otherlv_11= '}' ) ;
+ public final EObject ruleRelationCS() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_top_0_0=null;
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ Token otherlv_11=null;
+ AntlrDatatypeRuleToken lv_name_2_0 = null;
+
+ EObject lv_varDeclaration_6_0 = null;
+
+ EObject lv_domain_7_0 = null;
+
+ EObject lv_domain_8_0 = null;
+
+ EObject lv_when_9_0 = null;
+
+ EObject lv_where_10_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:614:28: ( ( ( (lv_top_0_0= 'top' ) )? otherlv_1= 'relation' ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= 'overrides' ( ( ruleUnrestrictedName ) ) )? otherlv_5= '{' ( (lv_varDeclaration_6_0= ruleVarDeclarationCS ) )* ( ( (lv_domain_7_0= ruleDomainCS ) ) | ( (lv_domain_8_0= rulePrimitiveTypeDomainCS ) ) )+ ( (lv_when_9_0= ruleWhenCS ) )? ( (lv_where_10_0= ruleWhereCS ) )? otherlv_11= '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:615:1: ( ( (lv_top_0_0= 'top' ) )? otherlv_1= 'relation' ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= 'overrides' ( ( ruleUnrestrictedName ) ) )? otherlv_5= '{' ( (lv_varDeclaration_6_0= ruleVarDeclarationCS ) )* ( ( (lv_domain_7_0= ruleDomainCS ) ) | ( (lv_domain_8_0= rulePrimitiveTypeDomainCS ) ) )+ ( (lv_when_9_0= ruleWhenCS ) )? ( (lv_where_10_0= ruleWhereCS ) )? otherlv_11= '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:615:1: ( ( (lv_top_0_0= 'top' ) )? otherlv_1= 'relation' ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= 'overrides' ( ( ruleUnrestrictedName ) ) )? otherlv_5= '{' ( (lv_varDeclaration_6_0= ruleVarDeclarationCS ) )* ( ( (lv_domain_7_0= ruleDomainCS ) ) | ( (lv_domain_8_0= rulePrimitiveTypeDomainCS ) ) )+ ( (lv_when_9_0= ruleWhenCS ) )? ( (lv_where_10_0= ruleWhereCS ) )? otherlv_11= '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:615:2: ( (lv_top_0_0= 'top' ) )? otherlv_1= 'relation' ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= 'overrides' ( ( ruleUnrestrictedName ) ) )? otherlv_5= '{' ( (lv_varDeclaration_6_0= ruleVarDeclarationCS ) )* ( ( (lv_domain_7_0= ruleDomainCS ) ) | ( (lv_domain_8_0= rulePrimitiveTypeDomainCS ) ) )+ ( (lv_when_9_0= ruleWhenCS ) )? ( (lv_where_10_0= ruleWhereCS ) )? otherlv_11= '}'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:615:2: ( (lv_top_0_0= 'top' ) )?
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0==29) ) {
+ alt12=1;
+ }
+ switch (alt12) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:616:1: (lv_top_0_0= 'top' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:616:1: (lv_top_0_0= 'top' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:617:3: lv_top_0_0= 'top'
+ {
+ lv_top_0_0=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleRelationCS1224); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_top_0_0, grammarAccess.getRelationCSAccess().getTopTopKeyword_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRelationCSRule());
+ }
+ setWithLastConsumed(current, "top", true, "top");
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_1=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleRelationCS1250); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getRelationCSAccess().getRelationKeyword_1());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:634:1: ( (lv_name_2_0= ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:635:1: (lv_name_2_0= ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:635:1: (lv_name_2_0= ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:636:3: lv_name_2_0= ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getRelationCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleRelationCS1271);
+ lv_name_2_0=ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRelationCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_2_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:652:2: (otherlv_3= 'overrides' ( ( ruleUnrestrictedName ) ) )?
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0==31) ) {
+ alt13=1;
+ }
+ switch (alt13) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:652:4: otherlv_3= 'overrides' ( ( ruleUnrestrictedName ) )
+ {
+ otherlv_3=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleRelationCS1284); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getRelationCSAccess().getOverridesKeyword_3_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:656:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:657:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:657:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:658:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRelationCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getRelationCSAccess().getOverridesRelationCrossReference_3_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleRelationCS1311);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_5=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleRelationCS1325); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getRelationCSAccess().getLeftCurlyBracketKeyword_4());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:678:1: ( (lv_varDeclaration_6_0= ruleVarDeclarationCS ) )*
+ loop14:
+ do {
+ int alt14=2;
+ switch ( input.LA(1) ) {
+ case 34:
+ {
+ int LA14_1 = input.LA(2);
+
+ if ( (LA14_1==22||LA14_1==27) ) {
+ alt14=1;
+ }
+
+
+ }
+ break;
+ case 35:
+ {
+ int LA14_2 = input.LA(2);
+
+ if ( (LA14_2==22||LA14_2==27) ) {
+ alt14=1;
+ }
+
+
+ }
+ break;
+ case 36:
+ {
+ int LA14_3 = input.LA(2);
+
+ if ( (LA14_3==22||LA14_3==27) ) {
+ alt14=1;
+ }
+
+
+ }
+ break;
+ case 39:
+ {
+ int LA14_4 = input.LA(2);
+
+ if ( (LA14_4==22||LA14_4==27) ) {
+ alt14=1;
+ }
+
+
+ }
+ break;
+ case RULE_SIMPLE_ID:
+ case RULE_ESCAPED_ID:
+ case 17:
+ case 20:
+ case 24:
+ case 28:
+ case 29:
+ case 30:
+ case 31:
+ case 32:
+ case 33:
+ case 37:
+ case 38:
+ case 43:
+ case 44:
+ case 46:
+ case 47:
+ {
+ alt14=1;
+ }
+ break;
+
+ }
+
+ switch (alt14) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:679:1: (lv_varDeclaration_6_0= ruleVarDeclarationCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:679:1: (lv_varDeclaration_6_0= ruleVarDeclarationCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:680:3: lv_varDeclaration_6_0= ruleVarDeclarationCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getRelationCSAccess().getVarDeclarationVarDeclarationCSParserRuleCall_5_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleVarDeclarationCS_in_ruleRelationCS1346);
+ lv_varDeclaration_6_0=ruleVarDeclarationCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRelationCSRule());
+ }
+ add(
+ current,
+ "varDeclaration",
+ lv_varDeclaration_6_0,
+ "VarDeclarationCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop14;
+ }
+ } while (true);
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:696:3: ( ( (lv_domain_7_0= ruleDomainCS ) ) | ( (lv_domain_8_0= rulePrimitiveTypeDomainCS ) ) )+
+ int cnt15=0;
+ loop15:
+ do {
+ int alt15=3;
+ int LA15_0 = input.LA(1);
+
+ if ( ((LA15_0>=34 && LA15_0<=36)) ) {
+ alt15=1;
+ }
+ else if ( (LA15_0==39) ) {
+ alt15=2;
+ }
+
+
+ switch (alt15) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:696:4: ( (lv_domain_7_0= ruleDomainCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:696:4: ( (lv_domain_7_0= ruleDomainCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:697:1: (lv_domain_7_0= ruleDomainCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:697:1: (lv_domain_7_0= ruleDomainCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:698:3: lv_domain_7_0= ruleDomainCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getRelationCSAccess().getDomainDomainCSParserRuleCall_6_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleDomainCS_in_ruleRelationCS1369);
+ lv_domain_7_0=ruleDomainCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRelationCSRule());
+ }
+ add(
+ current,
+ "domain",
+ lv_domain_7_0,
+ "DomainCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:715:6: ( (lv_domain_8_0= rulePrimitiveTypeDomainCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:715:6: ( (lv_domain_8_0= rulePrimitiveTypeDomainCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:716:1: (lv_domain_8_0= rulePrimitiveTypeDomainCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:716:1: (lv_domain_8_0= rulePrimitiveTypeDomainCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:717:3: lv_domain_8_0= rulePrimitiveTypeDomainCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getRelationCSAccess().getDomainPrimitiveTypeDomainCSParserRuleCall_6_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeDomainCS_in_ruleRelationCS1396);
+ lv_domain_8_0=rulePrimitiveTypeDomainCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRelationCSRule());
+ }
+ add(
+ current,
+ "domain",
+ lv_domain_8_0,
+ "PrimitiveTypeDomainCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt15 >= 1 ) break loop15;
+ if (state.backtracking>0) {state.failed=true; return current;}
+ EarlyExitException eee =
+ new EarlyExitException(15, input);
+ throw eee;
+ }
+ cnt15++;
+ } while (true);
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:733:4: ( (lv_when_9_0= ruleWhenCS ) )?
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( (LA16_0==32) ) {
+ alt16=1;
+ }
+ switch (alt16) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:734:1: (lv_when_9_0= ruleWhenCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:734:1: (lv_when_9_0= ruleWhenCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:735:3: lv_when_9_0= ruleWhenCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getRelationCSAccess().getWhenWhenCSParserRuleCall_7_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleWhenCS_in_ruleRelationCS1419);
+ lv_when_9_0=ruleWhenCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRelationCSRule());
+ }
+ set(
+ current,
+ "when",
+ lv_when_9_0,
+ "WhenCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:751:3: ( (lv_where_10_0= ruleWhereCS ) )?
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( (LA17_0==33) ) {
+ alt17=1;
+ }
+ switch (alt17) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:752:1: (lv_where_10_0= ruleWhereCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:752:1: (lv_where_10_0= ruleWhereCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:753:3: lv_where_10_0= ruleWhereCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getRelationCSAccess().getWhereWhereCSParserRuleCall_8_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleWhereCS_in_ruleRelationCS1441);
+ lv_where_10_0=ruleWhereCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRelationCSRule());
+ }
+ set(
+ current,
+ "where",
+ lv_where_10_0,
+ "WhereCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_11=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleRelationCS1454); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_11, grammarAccess.getRelationCSAccess().getRightCurlyBracketKeyword_9());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleRelationCS"
+
+
+ // $ANTLR start "entryRuleWhenCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:781:1: entryRuleWhenCS returns [EObject current=null] : iv_ruleWhenCS= ruleWhenCS EOF ;
+ public final EObject entryRuleWhenCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleWhenCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:782:2: (iv_ruleWhenCS= ruleWhenCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:783:2: iv_ruleWhenCS= ruleWhenCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getWhenCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleWhenCS_in_entryRuleWhenCS1490);
+ iv_ruleWhenCS=ruleWhenCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleWhenCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWhenCS1500); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleWhenCS"
+
+
+ // $ANTLR start "ruleWhenCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:790:1: ruleWhenCS returns [EObject current=null] : ( () otherlv_1= 'when' otherlv_2= '{' ( ( (lv_expr_3_0= ruleExpCS ) ) otherlv_4= ';' )* otherlv_5= '}' ) ;
+ public final EObject ruleWhenCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ Token otherlv_5=null;
+ EObject lv_expr_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:793:28: ( ( () otherlv_1= 'when' otherlv_2= '{' ( ( (lv_expr_3_0= ruleExpCS ) ) otherlv_4= ';' )* otherlv_5= '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:794:1: ( () otherlv_1= 'when' otherlv_2= '{' ( ( (lv_expr_3_0= ruleExpCS ) ) otherlv_4= ';' )* otherlv_5= '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:794:1: ( () otherlv_1= 'when' otherlv_2= '{' ( ( (lv_expr_3_0= ruleExpCS ) ) otherlv_4= ';' )* otherlv_5= '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:794:2: () otherlv_1= 'when' otherlv_2= '{' ( ( (lv_expr_3_0= ruleExpCS ) ) otherlv_4= ';' )* otherlv_5= '}'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:794:2: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:795:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getWhenCSAccess().getWhenCSAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleWhenCS1549); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getWhenCSAccess().getWhenKeyword_1());
+
+ }
+ otherlv_2=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleWhenCS1561); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getWhenCSAccess().getLeftCurlyBracketKeyword_2());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:811:1: ( ( (lv_expr_3_0= ruleExpCS ) ) otherlv_4= ';' )*
+ loop18:
+ do {
+ int alt18=2;
+ int LA18_0 = input.LA(1);
+
+ if ( ((LA18_0>=RULE_SIMPLE_ID && LA18_0<=RULE_SINGLE_QUOTED_STRING)||LA18_0==17||(LA18_0>=20 && LA18_0<=21)||LA18_0==24||(LA18_0>=28 && LA18_0<=39)||(LA18_0>=43 && LA18_0<=47)||(LA18_0>=49 && LA18_0<=50)||LA18_0==62||(LA18_0>=64 && LA18_0<=76)||(LA18_0>=81 && LA18_0<=84)||LA18_0==88||LA18_0==92||LA18_0==94) ) {
+ alt18=1;
+ }
+
+
+ switch (alt18) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:811:2: ( (lv_expr_3_0= ruleExpCS ) ) otherlv_4= ';'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:811:2: ( (lv_expr_3_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:812:1: (lv_expr_3_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:812:1: (lv_expr_3_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:813:3: lv_expr_3_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getWhenCSAccess().getExprExpCSParserRuleCall_3_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleWhenCS1583);
+ lv_expr_3_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getWhenCSRule());
+ }
+ add(
+ current,
+ "expr",
+ lv_expr_3_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_4=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleWhenCS1595); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getWhenCSAccess().getSemicolonKeyword_3_1());
+
+ }
+
+ }
+ break;
+
+ default :
+ break loop18;
+ }
+ } while (true);
+
+ otherlv_5=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleWhenCS1609); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getWhenCSAccess().getRightCurlyBracketKeyword_4());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleWhenCS"
+
+
+ // $ANTLR start "entryRuleWhereCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:845:1: entryRuleWhereCS returns [EObject current=null] : iv_ruleWhereCS= ruleWhereCS EOF ;
+ public final EObject entryRuleWhereCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleWhereCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:846:2: (iv_ruleWhereCS= ruleWhereCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:847:2: iv_ruleWhereCS= ruleWhereCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getWhereCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleWhereCS_in_entryRuleWhereCS1645);
+ iv_ruleWhereCS=ruleWhereCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleWhereCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWhereCS1655); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleWhereCS"
+
+
+ // $ANTLR start "ruleWhereCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:854:1: ruleWhereCS returns [EObject current=null] : ( () otherlv_1= 'where' otherlv_2= '{' ( ( (lv_expr_3_0= ruleExpCS ) ) otherlv_4= ';' )* otherlv_5= '}' ) ;
+ public final EObject ruleWhereCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ Token otherlv_5=null;
+ EObject lv_expr_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:857:28: ( ( () otherlv_1= 'where' otherlv_2= '{' ( ( (lv_expr_3_0= ruleExpCS ) ) otherlv_4= ';' )* otherlv_5= '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:858:1: ( () otherlv_1= 'where' otherlv_2= '{' ( ( (lv_expr_3_0= ruleExpCS ) ) otherlv_4= ';' )* otherlv_5= '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:858:1: ( () otherlv_1= 'where' otherlv_2= '{' ( ( (lv_expr_3_0= ruleExpCS ) ) otherlv_4= ';' )* otherlv_5= '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:858:2: () otherlv_1= 'where' otherlv_2= '{' ( ( (lv_expr_3_0= ruleExpCS ) ) otherlv_4= ';' )* otherlv_5= '}'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:858:2: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:859:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getWhereCSAccess().getWhereCSAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleWhereCS1704); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getWhereCSAccess().getWhereKeyword_1());
+
+ }
+ otherlv_2=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleWhereCS1716); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getWhereCSAccess().getLeftCurlyBracketKeyword_2());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:875:1: ( ( (lv_expr_3_0= ruleExpCS ) ) otherlv_4= ';' )*
+ loop19:
+ do {
+ int alt19=2;
+ int LA19_0 = input.LA(1);
+
+ if ( ((LA19_0>=RULE_SIMPLE_ID && LA19_0<=RULE_SINGLE_QUOTED_STRING)||LA19_0==17||(LA19_0>=20 && LA19_0<=21)||LA19_0==24||(LA19_0>=28 && LA19_0<=39)||(LA19_0>=43 && LA19_0<=47)||(LA19_0>=49 && LA19_0<=50)||LA19_0==62||(LA19_0>=64 && LA19_0<=76)||(LA19_0>=81 && LA19_0<=84)||LA19_0==88||LA19_0==92||LA19_0==94) ) {
+ alt19=1;
+ }
+
+
+ switch (alt19) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:875:2: ( (lv_expr_3_0= ruleExpCS ) ) otherlv_4= ';'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:875:2: ( (lv_expr_3_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:876:1: (lv_expr_3_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:876:1: (lv_expr_3_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:877:3: lv_expr_3_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getWhereCSAccess().getExprExpCSParserRuleCall_3_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleWhereCS1738);
+ lv_expr_3_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getWhereCSRule());
+ }
+ add(
+ current,
+ "expr",
+ lv_expr_3_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_4=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleWhereCS1750); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getWhereCSAccess().getSemicolonKeyword_3_1());
+
+ }
+
+ }
+ break;
+
+ default :
+ break loop19;
+ }
+ } while (true);
+
+ otherlv_5=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleWhereCS1764); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getWhereCSAccess().getRightCurlyBracketKeyword_4());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleWhereCS"
+
+
+ // $ANTLR start "entryRuleVarDeclarationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:909:1: entryRuleVarDeclarationCS returns [EObject current=null] : iv_ruleVarDeclarationCS= ruleVarDeclarationCS EOF ;
+ public final EObject entryRuleVarDeclarationCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleVarDeclarationCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:910:2: (iv_ruleVarDeclarationCS= ruleVarDeclarationCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:911:2: iv_ruleVarDeclarationCS= ruleVarDeclarationCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getVarDeclarationCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleVarDeclarationCS_in_entryRuleVarDeclarationCS1800);
+ iv_ruleVarDeclarationCS=ruleVarDeclarationCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleVarDeclarationCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleVarDeclarationCS1810); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleVarDeclarationCS"
+
+
+ // $ANTLR start "ruleVarDeclarationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:918:1: ruleVarDeclarationCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) ) (otherlv_1= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleTypedRefCS ) ) otherlv_5= ';' ) ;
+ public final EObject ruleVarDeclarationCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ EObject lv_type_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:921:28: ( ( ( ( ruleUnrestrictedName ) ) (otherlv_1= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleTypedRefCS ) ) otherlv_5= ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:922:1: ( ( ( ruleUnrestrictedName ) ) (otherlv_1= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleTypedRefCS ) ) otherlv_5= ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:922:1: ( ( ( ruleUnrestrictedName ) ) (otherlv_1= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleTypedRefCS ) ) otherlv_5= ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:922:2: ( ( ruleUnrestrictedName ) ) (otherlv_1= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleTypedRefCS ) ) otherlv_5= ';'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:922:2: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:923:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:923:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:924:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getVarDeclarationCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleVarDeclarationCS1862);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:940:2: (otherlv_1= ',' ( ( ruleUnrestrictedName ) ) )*
+ loop20:
+ do {
+ int alt20=2;
+ int LA20_0 = input.LA(1);
+
+ if ( (LA20_0==22) ) {
+ alt20=1;
+ }
+
+
+ switch (alt20) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:940:4: otherlv_1= ',' ( ( ruleUnrestrictedName ) )
+ {
+ otherlv_1=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleVarDeclarationCS1875); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getVarDeclarationCSAccess().getCommaKeyword_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:944:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:945:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:945:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:946:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getVarDeclarationCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getVarDeclarationCSAccess().getVarDeclarationIdPropertyCrossReference_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleVarDeclarationCS1902);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop20;
+ }
+ } while (true);
+
+ otherlv_3=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleVarDeclarationCS1916); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getVarDeclarationCSAccess().getColonKeyword_2());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:966:1: ( (lv_type_4_0= ruleTypedRefCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:967:1: (lv_type_4_0= ruleTypedRefCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:967:1: (lv_type_4_0= ruleTypedRefCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:968:3: lv_type_4_0= ruleTypedRefCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getVarDeclarationCSAccess().getTypeTypedRefCSParserRuleCall_3_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleVarDeclarationCS1937);
+ lv_type_4_0=ruleTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getVarDeclarationCSRule());
+ }
+ set(
+ current,
+ "type",
+ lv_type_4_0,
+ "TypedRefCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_5=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleVarDeclarationCS1949); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getVarDeclarationCSAccess().getSemicolonKeyword_4());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleVarDeclarationCS"
+
+
+ // $ANTLR start "entryRuleDomainCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:996:1: entryRuleDomainCS returns [EObject current=null] : iv_ruleDomainCS= ruleDomainCS EOF ;
+ public final EObject entryRuleDomainCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleDomainCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:997:2: (iv_ruleDomainCS= ruleDomainCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:998:2: iv_ruleDomainCS= ruleDomainCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getDomainCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleDomainCS_in_entryRuleDomainCS1985);
+ iv_ruleDomainCS=ruleDomainCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleDomainCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDomainCS1995); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleDomainCS"
+
+
+ // $ANTLR start "ruleDomainCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1005:1: ruleDomainCS returns [EObject current=null] : ( ( ( (lv_checkonly_0_0= 'checkonly' ) ) | ( (lv_enforce_1_0= 'enforce' ) ) )? otherlv_2= 'domain' ( ( ruleUnrestrictedName ) ) ( (lv_template_4_0= ruleTemplateCS ) ) (otherlv_5= 'implementedby' ( (lv_implementedBy_6_0= ruleExpCS ) ) )? (otherlv_7= 'default_values' otherlv_8= '{' ( (lv_defaultValue_9_0= ruleDefaultValueCS ) )+ otherlv_10= '}' )? otherlv_11= ';' ) ;
+ public final EObject ruleDomainCS() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_checkonly_0_0=null;
+ Token lv_enforce_1_0=null;
+ Token otherlv_2=null;
+ Token otherlv_5=null;
+ Token otherlv_7=null;
+ Token otherlv_8=null;
+ Token otherlv_10=null;
+ Token otherlv_11=null;
+ EObject lv_template_4_0 = null;
+
+ EObject lv_implementedBy_6_0 = null;
+
+ EObject lv_defaultValue_9_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1008:28: ( ( ( ( (lv_checkonly_0_0= 'checkonly' ) ) | ( (lv_enforce_1_0= 'enforce' ) ) )? otherlv_2= 'domain' ( ( ruleUnrestrictedName ) ) ( (lv_template_4_0= ruleTemplateCS ) ) (otherlv_5= 'implementedby' ( (lv_implementedBy_6_0= ruleExpCS ) ) )? (otherlv_7= 'default_values' otherlv_8= '{' ( (lv_defaultValue_9_0= ruleDefaultValueCS ) )+ otherlv_10= '}' )? otherlv_11= ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1009:1: ( ( ( (lv_checkonly_0_0= 'checkonly' ) ) | ( (lv_enforce_1_0= 'enforce' ) ) )? otherlv_2= 'domain' ( ( ruleUnrestrictedName ) ) ( (lv_template_4_0= ruleTemplateCS ) ) (otherlv_5= 'implementedby' ( (lv_implementedBy_6_0= ruleExpCS ) ) )? (otherlv_7= 'default_values' otherlv_8= '{' ( (lv_defaultValue_9_0= ruleDefaultValueCS ) )+ otherlv_10= '}' )? otherlv_11= ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1009:1: ( ( ( (lv_checkonly_0_0= 'checkonly' ) ) | ( (lv_enforce_1_0= 'enforce' ) ) )? otherlv_2= 'domain' ( ( ruleUnrestrictedName ) ) ( (lv_template_4_0= ruleTemplateCS ) ) (otherlv_5= 'implementedby' ( (lv_implementedBy_6_0= ruleExpCS ) ) )? (otherlv_7= 'default_values' otherlv_8= '{' ( (lv_defaultValue_9_0= ruleDefaultValueCS ) )+ otherlv_10= '}' )? otherlv_11= ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1009:2: ( ( (lv_checkonly_0_0= 'checkonly' ) ) | ( (lv_enforce_1_0= 'enforce' ) ) )? otherlv_2= 'domain' ( ( ruleUnrestrictedName ) ) ( (lv_template_4_0= ruleTemplateCS ) ) (otherlv_5= 'implementedby' ( (lv_implementedBy_6_0= ruleExpCS ) ) )? (otherlv_7= 'default_values' otherlv_8= '{' ( (lv_defaultValue_9_0= ruleDefaultValueCS ) )+ otherlv_10= '}' )? otherlv_11= ';'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1009:2: ( ( (lv_checkonly_0_0= 'checkonly' ) ) | ( (lv_enforce_1_0= 'enforce' ) ) )?
+ int alt21=3;
+ int LA21_0 = input.LA(1);
+
+ if ( (LA21_0==34) ) {
+ alt21=1;
+ }
+ else if ( (LA21_0==35) ) {
+ alt21=2;
+ }
+ switch (alt21) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1009:3: ( (lv_checkonly_0_0= 'checkonly' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1009:3: ( (lv_checkonly_0_0= 'checkonly' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1010:1: (lv_checkonly_0_0= 'checkonly' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1010:1: (lv_checkonly_0_0= 'checkonly' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1011:3: lv_checkonly_0_0= 'checkonly'
+ {
+ lv_checkonly_0_0=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleDomainCS2039); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_checkonly_0_0, grammarAccess.getDomainCSAccess().getCheckonlyCheckonlyKeyword_0_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getDomainCSRule());
+ }
+ setWithLastConsumed(current, "checkonly", true, "checkonly");
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1025:6: ( (lv_enforce_1_0= 'enforce' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1025:6: ( (lv_enforce_1_0= 'enforce' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1026:1: (lv_enforce_1_0= 'enforce' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1026:1: (lv_enforce_1_0= 'enforce' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1027:3: lv_enforce_1_0= 'enforce'
+ {
+ lv_enforce_1_0=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleDomainCS2076); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_enforce_1_0, grammarAccess.getDomainCSAccess().getEnforceEnforceKeyword_0_1_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getDomainCSRule());
+ }
+ setWithLastConsumed(current, "enforce", true, "enforce");
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_2=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleDomainCS2103); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getDomainCSAccess().getDomainKeyword_1());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1044:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1045:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1045:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1046:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getDomainCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getDomainCSAccess().getModelIdTypedModelCrossReference_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleDomainCS2130);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1062:2: ( (lv_template_4_0= ruleTemplateCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1063:1: (lv_template_4_0= ruleTemplateCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1063:1: (lv_template_4_0= ruleTemplateCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1064:3: lv_template_4_0= ruleTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getDomainCSAccess().getTemplateTemplateCSParserRuleCall_3_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTemplateCS_in_ruleDomainCS2151);
+ lv_template_4_0=ruleTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getDomainCSRule());
+ }
+ set(
+ current,
+ "template",
+ lv_template_4_0,
+ "TemplateCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1080:2: (otherlv_5= 'implementedby' ( (lv_implementedBy_6_0= ruleExpCS ) ) )?
+ int alt22=2;
+ int LA22_0 = input.LA(1);
+
+ if ( (LA22_0==37) ) {
+ alt22=1;
+ }
+ switch (alt22) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1080:4: otherlv_5= 'implementedby' ( (lv_implementedBy_6_0= ruleExpCS ) )
+ {
+ otherlv_5=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleDomainCS2164); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getDomainCSAccess().getImplementedbyKeyword_4_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1084:1: ( (lv_implementedBy_6_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1085:1: (lv_implementedBy_6_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1085:1: (lv_implementedBy_6_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1086:3: lv_implementedBy_6_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getDomainCSAccess().getImplementedByExpCSParserRuleCall_4_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleDomainCS2185);
+ lv_implementedBy_6_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getDomainCSRule());
+ }
+ set(
+ current,
+ "implementedBy",
+ lv_implementedBy_6_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1102:4: (otherlv_7= 'default_values' otherlv_8= '{' ( (lv_defaultValue_9_0= ruleDefaultValueCS ) )+ otherlv_10= '}' )?
+ int alt24=2;
+ int LA24_0 = input.LA(1);
+
+ if ( (LA24_0==38) ) {
+ alt24=1;
+ }
+ switch (alt24) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1102:6: otherlv_7= 'default_values' otherlv_8= '{' ( (lv_defaultValue_9_0= ruleDefaultValueCS ) )+ otherlv_10= '}'
+ {
+ otherlv_7=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleDomainCS2200); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_7, grammarAccess.getDomainCSAccess().getDefault_valuesKeyword_5_0());
+
+ }
+ otherlv_8=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleDomainCS2212); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_8, grammarAccess.getDomainCSAccess().getLeftCurlyBracketKeyword_5_1());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1110:1: ( (lv_defaultValue_9_0= ruleDefaultValueCS ) )+
+ int cnt23=0;
+ loop23:
+ do {
+ int alt23=2;
+ int LA23_0 = input.LA(1);
+
+ if ( ((LA23_0>=RULE_SIMPLE_ID && LA23_0<=RULE_ESCAPED_ID)||LA23_0==17||LA23_0==20||LA23_0==24||(LA23_0>=28 && LA23_0<=39)||(LA23_0>=43 && LA23_0<=44)||(LA23_0>=46 && LA23_0<=47)) ) {
+ alt23=1;
+ }
+
+
+ switch (alt23) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1111:1: (lv_defaultValue_9_0= ruleDefaultValueCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1111:1: (lv_defaultValue_9_0= ruleDefaultValueCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1112:3: lv_defaultValue_9_0= ruleDefaultValueCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getDomainCSAccess().getDefaultValueDefaultValueCSParserRuleCall_5_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleDefaultValueCS_in_ruleDomainCS2233);
+ lv_defaultValue_9_0=ruleDefaultValueCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getDomainCSRule());
+ }
+ add(
+ current,
+ "defaultValue",
+ lv_defaultValue_9_0,
+ "DefaultValueCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt23 >= 1 ) break loop23;
+ if (state.backtracking>0) {state.failed=true; return current;}
+ EarlyExitException eee =
+ new EarlyExitException(23, input);
+ throw eee;
+ }
+ cnt23++;
+ } while (true);
+
+ otherlv_10=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleDomainCS2246); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_10, grammarAccess.getDomainCSAccess().getRightCurlyBracketKeyword_5_3());
+
+ }
+
+ }
+ break;
+
+ }
+
+ otherlv_11=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleDomainCS2260); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_11, grammarAccess.getDomainCSAccess().getSemicolonKeyword_6());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleDomainCS"
+
+
+ // $ANTLR start "entryRulePrimitiveTypeDomainCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1144:1: entryRulePrimitiveTypeDomainCS returns [EObject current=null] : iv_rulePrimitiveTypeDomainCS= rulePrimitiveTypeDomainCS EOF ;
+ public final EObject entryRulePrimitiveTypeDomainCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePrimitiveTypeDomainCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1145:2: (iv_rulePrimitiveTypeDomainCS= rulePrimitiveTypeDomainCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1146:2: iv_rulePrimitiveTypeDomainCS= rulePrimitiveTypeDomainCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getPrimitiveTypeDomainCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeDomainCS_in_entryRulePrimitiveTypeDomainCS2296);
+ iv_rulePrimitiveTypeDomainCS=rulePrimitiveTypeDomainCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_rulePrimitiveTypeDomainCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveTypeDomainCS2306); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePrimitiveTypeDomainCS"
+
+
+ // $ANTLR start "rulePrimitiveTypeDomainCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1153:1: rulePrimitiveTypeDomainCS returns [EObject current=null] : (otherlv_0= 'primitive' otherlv_1= 'domain' ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' ( (lv_type_4_0= ruleTypedRefCS ) ) otherlv_5= ';' ) ;
+ public final EObject rulePrimitiveTypeDomainCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ AntlrDatatypeRuleToken lv_name_2_0 = null;
+
+ EObject lv_type_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1156:28: ( (otherlv_0= 'primitive' otherlv_1= 'domain' ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' ( (lv_type_4_0= ruleTypedRefCS ) ) otherlv_5= ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1157:1: (otherlv_0= 'primitive' otherlv_1= 'domain' ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' ( (lv_type_4_0= ruleTypedRefCS ) ) otherlv_5= ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1157:1: (otherlv_0= 'primitive' otherlv_1= 'domain' ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' ( (lv_type_4_0= ruleTypedRefCS ) ) otherlv_5= ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1157:3: otherlv_0= 'primitive' otherlv_1= 'domain' ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' ( (lv_type_4_0= ruleTypedRefCS ) ) otherlv_5= ';'
+ {
+ otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_39_in_rulePrimitiveTypeDomainCS2343); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getPrimitiveTypeDomainCSAccess().getPrimitiveKeyword_0());
+
+ }
+ otherlv_1=(Token)match(input,36,FollowSets000.FOLLOW_36_in_rulePrimitiveTypeDomainCS2355); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getPrimitiveTypeDomainCSAccess().getDomainKeyword_1());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1165:1: ( (lv_name_2_0= ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1166:1: (lv_name_2_0= ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1166:1: (lv_name_2_0= ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1167:3: lv_name_2_0= ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimitiveTypeDomainCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rulePrimitiveTypeDomainCS2376);
+ lv_name_2_0=ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimitiveTypeDomainCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_2_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,27,FollowSets000.FOLLOW_27_in_rulePrimitiveTypeDomainCS2388); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getPrimitiveTypeDomainCSAccess().getColonKeyword_3());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1187:1: ( (lv_type_4_0= ruleTypedRefCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1188:1: (lv_type_4_0= ruleTypedRefCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1188:1: (lv_type_4_0= ruleTypedRefCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1189:3: lv_type_4_0= ruleTypedRefCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimitiveTypeDomainCSAccess().getTypeTypedRefCSParserRuleCall_4_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_rulePrimitiveTypeDomainCS2409);
+ lv_type_4_0=ruleTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimitiveTypeDomainCSRule());
+ }
+ set(
+ current,
+ "type",
+ lv_type_4_0,
+ "TypedRefCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_5=(Token)match(input,18,FollowSets000.FOLLOW_18_in_rulePrimitiveTypeDomainCS2421); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getPrimitiveTypeDomainCSAccess().getSemicolonKeyword_5());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePrimitiveTypeDomainCS"
+
+
+ // $ANTLR start "entryRuleTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1217:1: entryRuleTemplateCS returns [EObject current=null] : iv_ruleTemplateCS= ruleTemplateCS EOF ;
+ public final EObject entryRuleTemplateCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTemplateCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1218:2: (iv_ruleTemplateCS= ruleTemplateCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1219:2: iv_ruleTemplateCS= ruleTemplateCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getTemplateCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTemplateCS_in_entryRuleTemplateCS2457);
+ iv_ruleTemplateCS=ruleTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleTemplateCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTemplateCS2467); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTemplateCS"
+
+
+ // $ANTLR start "ruleTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1226:1: ruleTemplateCS returns [EObject current=null] : ( (this_ObjectTemplateCS_0= ruleObjectTemplateCS | this_CollectionTemplateCS_1= ruleCollectionTemplateCS ) (otherlv_2= '{' ( (lv_guardExpression_3_0= ruleExpCS ) ) otherlv_4= '}' )? ) ;
+ public final EObject ruleTemplateCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ EObject this_ObjectTemplateCS_0 = null;
+
+ EObject this_CollectionTemplateCS_1 = null;
+
+ EObject lv_guardExpression_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1229:28: ( ( (this_ObjectTemplateCS_0= ruleObjectTemplateCS | this_CollectionTemplateCS_1= ruleCollectionTemplateCS ) (otherlv_2= '{' ( (lv_guardExpression_3_0= ruleExpCS ) ) otherlv_4= '}' )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1230:1: ( (this_ObjectTemplateCS_0= ruleObjectTemplateCS | this_CollectionTemplateCS_1= ruleCollectionTemplateCS ) (otherlv_2= '{' ( (lv_guardExpression_3_0= ruleExpCS ) ) otherlv_4= '}' )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1230:1: ( (this_ObjectTemplateCS_0= ruleObjectTemplateCS | this_CollectionTemplateCS_1= ruleCollectionTemplateCS ) (otherlv_2= '{' ( (lv_guardExpression_3_0= ruleExpCS ) ) otherlv_4= '}' )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1230:2: (this_ObjectTemplateCS_0= ruleObjectTemplateCS | this_CollectionTemplateCS_1= ruleCollectionTemplateCS ) (otherlv_2= '{' ( (lv_guardExpression_3_0= ruleExpCS ) ) otherlv_4= '}' )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1230:2: (this_ObjectTemplateCS_0= ruleObjectTemplateCS | this_CollectionTemplateCS_1= ruleCollectionTemplateCS )
+ int alt25=2;
+ alt25 = dfa25.predict(input);
+ switch (alt25) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1231:2: this_ObjectTemplateCS_0= ruleObjectTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTemplateCSAccess().getObjectTemplateCSParserRuleCall_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleObjectTemplateCS_in_ruleTemplateCS2518);
+ this_ObjectTemplateCS_0=ruleObjectTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_ObjectTemplateCS_0;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1244:2: this_CollectionTemplateCS_1= ruleCollectionTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTemplateCSAccess().getCollectionTemplateCSParserRuleCall_0_1());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTemplateCS_in_ruleTemplateCS2548);
+ this_CollectionTemplateCS_1=ruleCollectionTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_CollectionTemplateCS_1;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1255:2: (otherlv_2= '{' ( (lv_guardExpression_3_0= ruleExpCS ) ) otherlv_4= '}' )?
+ int alt26=2;
+ int LA26_0 = input.LA(1);
+
+ if ( (LA26_0==25) ) {
+ alt26=1;
+ }
+ switch (alt26) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1255:4: otherlv_2= '{' ( (lv_guardExpression_3_0= ruleExpCS ) ) otherlv_4= '}'
+ {
+ otherlv_2=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleTemplateCS2561); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getTemplateCSAccess().getLeftCurlyBracketKeyword_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1259:1: ( (lv_guardExpression_3_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1260:1: (lv_guardExpression_3_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1260:1: (lv_guardExpression_3_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1261:3: lv_guardExpression_3_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTemplateCSAccess().getGuardExpressionExpCSParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleTemplateCS2582);
+ lv_guardExpression_3_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTemplateCSRule());
+ }
+ set(
+ current,
+ "guardExpression",
+ lv_guardExpression_3_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_4=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleTemplateCS2594); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getTemplateCSAccess().getRightCurlyBracketKeyword_1_2());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTemplateCS"
+
+
+ // $ANTLR start "entryRuleObjectTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1289:1: entryRuleObjectTemplateCS returns [EObject current=null] : iv_ruleObjectTemplateCS= ruleObjectTemplateCS EOF ;
+ public final EObject entryRuleObjectTemplateCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleObjectTemplateCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1290:2: (iv_ruleObjectTemplateCS= ruleObjectTemplateCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1291:2: iv_ruleObjectTemplateCS= ruleObjectTemplateCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getObjectTemplateCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleObjectTemplateCS_in_entryRuleObjectTemplateCS2632);
+ iv_ruleObjectTemplateCS=ruleObjectTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleObjectTemplateCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleObjectTemplateCS2642); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleObjectTemplateCS"
+
+
+ // $ANTLR start "ruleObjectTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1298:1: ruleObjectTemplateCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_type_2_0= ruleTypedRefCS ) ) otherlv_3= '{' ( ( (lv_propertyTemplate_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_propertyTemplate_6_0= rulePropertyTemplateCS ) ) )* )? otherlv_7= '}' ) ;
+ public final EObject ruleObjectTemplateCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ Token otherlv_7=null;
+ EObject lv_type_2_0 = null;
+
+ EObject lv_propertyTemplate_4_0 = null;
+
+ EObject lv_propertyTemplate_6_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1301:28: ( ( ( ( ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_type_2_0= ruleTypedRefCS ) ) otherlv_3= '{' ( ( (lv_propertyTemplate_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_propertyTemplate_6_0= rulePropertyTemplateCS ) ) )* )? otherlv_7= '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1302:1: ( ( ( ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_type_2_0= ruleTypedRefCS ) ) otherlv_3= '{' ( ( (lv_propertyTemplate_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_propertyTemplate_6_0= rulePropertyTemplateCS ) ) )* )? otherlv_7= '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1302:1: ( ( ( ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_type_2_0= ruleTypedRefCS ) ) otherlv_3= '{' ( ( (lv_propertyTemplate_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_propertyTemplate_6_0= rulePropertyTemplateCS ) ) )* )? otherlv_7= '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1302:2: ( ( ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_type_2_0= ruleTypedRefCS ) ) otherlv_3= '{' ( ( (lv_propertyTemplate_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_propertyTemplate_6_0= rulePropertyTemplateCS ) ) )* )? otherlv_7= '}'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1302:2: ( ( ruleUnrestrictedName ) )?
+ int alt27=2;
+ int LA27_0 = input.LA(1);
+
+ if ( ((LA27_0>=RULE_SIMPLE_ID && LA27_0<=RULE_ESCAPED_ID)||LA27_0==17||LA27_0==20||LA27_0==24||(LA27_0>=28 && LA27_0<=39)||(LA27_0>=43 && LA27_0<=44)||(LA27_0>=46 && LA27_0<=47)) ) {
+ alt27=1;
+ }
+ switch (alt27) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1303:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1303:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1304:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getObjectTemplateCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getObjectTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleObjectTemplateCS2694);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_1=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleObjectTemplateCS2707); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getObjectTemplateCSAccess().getColonKeyword_1());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1324:1: ( (lv_type_2_0= ruleTypedRefCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1325:1: (lv_type_2_0= ruleTypedRefCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1325:1: (lv_type_2_0= ruleTypedRefCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1326:3: lv_type_2_0= ruleTypedRefCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getObjectTemplateCSAccess().getTypeTypedRefCSParserRuleCall_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleObjectTemplateCS2728);
+ lv_type_2_0=ruleTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getObjectTemplateCSRule());
+ }
+ set(
+ current,
+ "type",
+ lv_type_2_0,
+ "TypedRefCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleObjectTemplateCS2740); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getObjectTemplateCSAccess().getLeftCurlyBracketKeyword_3());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1346:1: ( ( (lv_propertyTemplate_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_propertyTemplate_6_0= rulePropertyTemplateCS ) ) )* )?
+ int alt29=2;
+ int LA29_0 = input.LA(1);
+
+ if ( ((LA29_0>=RULE_SIMPLE_ID && LA29_0<=RULE_ESCAPED_ID)||LA29_0==17||LA29_0==20||LA29_0==24||(LA29_0>=28 && LA29_0<=39)||(LA29_0>=43 && LA29_0<=44)||(LA29_0>=46 && LA29_0<=47)) ) {
+ alt29=1;
+ }
+ switch (alt29) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1346:2: ( (lv_propertyTemplate_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_propertyTemplate_6_0= rulePropertyTemplateCS ) ) )*
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1346:2: ( (lv_propertyTemplate_4_0= rulePropertyTemplateCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1347:1: (lv_propertyTemplate_4_0= rulePropertyTemplateCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1347:1: (lv_propertyTemplate_4_0= rulePropertyTemplateCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1348:3: lv_propertyTemplate_4_0= rulePropertyTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplatePropertyTemplateCSParserRuleCall_4_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePropertyTemplateCS_in_ruleObjectTemplateCS2762);
+ lv_propertyTemplate_4_0=rulePropertyTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getObjectTemplateCSRule());
+ }
+ add(
+ current,
+ "propertyTemplate",
+ lv_propertyTemplate_4_0,
+ "PropertyTemplateCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1364:2: (otherlv_5= ',' ( (lv_propertyTemplate_6_0= rulePropertyTemplateCS ) ) )*
+ loop28:
+ do {
+ int alt28=2;
+ int LA28_0 = input.LA(1);
+
+ if ( (LA28_0==22) ) {
+ alt28=1;
+ }
+
+
+ switch (alt28) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1364:4: otherlv_5= ',' ( (lv_propertyTemplate_6_0= rulePropertyTemplateCS ) )
+ {
+ otherlv_5=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleObjectTemplateCS2775); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getObjectTemplateCSAccess().getCommaKeyword_4_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1368:1: ( (lv_propertyTemplate_6_0= rulePropertyTemplateCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1369:1: (lv_propertyTemplate_6_0= rulePropertyTemplateCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1369:1: (lv_propertyTemplate_6_0= rulePropertyTemplateCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1370:3: lv_propertyTemplate_6_0= rulePropertyTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getObjectTemplateCSAccess().getPropertyTemplatePropertyTemplateCSParserRuleCall_4_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePropertyTemplateCS_in_ruleObjectTemplateCS2796);
+ lv_propertyTemplate_6_0=rulePropertyTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getObjectTemplateCSRule());
+ }
+ add(
+ current,
+ "propertyTemplate",
+ lv_propertyTemplate_6_0,
+ "PropertyTemplateCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop28;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ otherlv_7=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleObjectTemplateCS2812); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_7, grammarAccess.getObjectTemplateCSAccess().getRightCurlyBracketKeyword_5());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleObjectTemplateCS"
+
+
+ // $ANTLR start "entryRulePropertyTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1398:1: entryRulePropertyTemplateCS returns [EObject current=null] : iv_rulePropertyTemplateCS= rulePropertyTemplateCS EOF ;
+ public final EObject entryRulePropertyTemplateCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePropertyTemplateCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1399:2: (iv_rulePropertyTemplateCS= rulePropertyTemplateCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1400:2: iv_rulePropertyTemplateCS= rulePropertyTemplateCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getPropertyTemplateCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePropertyTemplateCS_in_entryRulePropertyTemplateCS2848);
+ iv_rulePropertyTemplateCS=rulePropertyTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_rulePropertyTemplateCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePropertyTemplateCS2858); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePropertyTemplateCS"
+
+
+ // $ANTLR start "rulePropertyTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1407:1: rulePropertyTemplateCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_oclExpression_2_0= ruleExpCS ) ) ) ;
+ public final EObject rulePropertyTemplateCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_oclExpression_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1410:28: ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_oclExpression_2_0= ruleExpCS ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1411:1: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_oclExpression_2_0= ruleExpCS ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1411:1: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_oclExpression_2_0= ruleExpCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1411:2: ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_oclExpression_2_0= ruleExpCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1411:2: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1412:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1412:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1413:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getPropertyTemplateCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPropertyTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rulePropertyTemplateCS2910);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,40,FollowSets000.FOLLOW_40_in_rulePropertyTemplateCS2922); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getPropertyTemplateCSAccess().getEqualsSignKeyword_1());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1433:1: ( (lv_oclExpression_2_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1434:1: (lv_oclExpression_2_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1434:1: (lv_oclExpression_2_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1435:3: lv_oclExpression_2_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPropertyTemplateCSAccess().getOclExpressionExpCSParserRuleCall_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_rulePropertyTemplateCS2943);
+ lv_oclExpression_2_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPropertyTemplateCSRule());
+ }
+ set(
+ current,
+ "oclExpression",
+ lv_oclExpression_2_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePropertyTemplateCS"
+
+
+ // $ANTLR start "entryRuleCollectionTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1459:1: entryRuleCollectionTemplateCS returns [EObject current=null] : iv_ruleCollectionTemplateCS= ruleCollectionTemplateCS EOF ;
+ public final EObject entryRuleCollectionTemplateCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleCollectionTemplateCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1460:2: (iv_ruleCollectionTemplateCS= ruleCollectionTemplateCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1461:2: iv_ruleCollectionTemplateCS= ruleCollectionTemplateCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getCollectionTemplateCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTemplateCS_in_entryRuleCollectionTemplateCS2979);
+ iv_ruleCollectionTemplateCS=ruleCollectionTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleCollectionTemplateCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionTemplateCS2989); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleCollectionTemplateCS"
+
+
+ // $ANTLR start "ruleCollectionTemplateCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1468:1: ruleCollectionTemplateCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_type_2_0= ruleCollectionTypedRefCS ) ) otherlv_3= '{' ( ( ( (lv_memberIdentifier_4_1= ruleNameExpCS | lv_memberIdentifier_4_2= ruleTemplateCS | lv_memberIdentifier_4_3= ruleAnyElementCS ) ) ) (otherlv_5= ',' ( ( (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS ) ) ) )* otherlv_7= '++' ( ( (lv_restIdentifier_8_1= ruleNameExpCS | lv_restIdentifier_8_2= ruleAnyElementCS ) ) )? )? otherlv_9= '}' ) ;
+ public final EObject ruleCollectionTemplateCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ Token otherlv_7=null;
+ Token otherlv_9=null;
+ EObject lv_type_2_0 = null;
+
+ EObject lv_memberIdentifier_4_1 = null;
+
+ EObject lv_memberIdentifier_4_2 = null;
+
+ EObject lv_memberIdentifier_4_3 = null;
+
+ EObject lv_memberIdentifier_6_1 = null;
+
+ EObject lv_memberIdentifier_6_2 = null;
+
+ EObject lv_memberIdentifier_6_3 = null;
+
+ EObject lv_restIdentifier_8_1 = null;
+
+ EObject lv_restIdentifier_8_2 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1471:28: ( ( ( ( ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_type_2_0= ruleCollectionTypedRefCS ) ) otherlv_3= '{' ( ( ( (lv_memberIdentifier_4_1= ruleNameExpCS | lv_memberIdentifier_4_2= ruleTemplateCS | lv_memberIdentifier_4_3= ruleAnyElementCS ) ) ) (otherlv_5= ',' ( ( (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS ) ) ) )* otherlv_7= '++' ( ( (lv_restIdentifier_8_1= ruleNameExpCS | lv_restIdentifier_8_2= ruleAnyElementCS ) ) )? )? otherlv_9= '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1472:1: ( ( ( ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_type_2_0= ruleCollectionTypedRefCS ) ) otherlv_3= '{' ( ( ( (lv_memberIdentifier_4_1= ruleNameExpCS | lv_memberIdentifier_4_2= ruleTemplateCS | lv_memberIdentifier_4_3= ruleAnyElementCS ) ) ) (otherlv_5= ',' ( ( (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS ) ) ) )* otherlv_7= '++' ( ( (lv_restIdentifier_8_1= ruleNameExpCS | lv_restIdentifier_8_2= ruleAnyElementCS ) ) )? )? otherlv_9= '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1472:1: ( ( ( ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_type_2_0= ruleCollectionTypedRefCS ) ) otherlv_3= '{' ( ( ( (lv_memberIdentifier_4_1= ruleNameExpCS | lv_memberIdentifier_4_2= ruleTemplateCS | lv_memberIdentifier_4_3= ruleAnyElementCS ) ) ) (otherlv_5= ',' ( ( (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS ) ) ) )* otherlv_7= '++' ( ( (lv_restIdentifier_8_1= ruleNameExpCS | lv_restIdentifier_8_2= ruleAnyElementCS ) ) )? )? otherlv_9= '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1472:2: ( ( ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_type_2_0= ruleCollectionTypedRefCS ) ) otherlv_3= '{' ( ( ( (lv_memberIdentifier_4_1= ruleNameExpCS | lv_memberIdentifier_4_2= ruleTemplateCS | lv_memberIdentifier_4_3= ruleAnyElementCS ) ) ) (otherlv_5= ',' ( ( (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS ) ) ) )* otherlv_7= '++' ( ( (lv_restIdentifier_8_1= ruleNameExpCS | lv_restIdentifier_8_2= ruleAnyElementCS ) ) )? )? otherlv_9= '}'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1472:2: ( ( ruleUnrestrictedName ) )?
+ int alt30=2;
+ int LA30_0 = input.LA(1);
+
+ if ( ((LA30_0>=RULE_SIMPLE_ID && LA30_0<=RULE_ESCAPED_ID)||LA30_0==17||LA30_0==20||LA30_0==24||(LA30_0>=28 && LA30_0<=39)||(LA30_0>=43 && LA30_0<=44)||(LA30_0>=46 && LA30_0<=47)) ) {
+ alt30=1;
+ }
+ switch (alt30) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1473:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1473:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1474:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getCollectionTemplateCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getPropertyIdPropertyCrossReference_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleCollectionTemplateCS3041);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_1=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleCollectionTemplateCS3054); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getCollectionTemplateCSAccess().getColonKeyword_1());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1494:1: ( (lv_type_2_0= ruleCollectionTypedRefCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1495:1: (lv_type_2_0= ruleCollectionTypedRefCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1495:1: (lv_type_2_0= ruleCollectionTypedRefCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1496:3: lv_type_2_0= ruleCollectionTypedRefCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getTypeCollectionTypedRefCSParserRuleCall_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTypedRefCS_in_ruleCollectionTemplateCS3075);
+ lv_type_2_0=ruleCollectionTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ set(
+ current,
+ "type",
+ lv_type_2_0,
+ "CollectionTypedRefCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleCollectionTemplateCS3087); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getCollectionTemplateCSAccess().getLeftCurlyBracketKeyword_3());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1516:1: ( ( ( (lv_memberIdentifier_4_1= ruleNameExpCS | lv_memberIdentifier_4_2= ruleTemplateCS | lv_memberIdentifier_4_3= ruleAnyElementCS ) ) ) (otherlv_5= ',' ( ( (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS ) ) ) )* otherlv_7= '++' ( ( (lv_restIdentifier_8_1= ruleNameExpCS | lv_restIdentifier_8_2= ruleAnyElementCS ) ) )? )?
+ int alt36=2;
+ int LA36_0 = input.LA(1);
+
+ if ( ((LA36_0>=RULE_SIMPLE_ID && LA36_0<=RULE_ESCAPED_ID)||LA36_0==17||LA36_0==20||LA36_0==24||(LA36_0>=27 && LA36_0<=39)||(LA36_0>=42 && LA36_0<=44)||(LA36_0>=46 && LA36_0<=47)) ) {
+ alt36=1;
+ }
+ switch (alt36) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1516:2: ( ( (lv_memberIdentifier_4_1= ruleNameExpCS | lv_memberIdentifier_4_2= ruleTemplateCS | lv_memberIdentifier_4_3= ruleAnyElementCS ) ) ) (otherlv_5= ',' ( ( (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS ) ) ) )* otherlv_7= '++' ( ( (lv_restIdentifier_8_1= ruleNameExpCS | lv_restIdentifier_8_2= ruleAnyElementCS ) ) )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1516:2: ( ( (lv_memberIdentifier_4_1= ruleNameExpCS | lv_memberIdentifier_4_2= ruleTemplateCS | lv_memberIdentifier_4_3= ruleAnyElementCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1517:1: ( (lv_memberIdentifier_4_1= ruleNameExpCS | lv_memberIdentifier_4_2= ruleTemplateCS | lv_memberIdentifier_4_3= ruleAnyElementCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1517:1: ( (lv_memberIdentifier_4_1= ruleNameExpCS | lv_memberIdentifier_4_2= ruleTemplateCS | lv_memberIdentifier_4_3= ruleAnyElementCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1518:1: (lv_memberIdentifier_4_1= ruleNameExpCS | lv_memberIdentifier_4_2= ruleTemplateCS | lv_memberIdentifier_4_3= ruleAnyElementCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1518:1: (lv_memberIdentifier_4_1= ruleNameExpCS | lv_memberIdentifier_4_2= ruleTemplateCS | lv_memberIdentifier_4_3= ruleAnyElementCS )
+ int alt31=3;
+ alt31 = dfa31.predict(input);
+ switch (alt31) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1519:3: lv_memberIdentifier_4_1= ruleNameExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierNameExpCSParserRuleCall_4_0_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_ruleCollectionTemplateCS3111);
+ lv_memberIdentifier_4_1=ruleNameExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ add(
+ current,
+ "memberIdentifier",
+ lv_memberIdentifier_4_1,
+ "NameExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1534:8: lv_memberIdentifier_4_2= ruleTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierTemplateCSParserRuleCall_4_0_0_1());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTemplateCS_in_ruleCollectionTemplateCS3130);
+ lv_memberIdentifier_4_2=ruleTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ add(
+ current,
+ "memberIdentifier",
+ lv_memberIdentifier_4_2,
+ "TemplateCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1549:8: lv_memberIdentifier_4_3= ruleAnyElementCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAnyElementCSParserRuleCall_4_0_0_2());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleAnyElementCS_in_ruleCollectionTemplateCS3149);
+ lv_memberIdentifier_4_3=ruleAnyElementCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ add(
+ current,
+ "memberIdentifier",
+ lv_memberIdentifier_4_3,
+ "AnyElementCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1567:2: (otherlv_5= ',' ( ( (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS ) ) ) )*
+ loop33:
+ do {
+ int alt33=2;
+ int LA33_0 = input.LA(1);
+
+ if ( (LA33_0==22) ) {
+ alt33=1;
+ }
+
+
+ switch (alt33) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1567:4: otherlv_5= ',' ( ( (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS ) ) )
+ {
+ otherlv_5=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleCollectionTemplateCS3165); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getCollectionTemplateCSAccess().getCommaKeyword_4_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1571:1: ( ( (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1572:1: ( (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1572:1: ( (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1573:1: (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1573:1: (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS )
+ int alt32=3;
+ alt32 = dfa32.predict(input);
+ switch (alt32) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1574:3: lv_memberIdentifier_6_1= ruleNameExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierNameExpCSParserRuleCall_4_1_1_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_ruleCollectionTemplateCS3188);
+ lv_memberIdentifier_6_1=ruleNameExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ add(
+ current,
+ "memberIdentifier",
+ lv_memberIdentifier_6_1,
+ "NameExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1589:8: lv_memberIdentifier_6_2= ruleTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierTemplateCSParserRuleCall_4_1_1_0_1());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTemplateCS_in_ruleCollectionTemplateCS3207);
+ lv_memberIdentifier_6_2=ruleTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ add(
+ current,
+ "memberIdentifier",
+ lv_memberIdentifier_6_2,
+ "TemplateCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1604:8: lv_memberIdentifier_6_3= ruleAnyElementCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getMemberIdentifierAnyElementCSParserRuleCall_4_1_1_0_2());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleAnyElementCS_in_ruleCollectionTemplateCS3226);
+ lv_memberIdentifier_6_3=ruleAnyElementCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ add(
+ current,
+ "memberIdentifier",
+ lv_memberIdentifier_6_3,
+ "AnyElementCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop33;
+ }
+ } while (true);
+
+ otherlv_7=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleCollectionTemplateCS3243); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_7, grammarAccess.getCollectionTemplateCSAccess().getPlusSignPlusSignKeyword_4_2());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1626:1: ( ( (lv_restIdentifier_8_1= ruleNameExpCS | lv_restIdentifier_8_2= ruleAnyElementCS ) ) )?
+ int alt35=2;
+ int LA35_0 = input.LA(1);
+
+ if ( ((LA35_0>=RULE_SIMPLE_ID && LA35_0<=RULE_ESCAPED_ID)||LA35_0==17||LA35_0==20||LA35_0==24||(LA35_0>=28 && LA35_0<=39)||(LA35_0>=42 && LA35_0<=44)||(LA35_0>=46 && LA35_0<=47)) ) {
+ alt35=1;
+ }
+ switch (alt35) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1627:1: ( (lv_restIdentifier_8_1= ruleNameExpCS | lv_restIdentifier_8_2= ruleAnyElementCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1627:1: ( (lv_restIdentifier_8_1= ruleNameExpCS | lv_restIdentifier_8_2= ruleAnyElementCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1628:1: (lv_restIdentifier_8_1= ruleNameExpCS | lv_restIdentifier_8_2= ruleAnyElementCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1628:1: (lv_restIdentifier_8_1= ruleNameExpCS | lv_restIdentifier_8_2= ruleAnyElementCS )
+ int alt34=2;
+ int LA34_0 = input.LA(1);
+
+ if ( ((LA34_0>=RULE_SIMPLE_ID && LA34_0<=RULE_ESCAPED_ID)||LA34_0==17||LA34_0==20||LA34_0==24||(LA34_0>=28 && LA34_0<=39)||(LA34_0>=43 && LA34_0<=44)||(LA34_0>=46 && LA34_0<=47)) ) {
+ alt34=1;
+ }
+ else if ( (LA34_0==42) ) {
+ alt34=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 34, 0, input);
+
+ throw nvae;
+ }
+ switch (alt34) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1629:3: lv_restIdentifier_8_1= ruleNameExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierNameExpCSParserRuleCall_4_3_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_ruleCollectionTemplateCS3266);
+ lv_restIdentifier_8_1=ruleNameExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ set(
+ current,
+ "restIdentifier",
+ lv_restIdentifier_8_1,
+ "NameExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1644:8: lv_restIdentifier_8_2= ruleAnyElementCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getRestIdentifierAnyElementCSParserRuleCall_4_3_0_1());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleAnyElementCS_in_ruleCollectionTemplateCS3285);
+ lv_restIdentifier_8_2=ruleAnyElementCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
+ }
+ set(
+ current,
+ "restIdentifier",
+ lv_restIdentifier_8_2,
+ "AnyElementCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_9=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleCollectionTemplateCS3303); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_9, grammarAccess.getCollectionTemplateCSAccess().getRightCurlyBracketKeyword_5());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleCollectionTemplateCS"
+
+
+ // $ANTLR start "entryRuleNameExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1674:1: entryRuleNameExpCS returns [EObject current=null] : iv_ruleNameExpCS= ruleNameExpCS EOF ;
+ public final EObject entryRuleNameExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNameExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1675:2: (iv_ruleNameExpCS= ruleNameExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1676:2: iv_ruleNameExpCS= ruleNameExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNameExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_entryRuleNameExpCS3339);
+ iv_ruleNameExpCS=ruleNameExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNameExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNameExpCS3349); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNameExpCS"
+
+
+ // $ANTLR start "ruleNameExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1683:1: ruleNameExpCS returns [EObject current=null] : ( (lv_pathName_0_0= rulePathNameCS ) ) ;
+ public final EObject ruleNameExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_pathName_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1686:28: ( ( (lv_pathName_0_0= rulePathNameCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1687:1: ( (lv_pathName_0_0= rulePathNameCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1687:1: ( (lv_pathName_0_0= rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1688:1: (lv_pathName_0_0= rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1688:1: (lv_pathName_0_0= rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1689:3: lv_pathName_0_0= rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNameExpCSAccess().getPathNamePathNameCSParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleNameExpCS3394);
+ lv_pathName_0_0=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNameExpCSRule());
+ }
+ set(
+ current,
+ "pathName",
+ lv_pathName_0_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNameExpCS"
+
+
+ // $ANTLR start "entryRuleAnyElementCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1713:1: entryRuleAnyElementCS returns [EObject current=null] : iv_ruleAnyElementCS= ruleAnyElementCS EOF ;
+ public final EObject entryRuleAnyElementCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAnyElementCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1714:2: (iv_ruleAnyElementCS= ruleAnyElementCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1715:2: iv_ruleAnyElementCS= ruleAnyElementCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getAnyElementCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleAnyElementCS_in_entryRuleAnyElementCS3429);
+ iv_ruleAnyElementCS=ruleAnyElementCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleAnyElementCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAnyElementCS3439); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAnyElementCS"
+
+
+ // $ANTLR start "ruleAnyElementCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1722:1: ruleAnyElementCS returns [EObject current=null] : ( () otherlv_1= '_' ) ;
+ public final EObject ruleAnyElementCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1725:28: ( ( () otherlv_1= '_' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1726:1: ( () otherlv_1= '_' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1726:1: ( () otherlv_1= '_' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1726:2: () otherlv_1= '_'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1726:2: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1727:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getAnyElementCSAccess().getAnyElementCSAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleAnyElementCS3488); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getAnyElementCSAccess().get_Keyword_1());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAnyElementCS"
+
+
+ // $ANTLR start "entryRuleDefaultValueCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1747:1: entryRuleDefaultValueCS returns [EObject current=null] : iv_ruleDefaultValueCS= ruleDefaultValueCS EOF ;
+ public final EObject entryRuleDefaultValueCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleDefaultValueCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1748:2: (iv_ruleDefaultValueCS= ruleDefaultValueCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1749:2: iv_ruleDefaultValueCS= ruleDefaultValueCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getDefaultValueCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleDefaultValueCS_in_entryRuleDefaultValueCS3524);
+ iv_ruleDefaultValueCS=ruleDefaultValueCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleDefaultValueCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDefaultValueCS3534); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleDefaultValueCS"
+
+
+ // $ANTLR start "ruleDefaultValueCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1756:1: ruleDefaultValueCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_initialiser_2_0= ruleExpCS ) ) otherlv_3= ';' ) ;
+ public final EObject ruleDefaultValueCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ EObject lv_initialiser_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1759:28: ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_initialiser_2_0= ruleExpCS ) ) otherlv_3= ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1760:1: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_initialiser_2_0= ruleExpCS ) ) otherlv_3= ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1760:1: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_initialiser_2_0= ruleExpCS ) ) otherlv_3= ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1760:2: ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_initialiser_2_0= ruleExpCS ) ) otherlv_3= ';'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1760:2: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1761:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1761:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1762:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getDefaultValueCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getDefaultValueCSAccess().getPropertyIdPropertyCrossReference_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleDefaultValueCS3586);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleDefaultValueCS3598); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getDefaultValueCSAccess().getEqualsSignKeyword_1());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1782:1: ( (lv_initialiser_2_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1783:1: (lv_initialiser_2_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1783:1: (lv_initialiser_2_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1784:3: lv_initialiser_2_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getDefaultValueCSAccess().getInitialiserExpCSParserRuleCall_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleDefaultValueCS3619);
+ lv_initialiser_2_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getDefaultValueCSRule());
+ }
+ set(
+ current,
+ "initialiser",
+ lv_initialiser_2_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleDefaultValueCS3631); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getDefaultValueCSAccess().getSemicolonKeyword_3());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleDefaultValueCS"
+
+
+ // $ANTLR start "entryRuleQueryCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1812:1: entryRuleQueryCS returns [EObject current=null] : iv_ruleQueryCS= ruleQueryCS EOF ;
+ public final EObject entryRuleQueryCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleQueryCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1813:2: (iv_ruleQueryCS= ruleQueryCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1814:2: iv_ruleQueryCS= ruleQueryCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getQueryCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleQueryCS_in_entryRuleQueryCS3667);
+ iv_ruleQueryCS=ruleQueryCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleQueryCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleQueryCS3677); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleQueryCS"
+
+
+ // $ANTLR start "ruleQueryCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1821:1: ruleQueryCS returns [EObject current=null] : (otherlv_0= 'query' ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '(' ( ( (lv_inputParamDeclaration_3_0= ruleParamDeclarationCS ) ) (otherlv_4= ',' ( (lv_inputParamDeclaration_5_0= ruleParamDeclarationCS ) ) )* )? otherlv_6= ')' otherlv_7= ':' ( (lv_type_8_0= ruleTypedRefCS ) ) (otherlv_9= ';' | (otherlv_10= '{' ( (lv_oclExpression_11_0= ruleExpCS ) ) otherlv_12= '}' ) ) ) ;
+ public final EObject ruleQueryCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ Token otherlv_6=null;
+ Token otherlv_7=null;
+ Token otherlv_9=null;
+ Token otherlv_10=null;
+ Token otherlv_12=null;
+ EObject lv_pathName_1_0 = null;
+
+ EObject lv_inputParamDeclaration_3_0 = null;
+
+ EObject lv_inputParamDeclaration_5_0 = null;
+
+ EObject lv_type_8_0 = null;
+
+ EObject lv_oclExpression_11_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1824:28: ( (otherlv_0= 'query' ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '(' ( ( (lv_inputParamDeclaration_3_0= ruleParamDeclarationCS ) ) (otherlv_4= ',' ( (lv_inputParamDeclaration_5_0= ruleParamDeclarationCS ) ) )* )? otherlv_6= ')' otherlv_7= ':' ( (lv_type_8_0= ruleTypedRefCS ) ) (otherlv_9= ';' | (otherlv_10= '{' ( (lv_oclExpression_11_0= ruleExpCS ) ) otherlv_12= '}' ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1825:1: (otherlv_0= 'query' ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '(' ( ( (lv_inputParamDeclaration_3_0= ruleParamDeclarationCS ) ) (otherlv_4= ',' ( (lv_inputParamDeclaration_5_0= ruleParamDeclarationCS ) ) )* )? otherlv_6= ')' otherlv_7= ':' ( (lv_type_8_0= ruleTypedRefCS ) ) (otherlv_9= ';' | (otherlv_10= '{' ( (lv_oclExpression_11_0= ruleExpCS ) ) otherlv_12= '}' ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1825:1: (otherlv_0= 'query' ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '(' ( ( (lv_inputParamDeclaration_3_0= ruleParamDeclarationCS ) ) (otherlv_4= ',' ( (lv_inputParamDeclaration_5_0= ruleParamDeclarationCS ) ) )* )? otherlv_6= ')' otherlv_7= ':' ( (lv_type_8_0= ruleTypedRefCS ) ) (otherlv_9= ';' | (otherlv_10= '{' ( (lv_oclExpression_11_0= ruleExpCS ) ) otherlv_12= '}' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1825:3: otherlv_0= 'query' ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '(' ( ( (lv_inputParamDeclaration_3_0= ruleParamDeclarationCS ) ) (otherlv_4= ',' ( (lv_inputParamDeclaration_5_0= ruleParamDeclarationCS ) ) )* )? otherlv_6= ')' otherlv_7= ':' ( (lv_type_8_0= ruleTypedRefCS ) ) (otherlv_9= ';' | (otherlv_10= '{' ( (lv_oclExpression_11_0= ruleExpCS ) ) otherlv_12= '}' ) )
+ {
+ otherlv_0=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleQueryCS3714); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getQueryCSAccess().getQueryKeyword_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1829:1: ( (lv_pathName_1_0= rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1830:1: (lv_pathName_1_0= rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1830:1: (lv_pathName_1_0= rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1831:3: lv_pathName_1_0= rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getQueryCSAccess().getPathNamePathNameCSParserRuleCall_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleQueryCS3735);
+ lv_pathName_1_0=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getQueryCSRule());
+ }
+ set(
+ current,
+ "pathName",
+ lv_pathName_1_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleQueryCS3747); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getQueryCSAccess().getLeftParenthesisKeyword_2());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1851:1: ( ( (lv_inputParamDeclaration_3_0= ruleParamDeclarationCS ) ) (otherlv_4= ',' ( (lv_inputParamDeclaration_5_0= ruleParamDeclarationCS ) ) )* )?
+ int alt38=2;
+ int LA38_0 = input.LA(1);
+
+ if ( ((LA38_0>=RULE_SIMPLE_ID && LA38_0<=RULE_ESCAPED_ID)||LA38_0==17||LA38_0==20||LA38_0==24||(LA38_0>=28 && LA38_0<=39)||(LA38_0>=43 && LA38_0<=44)||(LA38_0>=46 && LA38_0<=47)) ) {
+ alt38=1;
+ }
+ switch (alt38) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1851:2: ( (lv_inputParamDeclaration_3_0= ruleParamDeclarationCS ) ) (otherlv_4= ',' ( (lv_inputParamDeclaration_5_0= ruleParamDeclarationCS ) ) )*
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1851:2: ( (lv_inputParamDeclaration_3_0= ruleParamDeclarationCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1852:1: (lv_inputParamDeclaration_3_0= ruleParamDeclarationCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1852:1: (lv_inputParamDeclaration_3_0= ruleParamDeclarationCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1853:3: lv_inputParamDeclaration_3_0= ruleParamDeclarationCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getQueryCSAccess().getInputParamDeclarationParamDeclarationCSParserRuleCall_3_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleParamDeclarationCS_in_ruleQueryCS3769);
+ lv_inputParamDeclaration_3_0=ruleParamDeclarationCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getQueryCSRule());
+ }
+ add(
+ current,
+ "inputParamDeclaration",
+ lv_inputParamDeclaration_3_0,
+ "ParamDeclarationCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1869:2: (otherlv_4= ',' ( (lv_inputParamDeclaration_5_0= ruleParamDeclarationCS ) ) )*
+ loop37:
+ do {
+ int alt37=2;
+ int LA37_0 = input.LA(1);
+
+ if ( (LA37_0==22) ) {
+ alt37=1;
+ }
+
+
+ switch (alt37) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1869:4: otherlv_4= ',' ( (lv_inputParamDeclaration_5_0= ruleParamDeclarationCS ) )
+ {
+ otherlv_4=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleQueryCS3782); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getQueryCSAccess().getCommaKeyword_3_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1873:1: ( (lv_inputParamDeclaration_5_0= ruleParamDeclarationCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1874:1: (lv_inputParamDeclaration_5_0= ruleParamDeclarationCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1874:1: (lv_inputParamDeclaration_5_0= ruleParamDeclarationCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1875:3: lv_inputParamDeclaration_5_0= ruleParamDeclarationCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getQueryCSAccess().getInputParamDeclarationParamDeclarationCSParserRuleCall_3_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleParamDeclarationCS_in_ruleQueryCS3803);
+ lv_inputParamDeclaration_5_0=ruleParamDeclarationCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getQueryCSRule());
+ }
+ add(
+ current,
+ "inputParamDeclaration",
+ lv_inputParamDeclaration_5_0,
+ "ParamDeclarationCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop37;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ otherlv_6=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleQueryCS3819); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_6, grammarAccess.getQueryCSAccess().getRightParenthesisKeyword_4());
+
+ }
+ otherlv_7=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleQueryCS3831); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_7, grammarAccess.getQueryCSAccess().getColonKeyword_5());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1899:1: ( (lv_type_8_0= ruleTypedRefCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1900:1: (lv_type_8_0= ruleTypedRefCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1900:1: (lv_type_8_0= ruleTypedRefCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1901:3: lv_type_8_0= ruleTypedRefCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getQueryCSAccess().getTypeTypedRefCSParserRuleCall_6_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleQueryCS3852);
+ lv_type_8_0=ruleTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getQueryCSRule());
+ }
+ set(
+ current,
+ "type",
+ lv_type_8_0,
+ "TypedRefCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1917:2: (otherlv_9= ';' | (otherlv_10= '{' ( (lv_oclExpression_11_0= ruleExpCS ) ) otherlv_12= '}' ) )
+ int alt39=2;
+ int LA39_0 = input.LA(1);
+
+ if ( (LA39_0==18) ) {
+ alt39=1;
+ }
+ else if ( (LA39_0==25) ) {
+ alt39=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 39, 0, input);
+
+ throw nvae;
+ }
+ switch (alt39) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1917:4: otherlv_9= ';'
+ {
+ otherlv_9=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleQueryCS3865); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_9, grammarAccess.getQueryCSAccess().getSemicolonKeyword_7_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1922:6: (otherlv_10= '{' ( (lv_oclExpression_11_0= ruleExpCS ) ) otherlv_12= '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1922:6: (otherlv_10= '{' ( (lv_oclExpression_11_0= ruleExpCS ) ) otherlv_12= '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1922:8: otherlv_10= '{' ( (lv_oclExpression_11_0= ruleExpCS ) ) otherlv_12= '}'
+ {
+ otherlv_10=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleQueryCS3884); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_10, grammarAccess.getQueryCSAccess().getLeftCurlyBracketKeyword_7_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1926:1: ( (lv_oclExpression_11_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1927:1: (lv_oclExpression_11_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1927:1: (lv_oclExpression_11_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1928:3: lv_oclExpression_11_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getQueryCSAccess().getOclExpressionExpCSParserRuleCall_7_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleQueryCS3905);
+ lv_oclExpression_11_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getQueryCSRule());
+ }
+ set(
+ current,
+ "oclExpression",
+ lv_oclExpression_11_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_12=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleQueryCS3917); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_12, grammarAccess.getQueryCSAccess().getRightCurlyBracketKeyword_7_1_2());
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleQueryCS"
+
+
+ // $ANTLR start "entryRuleParamDeclarationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1956:1: entryRuleParamDeclarationCS returns [EObject current=null] : iv_ruleParamDeclarationCS= ruleParamDeclarationCS EOF ;
+ public final EObject entryRuleParamDeclarationCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleParamDeclarationCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1957:2: (iv_ruleParamDeclarationCS= ruleParamDeclarationCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1958:2: iv_ruleParamDeclarationCS= ruleParamDeclarationCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getParamDeclarationCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleParamDeclarationCS_in_entryRuleParamDeclarationCS3955);
+ iv_ruleParamDeclarationCS=ruleParamDeclarationCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleParamDeclarationCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParamDeclarationCS3965); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleParamDeclarationCS"
+
+
+ // $ANTLR start "ruleParamDeclarationCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1965:1: ruleParamDeclarationCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_type_2_0= ruleTypedRefCS ) ) ) ;
+ public final EObject ruleParamDeclarationCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ AntlrDatatypeRuleToken lv_name_0_0 = null;
+
+ EObject lv_type_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1968:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_type_2_0= ruleTypedRefCS ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1969:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_type_2_0= ruleTypedRefCS ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1969:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_type_2_0= ruleTypedRefCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1969:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_type_2_0= ruleTypedRefCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1969:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1970:1: (lv_name_0_0= ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1970:1: (lv_name_0_0= ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1971:3: lv_name_0_0= ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getParamDeclarationCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleParamDeclarationCS4011);
+ lv_name_0_0=ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getParamDeclarationCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_0_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleParamDeclarationCS4023); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getParamDeclarationCSAccess().getColonKeyword_1());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1991:1: ( (lv_type_2_0= ruleTypedRefCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1992:1: (lv_type_2_0= ruleTypedRefCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1992:1: (lv_type_2_0= ruleTypedRefCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1993:3: lv_type_2_0= ruleTypedRefCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getParamDeclarationCSAccess().getTypeTypedRefCSParserRuleCall_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleParamDeclarationCS4044);
+ lv_type_2_0=ruleTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getParamDeclarationCSRule());
+ }
+ set(
+ current,
+ "type",
+ lv_type_2_0,
+ "TypedRefCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleParamDeclarationCS"
+
+
+ // $ANTLR start "entryRuleCollectionTypedRefCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2017:1: entryRuleCollectionTypedRefCS returns [EObject current=null] : iv_ruleCollectionTypedRefCS= ruleCollectionTypedRefCS EOF ;
+ public final EObject entryRuleCollectionTypedRefCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleCollectionTypedRefCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2018:2: (iv_ruleCollectionTypedRefCS= ruleCollectionTypedRefCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2019:2: iv_ruleCollectionTypedRefCS= ruleCollectionTypedRefCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getCollectionTypedRefCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTypedRefCS_in_entryRuleCollectionTypedRefCS4080);
+ iv_ruleCollectionTypedRefCS=ruleCollectionTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleCollectionTypedRefCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionTypedRefCS4090); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleCollectionTypedRefCS"
+
+
+ // $ANTLR start "ruleCollectionTypedRefCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2026:1: ruleCollectionTypedRefCS returns [EObject current=null] : ( (lv_pathName_0_0= rulePathNameCS ) ) ;
+ public final EObject ruleCollectionTypedRefCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_pathName_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2029:28: ( ( (lv_pathName_0_0= rulePathNameCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2030:1: ( (lv_pathName_0_0= rulePathNameCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2030:1: ( (lv_pathName_0_0= rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2031:1: (lv_pathName_0_0= rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2031:1: (lv_pathName_0_0= rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2032:3: lv_pathName_0_0= rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionTypedRefCSAccess().getPathNamePathNameCSParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleCollectionTypedRefCS4135);
+ lv_pathName_0_0=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionTypedRefCSRule());
+ }
+ set(
+ current,
+ "pathName",
+ lv_pathName_0_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleCollectionTypedRefCS"
+
+
+ // $ANTLR start "entryRuleTypedRefCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2056:1: entryRuleTypedRefCS returns [EObject current=null] : iv_ruleTypedRefCS= ruleTypedRefCS EOF ;
+ public final EObject entryRuleTypedRefCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTypedRefCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2057:2: (iv_ruleTypedRefCS= ruleTypedRefCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2058:2: iv_ruleTypedRefCS= ruleTypedRefCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getTypedRefCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_entryRuleTypedRefCS4170);
+ iv_ruleTypedRefCS=ruleTypedRefCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleTypedRefCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypedRefCS4180); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTypedRefCS"
+
+
+ // $ANTLR start "ruleTypedRefCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2065:1: ruleTypedRefCS returns [EObject current=null] : ( (lv_pathName_0_0= rulePathNameCS ) ) ;
+ public final EObject ruleTypedRefCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_pathName_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2068:28: ( ( (lv_pathName_0_0= rulePathNameCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2069:1: ( (lv_pathName_0_0= rulePathNameCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2069:1: ( (lv_pathName_0_0= rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2070:1: (lv_pathName_0_0= rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2070:1: (lv_pathName_0_0= rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2071:3: lv_pathName_0_0= rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTypedRefCSAccess().getPathNamePathNameCSParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleTypedRefCS4225);
+ lv_pathName_0_0=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTypedRefCSRule());
+ }
+ set(
+ current,
+ "pathName",
+ lv_pathName_0_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTypedRefCS"
+
+
+ // $ANTLR start "entryRuleUnrestrictedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2095:1: entryRuleUnrestrictedName returns [String current=null] : iv_ruleUnrestrictedName= ruleUnrestrictedName EOF ;
+ public final String entryRuleUnrestrictedName() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleUnrestrictedName = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2096:2: (iv_ruleUnrestrictedName= ruleUnrestrictedName EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2097:2: iv_ruleUnrestrictedName= ruleUnrestrictedName EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getUnrestrictedNameRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_entryRuleUnrestrictedName4261);
+ iv_ruleUnrestrictedName=ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleUnrestrictedName.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnrestrictedName4272); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleUnrestrictedName"
+
+
+ // $ANTLR start "ruleUnrestrictedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2104:1: ruleUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'checkonly' | kw= 'default_values' | kw= 'domain' | kw= 'enforce' | kw= 'extends' | kw= 'implementedby' | kw= 'import' | kw= 'key' | kw= 'overrides' | kw= 'primitive' | kw= 'query' | kw= 'relation' | kw= 'replace' | kw= 'top' | kw= 'transformation' | kw= 'when' | kw= 'where' ) ;
+ public final AntlrDatatypeRuleToken ruleUnrestrictedName() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+ AntlrDatatypeRuleToken this_EssentialOCLUnrestrictedName_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2107:28: ( (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'checkonly' | kw= 'default_values' | kw= 'domain' | kw= 'enforce' | kw= 'extends' | kw= 'implementedby' | kw= 'import' | kw= 'key' | kw= 'overrides' | kw= 'primitive' | kw= 'query' | kw= 'relation' | kw= 'replace' | kw= 'top' | kw= 'transformation' | kw= 'when' | kw= 'where' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2108:1: (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'checkonly' | kw= 'default_values' | kw= 'domain' | kw= 'enforce' | kw= 'extends' | kw= 'implementedby' | kw= 'import' | kw= 'key' | kw= 'overrides' | kw= 'primitive' | kw= 'query' | kw= 'relation' | kw= 'replace' | kw= 'top' | kw= 'transformation' | kw= 'when' | kw= 'where' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2108:1: (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'checkonly' | kw= 'default_values' | kw= 'domain' | kw= 'enforce' | kw= 'extends' | kw= 'implementedby' | kw= 'import' | kw= 'key' | kw= 'overrides' | kw= 'primitive' | kw= 'query' | kw= 'relation' | kw= 'replace' | kw= 'top' | kw= 'transformation' | kw= 'when' | kw= 'where' )
+ int alt40=18;
+ switch ( input.LA(1) ) {
+ case RULE_SIMPLE_ID:
+ case RULE_ESCAPED_ID:
+ case 46:
+ case 47:
+ {
+ alt40=1;
+ }
+ break;
+ case 34:
+ {
+ alt40=2;
+ }
+ break;
+ case 38:
+ {
+ alt40=3;
+ }
+ break;
+ case 36:
+ {
+ alt40=4;
+ }
+ break;
+ case 35:
+ {
+ alt40=5;
+ }
+ break;
+ case 24:
+ {
+ alt40=6;
+ }
+ break;
+ case 37:
+ {
+ alt40=7;
+ }
+ break;
+ case 17:
+ {
+ alt40=8;
+ }
+ break;
+ case 28:
+ {
+ alt40=9;
+ }
+ break;
+ case 31:
+ {
+ alt40=10;
+ }
+ break;
+ case 39:
+ {
+ alt40=11;
+ }
+ break;
+ case 43:
+ {
+ alt40=12;
+ }
+ break;
+ case 30:
+ {
+ alt40=13;
+ }
+ break;
+ case 44:
+ {
+ alt40=14;
+ }
+ break;
+ case 29:
+ {
+ alt40=15;
+ }
+ break;
+ case 20:
+ {
+ alt40=16;
+ }
+ break;
+ case 32:
+ {
+ alt40=17;
+ }
+ break;
+ case 33:
+ {
+ alt40=18;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 40, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt40) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2109:5: this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getUnrestrictedNameAccess().getEssentialOCLUnrestrictedNameParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnrestrictedName_in_ruleUnrestrictedName4319);
+ this_EssentialOCLUnrestrictedName_0=ruleEssentialOCLUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_EssentialOCLUnrestrictedName_0);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2121:2: kw= 'checkonly'
+ {
+ kw=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleUnrestrictedName4343); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getCheckonlyKeyword_1());
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2128:2: kw= 'default_values'
+ {
+ kw=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleUnrestrictedName4362); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getDefault_valuesKeyword_2());
+
+ }
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2135:2: kw= 'domain'
+ {
+ kw=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleUnrestrictedName4381); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getDomainKeyword_3());
+
+ }
+
+ }
+ break;
+ case 5 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2142:2: kw= 'enforce'
+ {
+ kw=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleUnrestrictedName4400); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getEnforceKeyword_4());
+
+ }
+
+ }
+ break;
+ case 6 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2149:2: kw= 'extends'
+ {
+ kw=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleUnrestrictedName4419); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getExtendsKeyword_5());
+
+ }
+
+ }
+ break;
+ case 7 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2156:2: kw= 'implementedby'
+ {
+ kw=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleUnrestrictedName4438); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getImplementedbyKeyword_6());
+
+ }
+
+ }
+ break;
+ case 8 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2163:2: kw= 'import'
+ {
+ kw=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleUnrestrictedName4457); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getImportKeyword_7());
+
+ }
+
+ }
+ break;
+ case 9 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2170:2: kw= 'key'
+ {
+ kw=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleUnrestrictedName4476); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getKeyKeyword_8());
+
+ }
+
+ }
+ break;
+ case 10 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2177:2: kw= 'overrides'
+ {
+ kw=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleUnrestrictedName4495); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getOverridesKeyword_9());
+
+ }
+
+ }
+ break;
+ case 11 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2184:2: kw= 'primitive'
+ {
+ kw=(Token)match(input,39,FollowSets000.FOLLOW_39_in_ruleUnrestrictedName4514); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getPrimitiveKeyword_10());
+
+ }
+
+ }
+ break;
+ case 12 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2191:2: kw= 'query'
+ {
+ kw=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleUnrestrictedName4533); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getQueryKeyword_11());
+
+ }
+
+ }
+ break;
+ case 13 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2198:2: kw= 'relation'
+ {
+ kw=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleUnrestrictedName4552); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getRelationKeyword_12());
+
+ }
+
+ }
+ break;
+ case 14 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2205:2: kw= 'replace'
+ {
+ kw=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleUnrestrictedName4571); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getReplaceKeyword_13());
+
+ }
+
+ }
+ break;
+ case 15 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2212:2: kw= 'top'
+ {
+ kw=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleUnrestrictedName4590); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getTopKeyword_14());
+
+ }
+
+ }
+ break;
+ case 16 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2219:2: kw= 'transformation'
+ {
+ kw=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleUnrestrictedName4609); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getTransformationKeyword_15());
+
+ }
+
+ }
+ break;
+ case 17 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2226:2: kw= 'when'
+ {
+ kw=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleUnrestrictedName4628); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getWhenKeyword_16());
+
+ }
+
+ }
+ break;
+ case 18 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2233:2: kw= 'where'
+ {
+ kw=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleUnrestrictedName4647); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getWhereKeyword_17());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleUnrestrictedName"
+
+
+ // $ANTLR start "entryRuleID"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2248:1: entryRuleID returns [String current=null] : iv_ruleID= ruleID EOF ;
+ public final String entryRuleID() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleID = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2249:2: (iv_ruleID= ruleID EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2250:2: iv_ruleID= ruleID EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getIDRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleID_in_entryRuleID4690);
+ iv_ruleID=ruleID();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleID.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleID4701); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleID"
+
+
+ // $ANTLR start "ruleID"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2257:1: ruleID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID ) ;
+ public final AntlrDatatypeRuleToken ruleID() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_SIMPLE_ID_0=null;
+ Token this_ESCAPED_ID_1=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2260:28: ( (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2261:1: (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2261:1: (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID )
+ int alt41=2;
+ int LA41_0 = input.LA(1);
+
+ if ( (LA41_0==RULE_SIMPLE_ID) ) {
+ alt41=1;
+ }
+ else if ( (LA41_0==RULE_ESCAPED_ID) ) {
+ alt41=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 41, 0, input);
+
+ throw nvae;
+ }
+ switch (alt41) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2261:6: this_SIMPLE_ID_0= RULE_SIMPLE_ID
+ {
+ this_SIMPLE_ID_0=(Token)match(input,RULE_SIMPLE_ID,FollowSets000.FOLLOW_RULE_SIMPLE_ID_in_ruleID4741); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_SIMPLE_ID_0);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(this_SIMPLE_ID_0, grammarAccess.getIDAccess().getSIMPLE_IDTerminalRuleCall_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2269:10: this_ESCAPED_ID_1= RULE_ESCAPED_ID
+ {
+ this_ESCAPED_ID_1=(Token)match(input,RULE_ESCAPED_ID,FollowSets000.FOLLOW_RULE_ESCAPED_ID_in_ruleID4767); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_ESCAPED_ID_1);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(this_ESCAPED_ID_1, grammarAccess.getIDAccess().getESCAPED_IDTerminalRuleCall_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleID"
+
+
+ // $ANTLR start "entryRuleLOWER"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2284:1: entryRuleLOWER returns [String current=null] : iv_ruleLOWER= ruleLOWER EOF ;
+ public final String entryRuleLOWER() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleLOWER = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2285:2: (iv_ruleLOWER= ruleLOWER EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2286:2: iv_ruleLOWER= ruleLOWER EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getLOWERRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleLOWER_in_entryRuleLOWER4813);
+ iv_ruleLOWER=ruleLOWER();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleLOWER.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLOWER4824); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleLOWER"
+
+
+ // $ANTLR start "ruleLOWER"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2293:1: ruleLOWER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_INT_0= RULE_INT ;
+ public final AntlrDatatypeRuleToken ruleLOWER() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_INT_0=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2296:28: (this_INT_0= RULE_INT )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2297:5: this_INT_0= RULE_INT
+ {
+ this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleLOWER4863); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_INT_0);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(this_INT_0, grammarAccess.getLOWERAccess().getINTTerminalRuleCall());
+
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLOWER"
+
+
+ // $ANTLR start "entryRuleUPPER"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2312:1: entryRuleUPPER returns [String current=null] : iv_ruleUPPER= ruleUPPER EOF ;
+ public final String entryRuleUPPER() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleUPPER = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2313:2: (iv_ruleUPPER= ruleUPPER EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2314:2: iv_ruleUPPER= ruleUPPER EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getUPPERRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUPPER_in_entryRuleUPPER4908);
+ iv_ruleUPPER=ruleUPPER();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleUPPER.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUPPER4919); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleUPPER"
+
+
+ // $ANTLR start "ruleUPPER"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2321:1: ruleUPPER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ;
+ public final AntlrDatatypeRuleToken ruleUPPER() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_INT_0=null;
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2324:28: ( (this_INT_0= RULE_INT | kw= '*' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2325:1: (this_INT_0= RULE_INT | kw= '*' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2325:1: (this_INT_0= RULE_INT | kw= '*' )
+ int alt42=2;
+ int LA42_0 = input.LA(1);
+
+ if ( (LA42_0==RULE_INT) ) {
+ alt42=1;
+ }
+ else if ( (LA42_0==45) ) {
+ alt42=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 42, 0, input);
+
+ throw nvae;
+ }
+ switch (alt42) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2325:6: this_INT_0= RULE_INT
+ {
+ this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleUPPER4959); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_INT_0);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(this_INT_0, grammarAccess.getUPPERAccess().getINTTerminalRuleCall_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2334:2: kw= '*'
+ {
+ kw=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleUPPER4983); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUPPERAccess().getAsteriskKeyword_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleUPPER"
+
+
+ // $ANTLR start "entryRuleNUMBER_LITERAL"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2347:1: entryRuleNUMBER_LITERAL returns [String current=null] : iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF ;
+ public final String entryRuleNUMBER_LITERAL() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleNUMBER_LITERAL = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2348:2: (iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2349:2: iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNUMBER_LITERALRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNUMBER_LITERAL_in_entryRuleNUMBER_LITERAL5024);
+ iv_ruleNUMBER_LITERAL=ruleNUMBER_LITERAL();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNUMBER_LITERAL.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNUMBER_LITERAL5035); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNUMBER_LITERAL"
+
+
+ // $ANTLR start "ruleNUMBER_LITERAL"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2356:1: ruleNUMBER_LITERAL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ( (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_7= RULE_INT )? ) ;
+ public final AntlrDatatypeRuleToken ruleNUMBER_LITERAL() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_INT_0=null;
+ Token kw=null;
+ Token this_INT_2=null;
+ Token this_INT_7=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2359:28: ( (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ( (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_7= RULE_INT )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2360:1: (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ( (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_7= RULE_INT )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2360:1: (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ( (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_7= RULE_INT )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2360:6: this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ( (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_7= RULE_INT )?
+ {
+ this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleNUMBER_LITERAL5075); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_INT_0);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(this_INT_0, grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2367:1: (kw= '.' this_INT_2= RULE_INT )?
+ int alt43=2;
+ int LA43_0 = input.LA(1);
+
+ if ( (LA43_0==19) ) {
+ int LA43_1 = input.LA(2);
+
+ if ( (LA43_1==RULE_INT) ) {
+ int LA43_3 = input.LA(3);
+
+ if ( (synpred64_InternalQVTrelation()) ) {
+ alt43=1;
+ }
+ }
+ }
+ switch (alt43) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2368:2: kw= '.' this_INT_2= RULE_INT
+ {
+ kw=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleNUMBER_LITERAL5094); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getNUMBER_LITERALAccess().getFullStopKeyword_1_0());
+
+ }
+ this_INT_2=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleNUMBER_LITERAL5109); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_INT_2);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(this_INT_2, grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_1_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2380:3: ( (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_7= RULE_INT )?
+ int alt46=2;
+ int LA46_0 = input.LA(1);
+
+ if ( ((LA46_0>=46 && LA46_0<=47)) ) {
+ alt46=1;
+ }
+ switch (alt46) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2380:4: (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_7= RULE_INT
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2380:4: (kw= 'e' | kw= 'E' )
+ int alt44=2;
+ int LA44_0 = input.LA(1);
+
+ if ( (LA44_0==46) ) {
+ alt44=1;
+ }
+ else if ( (LA44_0==47) ) {
+ alt44=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 44, 0, input);
+
+ throw nvae;
+ }
+ switch (alt44) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2381:2: kw= 'e'
+ {
+ kw=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleNUMBER_LITERAL5131); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getNUMBER_LITERALAccess().getEKeyword_2_0_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2388:2: kw= 'E'
+ {
+ kw=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleNUMBER_LITERAL5150); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getNUMBER_LITERALAccess().getEKeyword_2_0_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2393:2: (kw= '+' | kw= '-' )?
+ int alt45=3;
+ int LA45_0 = input.LA(1);
+
+ if ( (LA45_0==48) ) {
+ alt45=1;
+ }
+ else if ( (LA45_0==49) ) {
+ alt45=2;
+ }
+ switch (alt45) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2394:2: kw= '+'
+ {
+ kw=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleNUMBER_LITERAL5165); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getNUMBER_LITERALAccess().getPlusSignKeyword_2_1_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2401:2: kw= '-'
+ {
+ kw=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleNUMBER_LITERAL5184); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getNUMBER_LITERALAccess().getHyphenMinusKeyword_2_1_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+ this_INT_7=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleNUMBER_LITERAL5201); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_INT_7);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(this_INT_7, grammarAccess.getNUMBER_LITERALAccess().getINTTerminalRuleCall_2_2());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNUMBER_LITERAL"
+
+
+ // $ANTLR start "entryRuleEssentialOCLUnrestrictedIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2425:1: entryRuleEssentialOCLUnrestrictedIdentifier returns [String current=null] : iv_ruleEssentialOCLUnrestrictedIdentifier= ruleEssentialOCLUnrestrictedIdentifier EOF ;
+ public final String entryRuleEssentialOCLUnrestrictedIdentifier() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleEssentialOCLUnrestrictedIdentifier = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2426:2: (iv_ruleEssentialOCLUnrestrictedIdentifier= ruleEssentialOCLUnrestrictedIdentifier EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2427:2: iv_ruleEssentialOCLUnrestrictedIdentifier= ruleEssentialOCLUnrestrictedIdentifier EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getEssentialOCLUnrestrictedIdentifierRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnrestrictedIdentifier_in_entryRuleEssentialOCLUnrestrictedIdentifier5253);
+ iv_ruleEssentialOCLUnrestrictedIdentifier=ruleEssentialOCLUnrestrictedIdentifier();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleEssentialOCLUnrestrictedIdentifier.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnrestrictedIdentifier5264); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleEssentialOCLUnrestrictedIdentifier"
+
+
+ // $ANTLR start "ruleEssentialOCLUnrestrictedIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2434:1: ruleEssentialOCLUnrestrictedIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'e' | kw= 'E' ) ;
+ public final AntlrDatatypeRuleToken ruleEssentialOCLUnrestrictedIdentifier() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2437:28: ( (kw= 'e' | kw= 'E' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2438:1: (kw= 'e' | kw= 'E' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2438:1: (kw= 'e' | kw= 'E' )
+ int alt47=2;
+ int LA47_0 = input.LA(1);
+
+ if ( (LA47_0==46) ) {
+ alt47=1;
+ }
+ else if ( (LA47_0==47) ) {
+ alt47=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 47, 0, input);
+
+ throw nvae;
+ }
+ switch (alt47) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2439:2: kw= 'e'
+ {
+ kw=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleEssentialOCLUnrestrictedIdentifier5302); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getEKeyword_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2446:2: kw= 'E'
+ {
+ kw=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleEssentialOCLUnrestrictedIdentifier5321); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLUnrestrictedIdentifierAccess().getEKeyword_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleEssentialOCLUnrestrictedIdentifier"
+
+
+ // $ANTLR start "entryRuleEssentialOCLPrefixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2459:1: entryRuleEssentialOCLPrefixOperator returns [String current=null] : iv_ruleEssentialOCLPrefixOperator= ruleEssentialOCLPrefixOperator EOF ;
+ public final String entryRuleEssentialOCLPrefixOperator() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleEssentialOCLPrefixOperator = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2460:2: (iv_ruleEssentialOCLPrefixOperator= ruleEssentialOCLPrefixOperator EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2461:2: iv_ruleEssentialOCLPrefixOperator= ruleEssentialOCLPrefixOperator EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getEssentialOCLPrefixOperatorRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLPrefixOperator_in_entryRuleEssentialOCLPrefixOperator5362);
+ iv_ruleEssentialOCLPrefixOperator=ruleEssentialOCLPrefixOperator();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleEssentialOCLPrefixOperator.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLPrefixOperator5373); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleEssentialOCLPrefixOperator"
+
+
+ // $ANTLR start "ruleEssentialOCLPrefixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2468:1: ruleEssentialOCLPrefixOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '-' | kw= 'not' ) ;
+ public final AntlrDatatypeRuleToken ruleEssentialOCLPrefixOperator() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2471:28: ( (kw= '-' | kw= 'not' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2472:1: (kw= '-' | kw= 'not' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2472:1: (kw= '-' | kw= 'not' )
+ int alt48=2;
+ int LA48_0 = input.LA(1);
+
+ if ( (LA48_0==49) ) {
+ alt48=1;
+ }
+ else if ( (LA48_0==50) ) {
+ alt48=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 48, 0, input);
+
+ throw nvae;
+ }
+ switch (alt48) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2473:2: kw= '-'
+ {
+ kw=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleEssentialOCLPrefixOperator5411); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLPrefixOperatorAccess().getHyphenMinusKeyword_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2480:2: kw= 'not'
+ {
+ kw=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleEssentialOCLPrefixOperator5430); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLPrefixOperatorAccess().getNotKeyword_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleEssentialOCLPrefixOperator"
+
+
+ // $ANTLR start "entryRuleEssentialOCLInfixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2493:1: entryRuleEssentialOCLInfixOperator returns [String current=null] : iv_ruleEssentialOCLInfixOperator= ruleEssentialOCLInfixOperator EOF ;
+ public final String entryRuleEssentialOCLInfixOperator() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleEssentialOCLInfixOperator = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2494:2: (iv_ruleEssentialOCLInfixOperator= ruleEssentialOCLInfixOperator EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2495:2: iv_ruleEssentialOCLInfixOperator= ruleEssentialOCLInfixOperator EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getEssentialOCLInfixOperatorRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLInfixOperator_in_entryRuleEssentialOCLInfixOperator5471);
+ iv_ruleEssentialOCLInfixOperator=ruleEssentialOCLInfixOperator();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleEssentialOCLInfixOperator.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLInfixOperator5482); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleEssentialOCLInfixOperator"
+
+
+ // $ANTLR start "ruleEssentialOCLInfixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2502:1: ruleEssentialOCLInfixOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' ) ;
+ public final AntlrDatatypeRuleToken ruleEssentialOCLInfixOperator() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2505:28: ( (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2506:1: (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2506:1: (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' )
+ int alt49=14;
+ switch ( input.LA(1) ) {
+ case 45:
+ {
+ alt49=1;
+ }
+ break;
+ case 51:
+ {
+ alt49=2;
+ }
+ break;
+ case 48:
+ {
+ alt49=3;
+ }
+ break;
+ case 49:
+ {
+ alt49=4;
+ }
+ break;
+ case 52:
+ {
+ alt49=5;
+ }
+ break;
+ case 53:
+ {
+ alt49=6;
+ }
+ break;
+ case 54:
+ {
+ alt49=7;
+ }
+ break;
+ case 55:
+ {
+ alt49=8;
+ }
+ break;
+ case 40:
+ {
+ alt49=9;
+ }
+ break;
+ case 56:
+ {
+ alt49=10;
+ }
+ break;
+ case 57:
+ {
+ alt49=11;
+ }
+ break;
+ case 58:
+ {
+ alt49=12;
+ }
+ break;
+ case 59:
+ {
+ alt49=13;
+ }
+ break;
+ case 60:
+ {
+ alt49=14;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 49, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt49) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2507:2: kw= '*'
+ {
+ kw=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleEssentialOCLInfixOperator5520); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getAsteriskKeyword_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2514:2: kw= '/'
+ {
+ kw=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleEssentialOCLInfixOperator5539); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getSolidusKeyword_1());
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2521:2: kw= '+'
+ {
+ kw=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleEssentialOCLInfixOperator5558); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getPlusSignKeyword_2());
+
+ }
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2528:2: kw= '-'
+ {
+ kw=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleEssentialOCLInfixOperator5577); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getHyphenMinusKeyword_3());
+
+ }
+
+ }
+ break;
+ case 5 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2535:2: kw= '>'
+ {
+ kw=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleEssentialOCLInfixOperator5596); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getGreaterThanSignKeyword_4());
+
+ }
+
+ }
+ break;
+ case 6 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2542:2: kw= '<'
+ {
+ kw=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleEssentialOCLInfixOperator5615); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignKeyword_5());
+
+ }
+
+ }
+ break;
+ case 7 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2549:2: kw= '>='
+ {
+ kw=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleEssentialOCLInfixOperator5634); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getGreaterThanSignEqualsSignKeyword_6());
+
+ }
+
+ }
+ break;
+ case 8 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2556:2: kw= '<='
+ {
+ kw=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleEssentialOCLInfixOperator5653); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignEqualsSignKeyword_7());
+
+ }
+
+ }
+ break;
+ case 9 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2563:2: kw= '='
+ {
+ kw=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleEssentialOCLInfixOperator5672); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getEqualsSignKeyword_8());
+
+ }
+
+ }
+ break;
+ case 10 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2570:2: kw= '<>'
+ {
+ kw=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleEssentialOCLInfixOperator5691); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getLessThanSignGreaterThanSignKeyword_9());
+
+ }
+
+ }
+ break;
+ case 11 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2577:2: kw= 'and'
+ {
+ kw=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleEssentialOCLInfixOperator5710); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getAndKeyword_10());
+
+ }
+
+ }
+ break;
+ case 12 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2584:2: kw= 'or'
+ {
+ kw=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleEssentialOCLInfixOperator5729); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getOrKeyword_11());
+
+ }
+
+ }
+ break;
+ case 13 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2591:2: kw= 'xor'
+ {
+ kw=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleEssentialOCLInfixOperator5748); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getXorKeyword_12());
+
+ }
+
+ }
+ break;
+ case 14 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2598:2: kw= 'implies'
+ {
+ kw=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleEssentialOCLInfixOperator5767); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorAccess().getImpliesKeyword_13());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleEssentialOCLInfixOperator"
+
+
+ // $ANTLR start "entryRuleEssentialOCLNavigationOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2611:1: entryRuleEssentialOCLNavigationOperator returns [String current=null] : iv_ruleEssentialOCLNavigationOperator= ruleEssentialOCLNavigationOperator EOF ;
+ public final String entryRuleEssentialOCLNavigationOperator() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleEssentialOCLNavigationOperator = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2612:2: (iv_ruleEssentialOCLNavigationOperator= ruleEssentialOCLNavigationOperator EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2613:2: iv_ruleEssentialOCLNavigationOperator= ruleEssentialOCLNavigationOperator EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getEssentialOCLNavigationOperatorRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLNavigationOperator_in_entryRuleEssentialOCLNavigationOperator5808);
+ iv_ruleEssentialOCLNavigationOperator=ruleEssentialOCLNavigationOperator();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleEssentialOCLNavigationOperator.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLNavigationOperator5819); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleEssentialOCLNavigationOperator"
+
+
+ // $ANTLR start "ruleEssentialOCLNavigationOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2620:1: ruleEssentialOCLNavigationOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '.' | kw= '->' ) ;
+ public final AntlrDatatypeRuleToken ruleEssentialOCLNavigationOperator() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2623:28: ( (kw= '.' | kw= '->' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2624:1: (kw= '.' | kw= '->' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2624:1: (kw= '.' | kw= '->' )
+ int alt50=2;
+ int LA50_0 = input.LA(1);
+
+ if ( (LA50_0==19) ) {
+ alt50=1;
+ }
+ else if ( (LA50_0==61) ) {
+ alt50=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 50, 0, input);
+
+ throw nvae;
+ }
+ switch (alt50) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2625:2: kw= '.'
+ {
+ kw=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleEssentialOCLNavigationOperator5857); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorAccess().getFullStopKeyword_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2632:2: kw= '->'
+ {
+ kw=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleEssentialOCLNavigationOperator5876); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorAccess().getHyphenMinusGreaterThanSignKeyword_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleEssentialOCLNavigationOperator"
+
+
+ // $ANTLR start "entryRuleIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2645:1: entryRuleIdentifier returns [String current=null] : iv_ruleIdentifier= ruleIdentifier EOF ;
+ public final String entryRuleIdentifier() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleIdentifier = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2646:2: (iv_ruleIdentifier= ruleIdentifier EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2647:2: iv_ruleIdentifier= ruleIdentifier EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getIdentifierRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleIdentifier_in_entryRuleIdentifier5917);
+ iv_ruleIdentifier=ruleIdentifier();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleIdentifier.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIdentifier5928); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleIdentifier"
+
+
+ // $ANTLR start "ruleIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2654:1: ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= ruleID | this_EssentialOCLUnrestrictedIdentifier_1= ruleEssentialOCLUnrestrictedIdentifier ) ;
+ public final AntlrDatatypeRuleToken ruleIdentifier() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ AntlrDatatypeRuleToken this_ID_0 = null;
+
+ AntlrDatatypeRuleToken this_EssentialOCLUnrestrictedIdentifier_1 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2657:28: ( (this_ID_0= ruleID | this_EssentialOCLUnrestrictedIdentifier_1= ruleEssentialOCLUnrestrictedIdentifier ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2658:1: (this_ID_0= ruleID | this_EssentialOCLUnrestrictedIdentifier_1= ruleEssentialOCLUnrestrictedIdentifier )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2658:1: (this_ID_0= ruleID | this_EssentialOCLUnrestrictedIdentifier_1= ruleEssentialOCLUnrestrictedIdentifier )
+ int alt51=2;
+ int LA51_0 = input.LA(1);
+
+ if ( ((LA51_0>=RULE_SIMPLE_ID && LA51_0<=RULE_ESCAPED_ID)) ) {
+ alt51=1;
+ }
+ else if ( ((LA51_0>=46 && LA51_0<=47)) ) {
+ alt51=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 51, 0, input);
+
+ throw nvae;
+ }
+ switch (alt51) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2659:5: this_ID_0= ruleID
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getIdentifierAccess().getIDParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleID_in_ruleIdentifier5975);
+ this_ID_0=ruleID();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_ID_0);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2671:5: this_EssentialOCLUnrestrictedIdentifier_1= ruleEssentialOCLUnrestrictedIdentifier
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getIdentifierAccess().getEssentialOCLUnrestrictedIdentifierParserRuleCall_1());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnrestrictedIdentifier_in_ruleIdentifier6008);
+ this_EssentialOCLUnrestrictedIdentifier_1=ruleEssentialOCLUnrestrictedIdentifier();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_EssentialOCLUnrestrictedIdentifier_1);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleIdentifier"
+
+
+ // $ANTLR start "entryRuleStringLiteral"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2689:1: entryRuleStringLiteral returns [String current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ;
+ public final String entryRuleStringLiteral() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleStringLiteral = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2690:2: (iv_ruleStringLiteral= ruleStringLiteral EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2691:2: iv_ruleStringLiteral= ruleStringLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getStringLiteralRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral6054);
+ iv_ruleStringLiteral=ruleStringLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleStringLiteral.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStringLiteral6065); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleStringLiteral"
+
+
+ // $ANTLR start "ruleStringLiteral"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2698:1: ruleStringLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING ;
+ public final AntlrDatatypeRuleToken ruleStringLiteral() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_SINGLE_QUOTED_STRING_0=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2701:28: (this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2702:5: this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING
+ {
+ this_SINGLE_QUOTED_STRING_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStringLiteral6104); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_SINGLE_QUOTED_STRING_0);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(this_SINGLE_QUOTED_STRING_0, grammarAccess.getStringLiteralAccess().getSINGLE_QUOTED_STRINGTerminalRuleCall());
+
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStringLiteral"
+
+
+ // $ANTLR start "entryRulePrefixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2717:1: entryRulePrefixOperator returns [String current=null] : iv_rulePrefixOperator= rulePrefixOperator EOF ;
+ public final String entryRulePrefixOperator() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_rulePrefixOperator = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2718:2: (iv_rulePrefixOperator= rulePrefixOperator EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2719:2: iv_rulePrefixOperator= rulePrefixOperator EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getPrefixOperatorRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrefixOperator_in_entryRulePrefixOperator6149);
+ iv_rulePrefixOperator=rulePrefixOperator();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_rulePrefixOperator.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrefixOperator6160); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePrefixOperator"
+
+
+ // $ANTLR start "rulePrefixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2726:1: rulePrefixOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLPrefixOperator_0= ruleEssentialOCLPrefixOperator ;
+ public final AntlrDatatypeRuleToken rulePrefixOperator() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ AntlrDatatypeRuleToken this_EssentialOCLPrefixOperator_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2729:28: (this_EssentialOCLPrefixOperator_0= ruleEssentialOCLPrefixOperator )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2731:5: this_EssentialOCLPrefixOperator_0= ruleEssentialOCLPrefixOperator
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrefixOperatorAccess().getEssentialOCLPrefixOperatorParserRuleCall());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLPrefixOperator_in_rulePrefixOperator6206);
+ this_EssentialOCLPrefixOperator_0=ruleEssentialOCLPrefixOperator();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_EssentialOCLPrefixOperator_0);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePrefixOperator"
+
+
+ // $ANTLR start "entryRuleInfixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2749:1: entryRuleInfixOperator returns [String current=null] : iv_ruleInfixOperator= ruleInfixOperator EOF ;
+ public final String entryRuleInfixOperator() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleInfixOperator = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2750:2: (iv_ruleInfixOperator= ruleInfixOperator EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2751:2: iv_ruleInfixOperator= ruleInfixOperator EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getInfixOperatorRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleInfixOperator_in_entryRuleInfixOperator6251);
+ iv_ruleInfixOperator=ruleInfixOperator();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleInfixOperator.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInfixOperator6262); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleInfixOperator"
+
+
+ // $ANTLR start "ruleInfixOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2758:1: ruleInfixOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLInfixOperator_0= ruleEssentialOCLInfixOperator ;
+ public final AntlrDatatypeRuleToken ruleInfixOperator() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ AntlrDatatypeRuleToken this_EssentialOCLInfixOperator_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2761:28: (this_EssentialOCLInfixOperator_0= ruleEssentialOCLInfixOperator )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2763:5: this_EssentialOCLInfixOperator_0= ruleEssentialOCLInfixOperator
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getInfixOperatorAccess().getEssentialOCLInfixOperatorParserRuleCall());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLInfixOperator_in_ruleInfixOperator6308);
+ this_EssentialOCLInfixOperator_0=ruleEssentialOCLInfixOperator();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_EssentialOCLInfixOperator_0);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleInfixOperator"
+
+
+ // $ANTLR start "entryRuleNavigationOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2781:1: entryRuleNavigationOperator returns [String current=null] : iv_ruleNavigationOperator= ruleNavigationOperator EOF ;
+ public final String entryRuleNavigationOperator() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleNavigationOperator = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2782:2: (iv_ruleNavigationOperator= ruleNavigationOperator EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2783:2: iv_ruleNavigationOperator= ruleNavigationOperator EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNavigationOperatorRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigationOperator_in_entryRuleNavigationOperator6353);
+ iv_ruleNavigationOperator=ruleNavigationOperator();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNavigationOperator.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigationOperator6364); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNavigationOperator"
+
+
+ // $ANTLR start "ruleNavigationOperator"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2790:1: ruleNavigationOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLNavigationOperator_0= ruleEssentialOCLNavigationOperator ;
+ public final AntlrDatatypeRuleToken ruleNavigationOperator() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ AntlrDatatypeRuleToken this_EssentialOCLNavigationOperator_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2793:28: (this_EssentialOCLNavigationOperator_0= ruleEssentialOCLNavigationOperator )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2795:5: this_EssentialOCLNavigationOperator_0= ruleEssentialOCLNavigationOperator
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigationOperatorAccess().getEssentialOCLNavigationOperatorParserRuleCall());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLNavigationOperator_in_ruleNavigationOperator6410);
+ this_EssentialOCLNavigationOperator_0=ruleEssentialOCLNavigationOperator();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_EssentialOCLNavigationOperator_0);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNavigationOperator"
+
+
+ // $ANTLR start "entryRuleEssentialOCLUnrestrictedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2813:1: entryRuleEssentialOCLUnrestrictedName returns [String current=null] : iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF ;
+ public final String entryRuleEssentialOCLUnrestrictedName() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleEssentialOCLUnrestrictedName = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2814:2: (iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2815:2: iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getEssentialOCLUnrestrictedNameRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnrestrictedName_in_entryRuleEssentialOCLUnrestrictedName6455);
+ iv_ruleEssentialOCLUnrestrictedName=ruleEssentialOCLUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleEssentialOCLUnrestrictedName.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnrestrictedName6466); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleEssentialOCLUnrestrictedName"
+
+
+ // $ANTLR start "ruleEssentialOCLUnrestrictedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2822:1: ruleEssentialOCLUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_Identifier_0= ruleIdentifier ;
+ public final AntlrDatatypeRuleToken ruleEssentialOCLUnrestrictedName() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ AntlrDatatypeRuleToken this_Identifier_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2825:28: (this_Identifier_0= ruleIdentifier )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2827:5: this_Identifier_0= ruleIdentifier
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getEssentialOCLUnrestrictedNameAccess().getIdentifierParserRuleCall());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleIdentifier_in_ruleEssentialOCLUnrestrictedName6512);
+ this_Identifier_0=ruleIdentifier();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_Identifier_0);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleEssentialOCLUnrestrictedName"
+
+
+ // $ANTLR start "entryRuleEssentialOCLUnreservedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2845:1: entryRuleEssentialOCLUnreservedName returns [String current=null] : iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF ;
+ public final String entryRuleEssentialOCLUnreservedName() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleEssentialOCLUnreservedName = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2846:2: (iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2847:2: iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnreservedName_in_entryRuleEssentialOCLUnreservedName6557);
+ iv_ruleEssentialOCLUnreservedName=ruleEssentialOCLUnreservedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleEssentialOCLUnreservedName.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnreservedName6568); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleEssentialOCLUnreservedName"
+
+
+ // $ANTLR start "ruleEssentialOCLUnreservedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2854:1: ruleEssentialOCLUnreservedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Tuple' ) ;
+ public final AntlrDatatypeRuleToken ruleEssentialOCLUnreservedName() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+ AntlrDatatypeRuleToken this_UnrestrictedName_0 = null;
+
+ AntlrDatatypeRuleToken this_CollectionTypeIdentifier_1 = null;
+
+ AntlrDatatypeRuleToken this_PrimitiveTypeIdentifier_2 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2857:28: ( (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Tuple' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2858:1: (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Tuple' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2858:1: (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Tuple' )
+ int alt52=4;
+ switch ( input.LA(1) ) {
+ case RULE_SIMPLE_ID:
+ case RULE_ESCAPED_ID:
+ case 17:
+ case 20:
+ case 24:
+ case 28:
+ case 29:
+ case 30:
+ case 31:
+ case 32:
+ case 33:
+ case 34:
+ case 35:
+ case 36:
+ case 37:
+ case 38:
+ case 39:
+ case 43:
+ case 44:
+ case 46:
+ case 47:
+ {
+ alt52=1;
+ }
+ break;
+ case 72:
+ case 73:
+ case 74:
+ case 75:
+ case 76:
+ {
+ alt52=2;
+ }
+ break;
+ case 64:
+ case 65:
+ case 66:
+ case 67:
+ case 68:
+ case 69:
+ case 70:
+ case 71:
+ {
+ alt52=3;
+ }
+ break;
+ case 62:
+ {
+ alt52=4;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 52, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt52) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2859:5: this_UnrestrictedName_0= ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getUnrestrictedNameParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleEssentialOCLUnreservedName6615);
+ this_UnrestrictedName_0=ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_UnrestrictedName_0);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2871:5: this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getCollectionTypeIdentifierParserRuleCall_1());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_ruleEssentialOCLUnreservedName6648);
+ this_CollectionTypeIdentifier_1=ruleCollectionTypeIdentifier();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_CollectionTypeIdentifier_1);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2883:5: this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getPrimitiveTypeIdentifierParserRuleCall_2());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_ruleEssentialOCLUnreservedName6681);
+ this_PrimitiveTypeIdentifier_2=rulePrimitiveTypeIdentifier();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_PrimitiveTypeIdentifier_2);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2895:2: kw= 'Tuple'
+ {
+ kw=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleEssentialOCLUnreservedName6705); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEssentialOCLUnreservedNameAccess().getTupleKeyword_3());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleEssentialOCLUnreservedName"
+
+
+ // $ANTLR start "entryRuleUnreservedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2908:1: entryRuleUnreservedName returns [String current=null] : iv_ruleUnreservedName= ruleUnreservedName EOF ;
+ public final String entryRuleUnreservedName() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleUnreservedName = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2909:2: (iv_ruleUnreservedName= ruleUnreservedName EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2910:2: iv_ruleUnreservedName= ruleUnreservedName EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getUnreservedNameRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnreservedName_in_entryRuleUnreservedName6746);
+ iv_ruleUnreservedName=ruleUnreservedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleUnreservedName.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnreservedName6757); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleUnreservedName"
+
+
+ // $ANTLR start "ruleUnreservedName"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2917:1: ruleUnreservedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName ;
+ public final AntlrDatatypeRuleToken ruleUnreservedName() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ AntlrDatatypeRuleToken this_EssentialOCLUnreservedName_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2920:28: (this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2922:5: this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getUnreservedNameAccess().getEssentialOCLUnreservedNameParserRuleCall());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnreservedName_in_ruleUnreservedName6803);
+ this_EssentialOCLUnreservedName_0=ruleEssentialOCLUnreservedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_EssentialOCLUnreservedName_0);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleUnreservedName"
+
+
+ // $ANTLR start "entryRulePathNameCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2940:1: entryRulePathNameCS returns [EObject current=null] : iv_rulePathNameCS= rulePathNameCS EOF ;
+ public final EObject entryRulePathNameCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePathNameCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2941:2: (iv_rulePathNameCS= rulePathNameCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2942:2: iv_rulePathNameCS= rulePathNameCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getPathNameCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_entryRulePathNameCS6847);
+ iv_rulePathNameCS=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_rulePathNameCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePathNameCS6857); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePathNameCS"
+
+
+ // $ANTLR start "rulePathNameCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2949:1: rulePathNameCS returns [EObject current=null] : ( ( (lv_path_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_path_2_0= ruleNextPathElementCS ) ) )* ) ;
+ public final EObject rulePathNameCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_path_0_0 = null;
+
+ EObject lv_path_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2952:28: ( ( ( (lv_path_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_path_2_0= ruleNextPathElementCS ) ) )* ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2953:1: ( ( (lv_path_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_path_2_0= ruleNextPathElementCS ) ) )* )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2953:1: ( ( (lv_path_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_path_2_0= ruleNextPathElementCS ) ) )* )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2953:2: ( (lv_path_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_path_2_0= ruleNextPathElementCS ) ) )*
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2953:2: ( (lv_path_0_0= ruleFirstPathElementCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2954:1: (lv_path_0_0= ruleFirstPathElementCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2954:1: (lv_path_0_0= ruleFirstPathElementCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2955:3: lv_path_0_0= ruleFirstPathElementCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPathNameCSAccess().getPathFirstPathElementCSParserRuleCall_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleFirstPathElementCS_in_rulePathNameCS6903);
+ lv_path_0_0=ruleFirstPathElementCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPathNameCSRule());
+ }
+ add(
+ current,
+ "path",
+ lv_path_0_0,
+ "FirstPathElementCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2971:2: (otherlv_1= '::' ( (lv_path_2_0= ruleNextPathElementCS ) ) )*
+ loop53:
+ do {
+ int alt53=2;
+ int LA53_0 = input.LA(1);
+
+ if ( (LA53_0==63) ) {
+ alt53=1;
+ }
+
+
+ switch (alt53) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2971:4: otherlv_1= '::' ( (lv_path_2_0= ruleNextPathElementCS ) )
+ {
+ otherlv_1=(Token)match(input,63,FollowSets000.FOLLOW_63_in_rulePathNameCS6916); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2975:1: ( (lv_path_2_0= ruleNextPathElementCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2976:1: (lv_path_2_0= ruleNextPathElementCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2976:1: (lv_path_2_0= ruleNextPathElementCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2977:3: lv_path_2_0= ruleNextPathElementCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPathNameCSAccess().getPathNextPathElementCSParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNextPathElementCS_in_rulePathNameCS6937);
+ lv_path_2_0=ruleNextPathElementCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPathNameCSRule());
+ }
+ add(
+ current,
+ "path",
+ lv_path_2_0,
+ "NextPathElementCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop53;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePathNameCS"
+
+
+ // $ANTLR start "entryRuleFirstPathElementCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3001:1: entryRuleFirstPathElementCS returns [EObject current=null] : iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF ;
+ public final EObject entryRuleFirstPathElementCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleFirstPathElementCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3002:2: (iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3003:2: iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getFirstPathElementCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleFirstPathElementCS_in_entryRuleFirstPathElementCS6975);
+ iv_ruleFirstPathElementCS=ruleFirstPathElementCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleFirstPathElementCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFirstPathElementCS6985); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleFirstPathElementCS"
+
+
+ // $ANTLR start "ruleFirstPathElementCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3010:1: ruleFirstPathElementCS returns [EObject current=null] : ( ( ruleUnrestrictedName ) ) ;
+ public final EObject ruleFirstPathElementCS() throws RecognitionException {
+ EObject current = null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3013:28: ( ( ( ruleUnrestrictedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3014:1: ( ( ruleUnrestrictedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3014:1: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3015:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3015:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3016:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getFirstPathElementCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getFirstPathElementCSAccess().getElementNamedElementCrossReference_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleFirstPathElementCS7036);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleFirstPathElementCS"
+
+
+ // $ANTLR start "entryRuleNextPathElementCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3040:1: entryRuleNextPathElementCS returns [EObject current=null] : iv_ruleNextPathElementCS= ruleNextPathElementCS EOF ;
+ public final EObject entryRuleNextPathElementCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNextPathElementCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3041:2: (iv_ruleNextPathElementCS= ruleNextPathElementCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3042:2: iv_ruleNextPathElementCS= ruleNextPathElementCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNextPathElementCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNextPathElementCS_in_entryRuleNextPathElementCS7071);
+ iv_ruleNextPathElementCS=ruleNextPathElementCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNextPathElementCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNextPathElementCS7081); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNextPathElementCS"
+
+
+ // $ANTLR start "ruleNextPathElementCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3049:1: ruleNextPathElementCS returns [EObject current=null] : ( ( ruleUnreservedName ) ) ;
+ public final EObject ruleNextPathElementCS() throws RecognitionException {
+ EObject current = null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3052:28: ( ( ( ruleUnreservedName ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3053:1: ( ( ruleUnreservedName ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3053:1: ( ( ruleUnreservedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3054:1: ( ruleUnreservedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3054:1: ( ruleUnreservedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3055:3: ruleUnreservedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNextPathElementCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNextPathElementCSAccess().getElementNamedElementCrossReference_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnreservedName_in_ruleNextPathElementCS7132);
+ ruleUnreservedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNextPathElementCS"
+
+
+ // $ANTLR start "entryRulePrimitiveTypeIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3079:1: entryRulePrimitiveTypeIdentifier returns [String current=null] : iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF ;
+ public final String entryRulePrimitiveTypeIdentifier() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_rulePrimitiveTypeIdentifier = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3080:2: (iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3081:2: iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getPrimitiveTypeIdentifierRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_entryRulePrimitiveTypeIdentifier7168);
+ iv_rulePrimitiveTypeIdentifier=rulePrimitiveTypeIdentifier();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_rulePrimitiveTypeIdentifier.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveTypeIdentifier7179); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePrimitiveTypeIdentifier"
+
+
+ // $ANTLR start "rulePrimitiveTypeIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3088:1: rulePrimitiveTypeIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' ) ;
+ public final AntlrDatatypeRuleToken rulePrimitiveTypeIdentifier() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3091:28: ( (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3092:1: (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3092:1: (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' )
+ int alt54=8;
+ switch ( input.LA(1) ) {
+ case 64:
+ {
+ alt54=1;
+ }
+ break;
+ case 65:
+ {
+ alt54=2;
+ }
+ break;
+ case 66:
+ {
+ alt54=3;
+ }
+ break;
+ case 67:
+ {
+ alt54=4;
+ }
+ break;
+ case 68:
+ {
+ alt54=5;
+ }
+ break;
+ case 69:
+ {
+ alt54=6;
+ }
+ break;
+ case 70:
+ {
+ alt54=7;
+ }
+ break;
+ case 71:
+ {
+ alt54=8;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 54, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt54) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3093:2: kw= 'Boolean'
+ {
+ kw=(Token)match(input,64,FollowSets000.FOLLOW_64_in_rulePrimitiveTypeIdentifier7217); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getBooleanKeyword_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3100:2: kw= 'Integer'
+ {
+ kw=(Token)match(input,65,FollowSets000.FOLLOW_65_in_rulePrimitiveTypeIdentifier7236); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getIntegerKeyword_1());
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3107:2: kw= 'Real'
+ {
+ kw=(Token)match(input,66,FollowSets000.FOLLOW_66_in_rulePrimitiveTypeIdentifier7255); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getRealKeyword_2());
+
+ }
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3114:2: kw= 'String'
+ {
+ kw=(Token)match(input,67,FollowSets000.FOLLOW_67_in_rulePrimitiveTypeIdentifier7274); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getStringKeyword_3());
+
+ }
+
+ }
+ break;
+ case 5 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3121:2: kw= 'UnlimitedNatural'
+ {
+ kw=(Token)match(input,68,FollowSets000.FOLLOW_68_in_rulePrimitiveTypeIdentifier7293); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getUnlimitedNaturalKeyword_4());
+
+ }
+
+ }
+ break;
+ case 6 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3128:2: kw= 'OclAny'
+ {
+ kw=(Token)match(input,69,FollowSets000.FOLLOW_69_in_rulePrimitiveTypeIdentifier7312); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getOclAnyKeyword_5());
+
+ }
+
+ }
+ break;
+ case 7 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3135:2: kw= 'OclInvalid'
+ {
+ kw=(Token)match(input,70,FollowSets000.FOLLOW_70_in_rulePrimitiveTypeIdentifier7331); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getOclInvalidKeyword_6());
+
+ }
+
+ }
+ break;
+ case 8 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3142:2: kw= 'OclVoid'
+ {
+ kw=(Token)match(input,71,FollowSets000.FOLLOW_71_in_rulePrimitiveTypeIdentifier7350); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getOclVoidKeyword_7());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePrimitiveTypeIdentifier"
+
+
+ // $ANTLR start "entryRulePrimitiveTypeCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3155:1: entryRulePrimitiveTypeCS returns [EObject current=null] : iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF ;
+ public final EObject entryRulePrimitiveTypeCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePrimitiveTypeCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3156:2: (iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3157:2: iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getPrimitiveTypeCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeCS_in_entryRulePrimitiveTypeCS7390);
+ iv_rulePrimitiveTypeCS=rulePrimitiveTypeCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_rulePrimitiveTypeCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveTypeCS7400); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePrimitiveTypeCS"
+
+
+ // $ANTLR start "rulePrimitiveTypeCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3164:1: rulePrimitiveTypeCS returns [EObject current=null] : ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) ) ;
+ public final EObject rulePrimitiveTypeCS() throws RecognitionException {
+ EObject current = null;
+
+ AntlrDatatypeRuleToken lv_name_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3167:28: ( ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3168:1: ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3168:1: ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3169:1: (lv_name_0_0= rulePrimitiveTypeIdentifier )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3169:1: (lv_name_0_0= rulePrimitiveTypeIdentifier )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3170:3: lv_name_0_0= rulePrimitiveTypeIdentifier
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimitiveTypeCSAccess().getNamePrimitiveTypeIdentifierParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_rulePrimitiveTypeCS7445);
+ lv_name_0_0=rulePrimitiveTypeIdentifier();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimitiveTypeCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_0_0,
+ "PrimitiveTypeIdentifier");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePrimitiveTypeCS"
+
+
+ // $ANTLR start "entryRuleCollectionTypeIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3194:1: entryRuleCollectionTypeIdentifier returns [String current=null] : iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF ;
+ public final String entryRuleCollectionTypeIdentifier() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleCollectionTypeIdentifier = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3195:2: (iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3196:2: iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getCollectionTypeIdentifierRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_entryRuleCollectionTypeIdentifier7481);
+ iv_ruleCollectionTypeIdentifier=ruleCollectionTypeIdentifier();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleCollectionTypeIdentifier.getText();
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionTypeIdentifier7492); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleCollectionTypeIdentifier"
+
+
+ // $ANTLR start "ruleCollectionTypeIdentifier"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3203:1: ruleCollectionTypeIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' ) ;
+ public final AntlrDatatypeRuleToken ruleCollectionTypeIdentifier() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3206:28: ( (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3207:1: (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3207:1: (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' )
+ int alt55=5;
+ switch ( input.LA(1) ) {
+ case 72:
+ {
+ alt55=1;
+ }
+ break;
+ case 73:
+ {
+ alt55=2;
+ }
+ break;
+ case 74:
+ {
+ alt55=3;
+ }
+ break;
+ case 75:
+ {
+ alt55=4;
+ }
+ break;
+ case 76:
+ {
+ alt55=5;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 55, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt55) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3208:2: kw= 'Set'
+ {
+ kw=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleCollectionTypeIdentifier7530); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getSetKeyword_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3215:2: kw= 'Bag'
+ {
+ kw=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleCollectionTypeIdentifier7549); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getBagKeyword_1());
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3222:2: kw= 'Sequence'
+ {
+ kw=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleCollectionTypeIdentifier7568); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getSequenceKeyword_2());
+
+ }
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3229:2: kw= 'Collection'
+ {
+ kw=(Token)match(input,75,FollowSets000.FOLLOW_75_in_ruleCollectionTypeIdentifier7587); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getCollectionKeyword_3());
+
+ }
+
+ }
+ break;
+ case 5 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3236:2: kw= 'OrderedSet'
+ {
+ kw=(Token)match(input,76,FollowSets000.FOLLOW_76_in_ruleCollectionTypeIdentifier7606); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getOrderedSetKeyword_4());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleCollectionTypeIdentifier"
+
+
+ // $ANTLR start "entryRuleCollectionTypeCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3249:1: entryRuleCollectionTypeCS returns [EObject current=null] : iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF ;
+ public final EObject entryRuleCollectionTypeCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleCollectionTypeCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3250:2: (iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3251:2: iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getCollectionTypeCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_entryRuleCollectionTypeCS7646);
+ iv_ruleCollectionTypeCS=ruleCollectionTypeCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleCollectionTypeCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionTypeCS7656); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleCollectionTypeCS"
+
+
+ // $ANTLR start "ruleCollectionTypeCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3258:1: ruleCollectionTypeCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? ) ;
+ public final EObject ruleCollectionTypeCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ AntlrDatatypeRuleToken lv_name_0_0 = null;
+
+ EObject lv_ownedType_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3261:28: ( ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3262:1: ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3262:1: ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3262:2: ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3262:2: ( (lv_name_0_0= ruleCollectionTypeIdentifier ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3263:1: (lv_name_0_0= ruleCollectionTypeIdentifier )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3263:1: (lv_name_0_0= ruleCollectionTypeIdentifier )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3264:3: lv_name_0_0= ruleCollectionTypeIdentifier
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionTypeCSAccess().getNameCollectionTypeIdentifierParserRuleCall_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_ruleCollectionTypeCS7702);
+ lv_name_0_0=ruleCollectionTypeIdentifier();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionTypeCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_0_0,
+ "CollectionTypeIdentifier");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3280:2: (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )?
+ int alt56=2;
+ int LA56_0 = input.LA(1);
+
+ if ( (LA56_0==21) ) {
+ alt56=1;
+ }
+ switch (alt56) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3280:4: otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')'
+ {
+ otherlv_1=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleCollectionTypeCS7715); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getCollectionTypeCSAccess().getLeftParenthesisKeyword_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3284:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3285:1: (lv_ownedType_2_0= ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3285:1: (lv_ownedType_2_0= ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3286:3: lv_ownedType_2_0= ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleCollectionTypeCS7736);
+ lv_ownedType_2_0=ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionTypeCSRule());
+ }
+ set(
+ current,
+ "ownedType",
+ lv_ownedType_2_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleCollectionTypeCS7748); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getCollectionTypeCSAccess().getRightParenthesisKeyword_1_2());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleCollectionTypeCS"
+
+
+ // $ANTLR start "entryRuleMultiplicityBoundsCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3314:1: entryRuleMultiplicityBoundsCS returns [EObject current=null] : iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF ;
+ public final EObject entryRuleMultiplicityBoundsCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleMultiplicityBoundsCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3315:2: (iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3316:2: iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getMultiplicityBoundsCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleMultiplicityBoundsCS_in_entryRuleMultiplicityBoundsCS7786);
+ iv_ruleMultiplicityBoundsCS=ruleMultiplicityBoundsCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleMultiplicityBoundsCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityBoundsCS7796); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleMultiplicityBoundsCS"
+
+
+ // $ANTLR start "ruleMultiplicityBoundsCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3323:1: ruleMultiplicityBoundsCS returns [EObject current=null] : ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? ) ;
+ public final EObject ruleMultiplicityBoundsCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ AntlrDatatypeRuleToken lv_lowerBound_0_0 = null;
+
+ AntlrDatatypeRuleToken lv_upperBound_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3326:28: ( ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3327:1: ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3327:1: ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3327:2: ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3327:2: ( (lv_lowerBound_0_0= ruleLOWER ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3328:1: (lv_lowerBound_0_0= ruleLOWER )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3328:1: (lv_lowerBound_0_0= ruleLOWER )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3329:3: lv_lowerBound_0_0= ruleLOWER
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundLOWERParserRuleCall_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleLOWER_in_ruleMultiplicityBoundsCS7842);
+ lv_lowerBound_0_0=ruleLOWER();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getMultiplicityBoundsCSRule());
+ }
+ set(
+ current,
+ "lowerBound",
+ lv_lowerBound_0_0,
+ "LOWER");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3345:2: (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )?
+ int alt57=2;
+ int LA57_0 = input.LA(1);
+
+ if ( (LA57_0==77) ) {
+ alt57=1;
+ }
+ switch (alt57) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3345:4: otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) )
+ {
+ otherlv_1=(Token)match(input,77,FollowSets000.FOLLOW_77_in_ruleMultiplicityBoundsCS7855); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getMultiplicityBoundsCSAccess().getFullStopFullStopKeyword_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3349:1: ( (lv_upperBound_2_0= ruleUPPER ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3350:1: (lv_upperBound_2_0= ruleUPPER )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3350:1: (lv_upperBound_2_0= ruleUPPER )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3351:3: lv_upperBound_2_0= ruleUPPER
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundUPPERParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUPPER_in_ruleMultiplicityBoundsCS7876);
+ lv_upperBound_2_0=ruleUPPER();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getMultiplicityBoundsCSRule());
+ }
+ set(
+ current,
+ "upperBound",
+ lv_upperBound_2_0,
+ "UPPER");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleMultiplicityBoundsCS"
+
+
+ // $ANTLR start "entryRuleMultiplicityCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3375:1: entryRuleMultiplicityCS returns [EObject current=null] : iv_ruleMultiplicityCS= ruleMultiplicityCS EOF ;
+ public final EObject entryRuleMultiplicityCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleMultiplicityCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3376:2: (iv_ruleMultiplicityCS= ruleMultiplicityCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3377:2: iv_ruleMultiplicityCS= ruleMultiplicityCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getMultiplicityCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_entryRuleMultiplicityCS7914);
+ iv_ruleMultiplicityCS=ruleMultiplicityCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleMultiplicityCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityCS7924); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleMultiplicityCS"
+
+
+ // $ANTLR start "ruleMultiplicityCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3384:1: ruleMultiplicityCS returns [EObject current=null] : (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']' ) ;
+ public final EObject ruleMultiplicityCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_3=null;
+ EObject this_MultiplicityBoundsCS_1 = null;
+
+ EObject this_MultiplicityStringCS_2 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3387:28: ( (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3388:1: (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3388:1: (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3388:3: otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']'
+ {
+ otherlv_0=(Token)match(input,78,FollowSets000.FOLLOW_78_in_ruleMultiplicityCS7961); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3392:1: (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS )
+ int alt58=2;
+ int LA58_0 = input.LA(1);
+
+ if ( (LA58_0==RULE_INT) ) {
+ alt58=1;
+ }
+ else if ( (LA58_0==45||LA58_0==48||LA58_0==80) ) {
+ alt58=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 58, 0, input);
+
+ throw nvae;
+ }
+ switch (alt58) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3393:2: this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getMultiplicityCSAccess().getMultiplicityBoundsCSParserRuleCall_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleMultiplicityBoundsCS_in_ruleMultiplicityCS7987);
+ this_MultiplicityBoundsCS_1=ruleMultiplicityBoundsCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_MultiplicityBoundsCS_1;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3406:2: this_MultiplicityStringCS_2= ruleMultiplicityStringCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getMultiplicityCSAccess().getMultiplicityStringCSParserRuleCall_1_1());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleMultiplicityStringCS_in_ruleMultiplicityCS8017);
+ this_MultiplicityStringCS_2=ruleMultiplicityStringCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_MultiplicityStringCS_2;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+ otherlv_3=(Token)match(input,79,FollowSets000.FOLLOW_79_in_ruleMultiplicityCS8029); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getMultiplicityCSAccess().getRightSquareBracketKeyword_2());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleMultiplicityCS"
+
+
+ // $ANTLR start "entryRuleMultiplicityStringCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3429:1: entryRuleMultiplicityStringCS returns [EObject current=null] : iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF ;
+ public final EObject entryRuleMultiplicityStringCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleMultiplicityStringCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3430:2: (iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3431:2: iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getMultiplicityStringCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleMultiplicityStringCS_in_entryRuleMultiplicityStringCS8065);
+ iv_ruleMultiplicityStringCS=ruleMultiplicityStringCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleMultiplicityStringCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityStringCS8075); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleMultiplicityStringCS"
+
+
+ // $ANTLR start "ruleMultiplicityStringCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3438:1: ruleMultiplicityStringCS returns [EObject current=null] : ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) ) ;
+ public final EObject ruleMultiplicityStringCS() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_stringBounds_0_1=null;
+ Token lv_stringBounds_0_2=null;
+ Token lv_stringBounds_0_3=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3441:28: ( ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3442:1: ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3442:1: ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3443:1: ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3443:1: ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3444:1: (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3444:1: (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' )
+ int alt59=3;
+ switch ( input.LA(1) ) {
+ case 45:
+ {
+ alt59=1;
+ }
+ break;
+ case 48:
+ {
+ alt59=2;
+ }
+ break;
+ case 80:
+ {
+ alt59=3;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 59, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt59) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3445:3: lv_stringBounds_0_1= '*'
+ {
+ lv_stringBounds_0_1=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleMultiplicityStringCS8119); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_stringBounds_0_1, grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAsteriskKeyword_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMultiplicityStringCSRule());
+ }
+ setWithLastConsumed(current, "stringBounds", lv_stringBounds_0_1, null);
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3457:8: lv_stringBounds_0_2= '+'
+ {
+ lv_stringBounds_0_2=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleMultiplicityStringCS8148); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_stringBounds_0_2, grammarAccess.getMultiplicityStringCSAccess().getStringBoundsPlusSignKeyword_0_1());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMultiplicityStringCSRule());
+ }
+ setWithLastConsumed(current, "stringBounds", lv_stringBounds_0_2, null);
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3469:8: lv_stringBounds_0_3= '?'
+ {
+ lv_stringBounds_0_3=(Token)match(input,80,FollowSets000.FOLLOW_80_in_ruleMultiplicityStringCS8177); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_stringBounds_0_3, grammarAccess.getMultiplicityStringCSAccess().getStringBoundsQuestionMarkKeyword_0_2());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMultiplicityStringCSRule());
+ }
+ setWithLastConsumed(current, "stringBounds", lv_stringBounds_0_3, null);
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleMultiplicityStringCS"
+
+
+ // $ANTLR start "entryRuleTupleTypeCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3492:1: entryRuleTupleTypeCS returns [EObject current=null] : iv_ruleTupleTypeCS= ruleTupleTypeCS EOF ;
+ public final EObject entryRuleTupleTypeCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTupleTypeCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3493:2: (iv_ruleTupleTypeCS= ruleTupleTypeCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3494:2: iv_ruleTupleTypeCS= ruleTupleTypeCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getTupleTypeCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTupleTypeCS_in_entryRuleTupleTypeCS8228);
+ iv_ruleTupleTypeCS=ruleTupleTypeCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleTupleTypeCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleTypeCS8238); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTupleTypeCS"
+
+
+ // $ANTLR start "ruleTupleTypeCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3501:1: ruleTupleTypeCS returns [EObject current=null] : ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? ) ;
+ public final EObject ruleTupleTypeCS() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_name_0_0=null;
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ EObject lv_ownedParts_2_0 = null;
+
+ EObject lv_ownedParts_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3504:28: ( ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3505:1: ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3505:1: ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3505:2: ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3505:2: ( (lv_name_0_0= 'Tuple' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3506:1: (lv_name_0_0= 'Tuple' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3506:1: (lv_name_0_0= 'Tuple' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3507:3: lv_name_0_0= 'Tuple'
+ {
+ lv_name_0_0=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleTupleTypeCS8281); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_name_0_0, grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getTupleTypeCSRule());
+ }
+ setWithLastConsumed(current, "name", lv_name_0_0, "Tuple");
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3520:2: (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )?
+ int alt62=2;
+ int LA62_0 = input.LA(1);
+
+ if ( (LA62_0==21) ) {
+ alt62=1;
+ }
+ switch (alt62) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3520:4: otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')'
+ {
+ otherlv_1=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleTupleTypeCS8307); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getTupleTypeCSAccess().getLeftParenthesisKeyword_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3524:1: ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )?
+ int alt61=2;
+ int LA61_0 = input.LA(1);
+
+ if ( ((LA61_0>=RULE_SIMPLE_ID && LA61_0<=RULE_ESCAPED_ID)||LA61_0==17||LA61_0==20||LA61_0==24||(LA61_0>=28 && LA61_0<=39)||(LA61_0>=43 && LA61_0<=44)||(LA61_0>=46 && LA61_0<=47)) ) {
+ alt61=1;
+ }
+ switch (alt61) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3524:2: ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )*
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3524:2: ( (lv_ownedParts_2_0= ruleTuplePartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3525:1: (lv_ownedParts_2_0= ruleTuplePartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3525:1: (lv_ownedParts_2_0= ruleTuplePartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3526:3: lv_ownedParts_2_0= ruleTuplePartCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS8329);
+ lv_ownedParts_2_0=ruleTuplePartCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTupleTypeCSRule());
+ }
+ add(
+ current,
+ "ownedParts",
+ lv_ownedParts_2_0,
+ "TuplePartCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3542:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )*
+ loop60:
+ do {
+ int alt60=2;
+ int LA60_0 = input.LA(1);
+
+ if ( (LA60_0==22) ) {
+ alt60=1;
+ }
+
+
+ switch (alt60) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3542:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) )
+ {
+ otherlv_3=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleTupleTypeCS8342); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getTupleTypeCSAccess().getCommaKeyword_1_1_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3546:1: ( (lv_ownedParts_4_0= ruleTuplePartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3547:1: (lv_ownedParts_4_0= ruleTuplePartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3547:1: (lv_ownedParts_4_0= ruleTuplePartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3548:3: lv_ownedParts_4_0= ruleTuplePartCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS8363);
+ lv_ownedParts_4_0=ruleTuplePartCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTupleTypeCSRule());
+ }
+ add(
+ current,
+ "ownedParts",
+ lv_ownedParts_4_0,
+ "TuplePartCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop60;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ otherlv_5=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleTupleTypeCS8379); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getTupleTypeCSAccess().getRightParenthesisKeyword_1_2());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTupleTypeCS"
+
+
+ // $ANTLR start "entryRuleTuplePartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3576:1: entryRuleTuplePartCS returns [EObject current=null] : iv_ruleTuplePartCS= ruleTuplePartCS EOF ;
+ public final EObject entryRuleTuplePartCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTuplePartCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3577:2: (iv_ruleTuplePartCS= ruleTuplePartCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3578:2: iv_ruleTuplePartCS= ruleTuplePartCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getTuplePartCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTuplePartCS_in_entryRuleTuplePartCS8417);
+ iv_ruleTuplePartCS=ruleTuplePartCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleTuplePartCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTuplePartCS8427); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTuplePartCS"
+
+
+ // $ANTLR start "ruleTuplePartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3585:1: ruleTuplePartCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) ;
+ public final EObject ruleTuplePartCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ AntlrDatatypeRuleToken lv_name_0_0 = null;
+
+ EObject lv_ownedType_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3588:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3589:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3589:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3589:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3589:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3590:1: (lv_name_0_0= ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3590:1: (lv_name_0_0= ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3591:3: lv_name_0_0= ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTuplePartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTuplePartCS8473);
+ lv_name_0_0=ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTuplePartCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_0_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleTuplePartCS8485); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getTuplePartCSAccess().getColonKeyword_1());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3611:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3612:1: (lv_ownedType_2_0= ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3612:1: (lv_ownedType_2_0= ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3613:3: lv_ownedType_2_0= ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTuplePartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleTuplePartCS8506);
+ lv_ownedType_2_0=ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTuplePartCSRule());
+ }
+ set(
+ current,
+ "ownedType",
+ lv_ownedType_2_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTuplePartCS"
+
+
+ // $ANTLR start "entryRuleCollectionLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3637:1: entryRuleCollectionLiteralExpCS returns [EObject current=null] : iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF ;
+ public final EObject entryRuleCollectionLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleCollectionLiteralExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3638:2: (iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3639:2: iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getCollectionLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_entryRuleCollectionLiteralExpCS8542);
+ iv_ruleCollectionLiteralExpCS=ruleCollectionLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleCollectionLiteralExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionLiteralExpCS8552); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleCollectionLiteralExpCS"
+
+
+ // $ANTLR start "ruleCollectionLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3646:1: ruleCollectionLiteralExpCS returns [EObject current=null] : ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' ) ;
+ public final EObject ruleCollectionLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ EObject lv_ownedType_0_0 = null;
+
+ EObject lv_ownedParts_2_0 = null;
+
+ EObject lv_ownedParts_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3649:28: ( ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3650:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3650:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3650:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3650:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3651:1: (lv_ownedType_0_0= ruleCollectionTypeCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3651:1: (lv_ownedType_0_0= ruleCollectionTypeCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3652:3: lv_ownedType_0_0= ruleCollectionTypeCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_ruleCollectionLiteralExpCS8598);
+ lv_ownedType_0_0=ruleCollectionTypeCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule());
+ }
+ set(
+ current,
+ "ownedType",
+ lv_ownedType_0_0,
+ "CollectionTypeCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleCollectionLiteralExpCS8610); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3672:1: ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )?
+ int alt64=2;
+ int LA64_0 = input.LA(1);
+
+ if ( ((LA64_0>=RULE_SIMPLE_ID && LA64_0<=RULE_SINGLE_QUOTED_STRING)||LA64_0==17||(LA64_0>=20 && LA64_0<=21)||LA64_0==24||(LA64_0>=28 && LA64_0<=39)||(LA64_0>=43 && LA64_0<=47)||(LA64_0>=49 && LA64_0<=50)||LA64_0==62||(LA64_0>=64 && LA64_0<=76)||(LA64_0>=81 && LA64_0<=84)||LA64_0==88||LA64_0==92||LA64_0==94) ) {
+ alt64=1;
+ }
+ switch (alt64) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3672:2: ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )*
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3672:2: ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3673:1: (lv_ownedParts_2_0= ruleCollectionLiteralPartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3673:1: (lv_ownedParts_2_0= ruleCollectionLiteralPartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3674:3: lv_ownedParts_2_0= ruleCollectionLiteralPartCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS8632);
+ lv_ownedParts_2_0=ruleCollectionLiteralPartCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule());
+ }
+ add(
+ current,
+ "ownedParts",
+ lv_ownedParts_2_0,
+ "CollectionLiteralPartCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3690:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )*
+ loop63:
+ do {
+ int alt63=2;
+ int LA63_0 = input.LA(1);
+
+ if ( (LA63_0==22) ) {
+ alt63=1;
+ }
+
+
+ switch (alt63) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3690:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) )
+ {
+ otherlv_3=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleCollectionLiteralExpCS8645); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getCollectionLiteralExpCSAccess().getCommaKeyword_2_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3694:1: ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3695:1: (lv_ownedParts_4_0= ruleCollectionLiteralPartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3695:1: (lv_ownedParts_4_0= ruleCollectionLiteralPartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3696:3: lv_ownedParts_4_0= ruleCollectionLiteralPartCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS8666);
+ lv_ownedParts_4_0=ruleCollectionLiteralPartCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule());
+ }
+ add(
+ current,
+ "ownedParts",
+ lv_ownedParts_4_0,
+ "CollectionLiteralPartCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop63;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ otherlv_5=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleCollectionLiteralExpCS8682); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getCollectionLiteralExpCSAccess().getRightCurlyBracketKeyword_3());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleCollectionLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleCollectionLiteralPartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3724:1: entryRuleCollectionLiteralPartCS returns [EObject current=null] : iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF ;
+ public final EObject entryRuleCollectionLiteralPartCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleCollectionLiteralPartCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3725:2: (iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3726:2: iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getCollectionLiteralPartCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralPartCS_in_entryRuleCollectionLiteralPartCS8718);
+ iv_ruleCollectionLiteralPartCS=ruleCollectionLiteralPartCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleCollectionLiteralPartCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionLiteralPartCS8728); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleCollectionLiteralPartCS"
+
+
+ // $ANTLR start "ruleCollectionLiteralPartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3733:1: ruleCollectionLiteralPartCS returns [EObject current=null] : ( ( (lv_expressionCS_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_lastExpressionCS_2_0= ruleExpCS ) ) )? ) ;
+ public final EObject ruleCollectionLiteralPartCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_expressionCS_0_0 = null;
+
+ EObject lv_lastExpressionCS_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3736:28: ( ( ( (lv_expressionCS_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_lastExpressionCS_2_0= ruleExpCS ) ) )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3737:1: ( ( (lv_expressionCS_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_lastExpressionCS_2_0= ruleExpCS ) ) )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3737:1: ( ( (lv_expressionCS_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_lastExpressionCS_2_0= ruleExpCS ) ) )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3737:2: ( (lv_expressionCS_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_lastExpressionCS_2_0= ruleExpCS ) ) )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3737:2: ( (lv_expressionCS_0_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3738:1: (lv_expressionCS_0_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3738:1: (lv_expressionCS_0_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3739:3: lv_expressionCS_0_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getExpressionCSExpCSParserRuleCall_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS8774);
+ lv_expressionCS_0_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionLiteralPartCSRule());
+ }
+ set(
+ current,
+ "expressionCS",
+ lv_expressionCS_0_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3755:2: (otherlv_1= '..' ( (lv_lastExpressionCS_2_0= ruleExpCS ) ) )?
+ int alt65=2;
+ int LA65_0 = input.LA(1);
+
+ if ( (LA65_0==77) ) {
+ alt65=1;
+ }
+ switch (alt65) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3755:4: otherlv_1= '..' ( (lv_lastExpressionCS_2_0= ruleExpCS ) )
+ {
+ otherlv_1=(Token)match(input,77,FollowSets000.FOLLOW_77_in_ruleCollectionLiteralPartCS8787); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3759:1: ( (lv_lastExpressionCS_2_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3760:1: (lv_lastExpressionCS_2_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3760:1: (lv_lastExpressionCS_2_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3761:3: lv_lastExpressionCS_2_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getLastExpressionCSExpCSParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS8808);
+ lv_lastExpressionCS_2_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectionLiteralPartCSRule());
+ }
+ set(
+ current,
+ "lastExpressionCS",
+ lv_lastExpressionCS_2_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleCollectionLiteralPartCS"
+
+
+ // $ANTLR start "entryRuleConstructorPartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3785:1: entryRuleConstructorPartCS returns [EObject current=null] : iv_ruleConstructorPartCS= ruleConstructorPartCS EOF ;
+ public final EObject entryRuleConstructorPartCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleConstructorPartCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3786:2: (iv_ruleConstructorPartCS= ruleConstructorPartCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3787:2: iv_ruleConstructorPartCS= ruleConstructorPartCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getConstructorPartCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleConstructorPartCS_in_entryRuleConstructorPartCS8846);
+ iv_ruleConstructorPartCS=ruleConstructorPartCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleConstructorPartCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleConstructorPartCS8856); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleConstructorPartCS"
+
+
+ // $ANTLR start "ruleConstructorPartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3794:1: ruleConstructorPartCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_initExpression_2_0= ruleExpCS ) ) ) ;
+ public final EObject ruleConstructorPartCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_initExpression_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3797:28: ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_initExpression_2_0= ruleExpCS ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3798:1: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_initExpression_2_0= ruleExpCS ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3798:1: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_initExpression_2_0= ruleExpCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3798:2: ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_initExpression_2_0= ruleExpCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3798:2: ( ( ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3799:1: ( ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3799:1: ( ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3800:3: ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getConstructorPartCSRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getConstructorPartCSAccess().getPropertyPropertyCrossReference_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleConstructorPartCS8908);
+ ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleConstructorPartCS8920); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getConstructorPartCSAccess().getEqualsSignKeyword_1());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3820:1: ( (lv_initExpression_2_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3821:1: (lv_initExpression_2_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3821:1: (lv_initExpression_2_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3822:3: lv_initExpression_2_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getConstructorPartCSAccess().getInitExpressionExpCSParserRuleCall_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleConstructorPartCS8941);
+ lv_initExpression_2_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getConstructorPartCSRule());
+ }
+ set(
+ current,
+ "initExpression",
+ lv_initExpression_2_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleConstructorPartCS"
+
+
+ // $ANTLR start "entryRulePrimitiveLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3846:1: entryRulePrimitiveLiteralExpCS returns [EObject current=null] : iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF ;
+ public final EObject entryRulePrimitiveLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePrimitiveLiteralExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3847:2: (iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3848:2: iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveLiteralExpCS_in_entryRulePrimitiveLiteralExpCS8977);
+ iv_rulePrimitiveLiteralExpCS=rulePrimitiveLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_rulePrimitiveLiteralExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveLiteralExpCS8987); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePrimitiveLiteralExpCS"
+
+
+ // $ANTLR start "rulePrimitiveLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3855:1: rulePrimitiveLiteralExpCS returns [EObject current=null] : (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS ) ;
+ public final EObject rulePrimitiveLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_NumberLiteralExpCS_0 = null;
+
+ EObject this_StringLiteralExpCS_1 = null;
+
+ EObject this_BooleanLiteralExpCS_2 = null;
+
+ EObject this_UnlimitedNaturalLiteralExpCS_3 = null;
+
+ EObject this_InvalidLiteralExpCS_4 = null;
+
+ EObject this_NullLiteralExpCS_5 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3858:28: ( (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3859:1: (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3859:1: (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS )
+ int alt66=6;
+ switch ( input.LA(1) ) {
+ case RULE_INT:
+ {
+ alt66=1;
+ }
+ break;
+ case RULE_SINGLE_QUOTED_STRING:
+ {
+ alt66=2;
+ }
+ break;
+ case 81:
+ case 82:
+ {
+ alt66=3;
+ }
+ break;
+ case 45:
+ {
+ alt66=4;
+ }
+ break;
+ case 83:
+ {
+ alt66=5;
+ }
+ break;
+ case 84:
+ {
+ alt66=6;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 66, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt66) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3860:2: this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getNumberLiteralExpCSParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNumberLiteralExpCS_in_rulePrimitiveLiteralExpCS9037);
+ this_NumberLiteralExpCS_0=ruleNumberLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_NumberLiteralExpCS_0;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3873:2: this_StringLiteralExpCS_1= ruleStringLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getStringLiteralExpCSParserRuleCall_1());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleStringLiteralExpCS_in_rulePrimitiveLiteralExpCS9067);
+ this_StringLiteralExpCS_1=ruleStringLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_StringLiteralExpCS_1;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3886:2: this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getBooleanLiteralExpCSParserRuleCall_2());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleBooleanLiteralExpCS_in_rulePrimitiveLiteralExpCS9097);
+ this_BooleanLiteralExpCS_2=ruleBooleanLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_BooleanLiteralExpCS_2;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3899:2: this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSParserRuleCall_3());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_rulePrimitiveLiteralExpCS9127);
+ this_UnlimitedNaturalLiteralExpCS_3=ruleUnlimitedNaturalLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_UnlimitedNaturalLiteralExpCS_3;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 5 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3912:2: this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getInvalidLiteralExpCSParserRuleCall_4());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleInvalidLiteralExpCS_in_rulePrimitiveLiteralExpCS9157);
+ this_InvalidLiteralExpCS_4=ruleInvalidLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_InvalidLiteralExpCS_4;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 6 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3925:2: this_NullLiteralExpCS_5= ruleNullLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getNullLiteralExpCSParserRuleCall_5());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNullLiteralExpCS_in_rulePrimitiveLiteralExpCS9187);
+ this_NullLiteralExpCS_5=ruleNullLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_NullLiteralExpCS_5;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePrimitiveLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleTupleLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3944:1: entryRuleTupleLiteralExpCS returns [EObject current=null] : iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF ;
+ public final EObject entryRuleTupleLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTupleLiteralExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3945:2: (iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3946:2: iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getTupleLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_entryRuleTupleLiteralExpCS9222);
+ iv_ruleTupleLiteralExpCS=ruleTupleLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleTupleLiteralExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleLiteralExpCS9232); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTupleLiteralExpCS"
+
+
+ // $ANTLR start "ruleTupleLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3953:1: ruleTupleLiteralExpCS returns [EObject current=null] : (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' ) ;
+ public final EObject ruleTupleLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ EObject lv_ownedParts_2_0 = null;
+
+ EObject lv_ownedParts_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3956:28: ( (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3957:1: (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3957:1: (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3957:3: otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}'
+ {
+ otherlv_0=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleTupleLiteralExpCS9269); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getTupleLiteralExpCSAccess().getTupleKeyword_0());
+
+ }
+ otherlv_1=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleTupleLiteralExpCS9281); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getTupleLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3965:1: ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3966:1: (lv_ownedParts_2_0= ruleTupleLiteralPartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3966:1: (lv_ownedParts_2_0= ruleTupleLiteralPartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3967:3: lv_ownedParts_2_0= ruleTupleLiteralPartCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS9302);
+ lv_ownedParts_2_0=ruleTupleLiteralPartCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTupleLiteralExpCSRule());
+ }
+ add(
+ current,
+ "ownedParts",
+ lv_ownedParts_2_0,
+ "TupleLiteralPartCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3983:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )*
+ loop67:
+ do {
+ int alt67=2;
+ int LA67_0 = input.LA(1);
+
+ if ( (LA67_0==22) ) {
+ alt67=1;
+ }
+
+
+ switch (alt67) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3983:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) )
+ {
+ otherlv_3=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleTupleLiteralExpCS9315); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getTupleLiteralExpCSAccess().getCommaKeyword_3_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3987:1: ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3988:1: (lv_ownedParts_4_0= ruleTupleLiteralPartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3988:1: (lv_ownedParts_4_0= ruleTupleLiteralPartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:3989:3: lv_ownedParts_4_0= ruleTupleLiteralPartCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_3_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS9336);
+ lv_ownedParts_4_0=ruleTupleLiteralPartCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTupleLiteralExpCSRule());
+ }
+ add(
+ current,
+ "ownedParts",
+ lv_ownedParts_4_0,
+ "TupleLiteralPartCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop67;
+ }
+ } while (true);
+
+ otherlv_5=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleTupleLiteralExpCS9350); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getTupleLiteralExpCSAccess().getRightCurlyBracketKeyword_4());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTupleLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleTupleLiteralPartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4017:1: entryRuleTupleLiteralPartCS returns [EObject current=null] : iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF ;
+ public final EObject entryRuleTupleLiteralPartCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTupleLiteralPartCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4018:2: (iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4019:2: iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getTupleLiteralPartCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralPartCS_in_entryRuleTupleLiteralPartCS9386);
+ iv_ruleTupleLiteralPartCS=ruleTupleLiteralPartCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleTupleLiteralPartCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleLiteralPartCS9396); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTupleLiteralPartCS"
+
+
+ // $ANTLR start "ruleTupleLiteralPartCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4026:1: ruleTupleLiteralPartCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_initExpression_4_0= ruleExpCS ) ) ) ;
+ public final EObject ruleTupleLiteralPartCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ AntlrDatatypeRuleToken lv_name_0_0 = null;
+
+ EObject lv_ownedType_2_0 = null;
+
+ EObject lv_initExpression_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4029:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_initExpression_4_0= ruleExpCS ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4030:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_initExpression_4_0= ruleExpCS ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4030:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_initExpression_4_0= ruleExpCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4030:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_initExpression_4_0= ruleExpCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4030:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4031:1: (lv_name_0_0= ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4031:1: (lv_name_0_0= ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4032:3: lv_name_0_0= ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTupleLiteralPartCS9442);
+ lv_name_0_0=ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTupleLiteralPartCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_0_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4048:2: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )?
+ int alt68=2;
+ int LA68_0 = input.LA(1);
+
+ if ( (LA68_0==27) ) {
+ alt68=1;
+ }
+ switch (alt68) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4048:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
+ {
+ otherlv_1=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleTupleLiteralPartCS9455); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getTupleLiteralPartCSAccess().getColonKeyword_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4052:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4053:1: (lv_ownedType_2_0= ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4053:1: (lv_ownedType_2_0= ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4054:3: lv_ownedType_2_0= ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleTupleLiteralPartCS9476);
+ lv_ownedType_2_0=ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTupleLiteralPartCSRule());
+ }
+ set(
+ current,
+ "ownedType",
+ lv_ownedType_2_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_3=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleTupleLiteralPartCS9490); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getTupleLiteralPartCSAccess().getEqualsSignKeyword_2());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4074:1: ( (lv_initExpression_4_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4075:1: (lv_initExpression_4_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4075:1: (lv_initExpression_4_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4076:3: lv_initExpression_4_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getInitExpressionExpCSParserRuleCall_3_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleTupleLiteralPartCS9511);
+ lv_initExpression_4_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTupleLiteralPartCSRule());
+ }
+ set(
+ current,
+ "initExpression",
+ lv_initExpression_4_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTupleLiteralPartCS"
+
+
+ // $ANTLR start "entryRuleNumberLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4100:1: entryRuleNumberLiteralExpCS returns [EObject current=null] : iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF ;
+ public final EObject entryRuleNumberLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNumberLiteralExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4101:2: (iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4102:2: iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNumberLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNumberLiteralExpCS_in_entryRuleNumberLiteralExpCS9547);
+ iv_ruleNumberLiteralExpCS=ruleNumberLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNumberLiteralExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNumberLiteralExpCS9557); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNumberLiteralExpCS"
+
+
+ // $ANTLR start "ruleNumberLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4109:1: ruleNumberLiteralExpCS returns [EObject current=null] : ( (lv_name_0_0= ruleNUMBER_LITERAL ) ) ;
+ public final EObject ruleNumberLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ AntlrDatatypeRuleToken lv_name_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4112:28: ( ( (lv_name_0_0= ruleNUMBER_LITERAL ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4113:1: ( (lv_name_0_0= ruleNUMBER_LITERAL ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4113:1: ( (lv_name_0_0= ruleNUMBER_LITERAL ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4114:1: (lv_name_0_0= ruleNUMBER_LITERAL )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4114:1: (lv_name_0_0= ruleNUMBER_LITERAL )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4115:3: lv_name_0_0= ruleNUMBER_LITERAL
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNumberLiteralExpCSAccess().getNameNUMBER_LITERALParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNUMBER_LITERAL_in_ruleNumberLiteralExpCS9602);
+ lv_name_0_0=ruleNUMBER_LITERAL();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNumberLiteralExpCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_0_0,
+ "NUMBER_LITERAL");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNumberLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleStringLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4139:1: entryRuleStringLiteralExpCS returns [EObject current=null] : iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF ;
+ public final EObject entryRuleStringLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleStringLiteralExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4140:2: (iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4141:2: iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getStringLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleStringLiteralExpCS_in_entryRuleStringLiteralExpCS9637);
+ iv_ruleStringLiteralExpCS=ruleStringLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleStringLiteralExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStringLiteralExpCS9647); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleStringLiteralExpCS"
+
+
+ // $ANTLR start "ruleStringLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4148:1: ruleStringLiteralExpCS returns [EObject current=null] : ( (lv_name_0_0= ruleStringLiteral ) )+ ;
+ public final EObject ruleStringLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ AntlrDatatypeRuleToken lv_name_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4151:28: ( ( (lv_name_0_0= ruleStringLiteral ) )+ )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4152:1: ( (lv_name_0_0= ruleStringLiteral ) )+
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4152:1: ( (lv_name_0_0= ruleStringLiteral ) )+
+ int cnt69=0;
+ loop69:
+ do {
+ int alt69=2;
+ int LA69_0 = input.LA(1);
+
+ if ( (LA69_0==RULE_SINGLE_QUOTED_STRING) ) {
+ alt69=1;
+ }
+
+
+ switch (alt69) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4153:1: (lv_name_0_0= ruleStringLiteral )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4153:1: (lv_name_0_0= ruleStringLiteral )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4154:3: lv_name_0_0= ruleStringLiteral
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getStringLiteralExpCSAccess().getNameStringLiteralParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_ruleStringLiteralExpCS9692);
+ lv_name_0_0=ruleStringLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStringLiteralExpCSRule());
+ }
+ add(
+ current,
+ "name",
+ lv_name_0_0,
+ "StringLiteral");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt69 >= 1 ) break loop69;
+ if (state.backtracking>0) {state.failed=true; return current;}
+ EarlyExitException eee =
+ new EarlyExitException(69, input);
+ throw eee;
+ }
+ cnt69++;
+ } while (true);
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStringLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleBooleanLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4178:1: entryRuleBooleanLiteralExpCS returns [EObject current=null] : iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF ;
+ public final EObject entryRuleBooleanLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleBooleanLiteralExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4179:2: (iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4180:2: iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getBooleanLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleBooleanLiteralExpCS_in_entryRuleBooleanLiteralExpCS9728);
+ iv_ruleBooleanLiteralExpCS=ruleBooleanLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleBooleanLiteralExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanLiteralExpCS9738); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleBooleanLiteralExpCS"
+
+
+ // $ANTLR start "ruleBooleanLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4187:1: ruleBooleanLiteralExpCS returns [EObject current=null] : ( ( (lv_name_0_0= 'true' ) ) | ( (lv_name_1_0= 'false' ) ) ) ;
+ public final EObject ruleBooleanLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_name_0_0=null;
+ Token lv_name_1_0=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4190:28: ( ( ( (lv_name_0_0= 'true' ) ) | ( (lv_name_1_0= 'false' ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4191:1: ( ( (lv_name_0_0= 'true' ) ) | ( (lv_name_1_0= 'false' ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4191:1: ( ( (lv_name_0_0= 'true' ) ) | ( (lv_name_1_0= 'false' ) ) )
+ int alt70=2;
+ int LA70_0 = input.LA(1);
+
+ if ( (LA70_0==81) ) {
+ alt70=1;
+ }
+ else if ( (LA70_0==82) ) {
+ alt70=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 70, 0, input);
+
+ throw nvae;
+ }
+ switch (alt70) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4191:2: ( (lv_name_0_0= 'true' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4191:2: ( (lv_name_0_0= 'true' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4192:1: (lv_name_0_0= 'true' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4192:1: (lv_name_0_0= 'true' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4193:3: lv_name_0_0= 'true'
+ {
+ lv_name_0_0=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleBooleanLiteralExpCS9781); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_name_0_0, grammarAccess.getBooleanLiteralExpCSAccess().getNameTrueKeyword_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getBooleanLiteralExpCSRule());
+ }
+ setWithLastConsumed(current, "name", lv_name_0_0, "true");
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4207:6: ( (lv_name_1_0= 'false' ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4207:6: ( (lv_name_1_0= 'false' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4208:1: (lv_name_1_0= 'false' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4208:1: (lv_name_1_0= 'false' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4209:3: lv_name_1_0= 'false'
+ {
+ lv_name_1_0=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleBooleanLiteralExpCS9818); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_name_1_0, grammarAccess.getBooleanLiteralExpCSAccess().getNameFalseKeyword_1_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getBooleanLiteralExpCSRule());
+ }
+ setWithLastConsumed(current, "name", lv_name_1_0, "false");
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleBooleanLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleUnlimitedNaturalLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4230:1: entryRuleUnlimitedNaturalLiteralExpCS returns [EObject current=null] : iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF ;
+ public final EObject entryRuleUnlimitedNaturalLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleUnlimitedNaturalLiteralExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4231:2: (iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4232:2: iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getUnlimitedNaturalLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_entryRuleUnlimitedNaturalLiteralExpCS9867);
+ iv_ruleUnlimitedNaturalLiteralExpCS=ruleUnlimitedNaturalLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleUnlimitedNaturalLiteralExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnlimitedNaturalLiteralExpCS9877); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleUnlimitedNaturalLiteralExpCS"
+
+
+ // $ANTLR start "ruleUnlimitedNaturalLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4239:1: ruleUnlimitedNaturalLiteralExpCS returns [EObject current=null] : ( () otherlv_1= '*' ) ;
+ public final EObject ruleUnlimitedNaturalLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4242:28: ( ( () otherlv_1= '*' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4243:1: ( () otherlv_1= '*' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4243:1: ( () otherlv_1= '*' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4243:2: () otherlv_1= '*'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4243:2: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4244:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleUnlimitedNaturalLiteralExpCS9926); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getAsteriskKeyword_1());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleUnlimitedNaturalLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleInvalidLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4264:1: entryRuleInvalidLiteralExpCS returns [EObject current=null] : iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF ;
+ public final EObject entryRuleInvalidLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleInvalidLiteralExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4265:2: (iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4266:2: iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getInvalidLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleInvalidLiteralExpCS_in_entryRuleInvalidLiteralExpCS9962);
+ iv_ruleInvalidLiteralExpCS=ruleInvalidLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleInvalidLiteralExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInvalidLiteralExpCS9972); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleInvalidLiteralExpCS"
+
+
+ // $ANTLR start "ruleInvalidLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4273:1: ruleInvalidLiteralExpCS returns [EObject current=null] : ( () otherlv_1= 'invalid' ) ;
+ public final EObject ruleInvalidLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4276:28: ( ( () otherlv_1= 'invalid' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4277:1: ( () otherlv_1= 'invalid' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4277:1: ( () otherlv_1= 'invalid' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4277:2: () otherlv_1= 'invalid'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4277:2: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4278:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,83,FollowSets000.FOLLOW_83_in_ruleInvalidLiteralExpCS10021); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getInvalidLiteralExpCSAccess().getInvalidKeyword_1());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleInvalidLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleNullLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4298:1: entryRuleNullLiteralExpCS returns [EObject current=null] : iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF ;
+ public final EObject entryRuleNullLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNullLiteralExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4299:2: (iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4300:2: iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNullLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNullLiteralExpCS_in_entryRuleNullLiteralExpCS10057);
+ iv_ruleNullLiteralExpCS=ruleNullLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNullLiteralExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNullLiteralExpCS10067); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNullLiteralExpCS"
+
+
+ // $ANTLR start "ruleNullLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4307:1: ruleNullLiteralExpCS returns [EObject current=null] : ( () otherlv_1= 'null' ) ;
+ public final EObject ruleNullLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4310:28: ( ( () otherlv_1= 'null' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4311:1: ( () otherlv_1= 'null' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4311:1: ( () otherlv_1= 'null' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4311:2: () otherlv_1= 'null'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4311:2: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4312:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleNullLiteralExpCS10116); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getNullLiteralExpCSAccess().getNullKeyword_1());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNullLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleTypeLiteralCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4332:1: entryRuleTypeLiteralCS returns [EObject current=null] : iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF ;
+ public final EObject entryRuleTypeLiteralCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTypeLiteralCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4333:2: (iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4334:2: iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getTypeLiteralCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_entryRuleTypeLiteralCS10152);
+ iv_ruleTypeLiteralCS=ruleTypeLiteralCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleTypeLiteralCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeLiteralCS10162); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTypeLiteralCS"
+
+
+ // $ANTLR start "ruleTypeLiteralCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4341:1: ruleTypeLiteralCS returns [EObject current=null] : (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_TupleTypeCS_2= ruleTupleTypeCS ) ;
+ public final EObject ruleTypeLiteralCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_PrimitiveTypeCS_0 = null;
+
+ EObject this_CollectionTypeCS_1 = null;
+
+ EObject this_TupleTypeCS_2 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4344:28: ( (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_TupleTypeCS_2= ruleTupleTypeCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4345:1: (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_TupleTypeCS_2= ruleTupleTypeCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4345:1: (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_TupleTypeCS_2= ruleTupleTypeCS )
+ int alt71=3;
+ switch ( input.LA(1) ) {
+ case 64:
+ case 65:
+ case 66:
+ case 67:
+ case 68:
+ case 69:
+ case 70:
+ case 71:
+ {
+ alt71=1;
+ }
+ break;
+ case 72:
+ case 73:
+ case 74:
+ case 75:
+ case 76:
+ {
+ alt71=2;
+ }
+ break;
+ case 62:
+ {
+ alt71=3;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 71, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt71) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4346:2: this_PrimitiveTypeCS_0= rulePrimitiveTypeCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getPrimitiveTypeCSParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeCS_in_ruleTypeLiteralCS10212);
+ this_PrimitiveTypeCS_0=rulePrimitiveTypeCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_PrimitiveTypeCS_0;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4359:2: this_CollectionTypeCS_1= ruleCollectionTypeCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getCollectionTypeCSParserRuleCall_1());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_ruleTypeLiteralCS10242);
+ this_CollectionTypeCS_1=ruleCollectionTypeCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_CollectionTypeCS_1;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4372:2: this_TupleTypeCS_2= ruleTupleTypeCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getTupleTypeCSParserRuleCall_2());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTupleTypeCS_in_ruleTypeLiteralCS10272);
+ this_TupleTypeCS_2=ruleTupleTypeCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_TupleTypeCS_2;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTypeLiteralCS"
+
+
+ // $ANTLR start "entryRuleTypeLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4391:1: entryRuleTypeLiteralExpCS returns [EObject current=null] : iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF ;
+ public final EObject entryRuleTypeLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTypeLiteralExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4392:2: (iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4393:2: iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getTypeLiteralExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_entryRuleTypeLiteralExpCS10307);
+ iv_ruleTypeLiteralExpCS=ruleTypeLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleTypeLiteralExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeLiteralExpCS10317); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTypeLiteralExpCS"
+
+
+ // $ANTLR start "ruleTypeLiteralExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4400:1: ruleTypeLiteralExpCS returns [EObject current=null] : ( (lv_ownedType_0_0= ruleTypeLiteralCS ) ) ;
+ public final EObject ruleTypeLiteralExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_ownedType_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4403:28: ( ( (lv_ownedType_0_0= ruleTypeLiteralCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4404:1: ( (lv_ownedType_0_0= ruleTypeLiteralCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4404:1: ( (lv_ownedType_0_0= ruleTypeLiteralCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4405:1: (lv_ownedType_0_0= ruleTypeLiteralCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4405:1: (lv_ownedType_0_0= ruleTypeLiteralCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4406:3: lv_ownedType_0_0= ruleTypeLiteralCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeTypeLiteralCSParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_ruleTypeLiteralExpCS10362);
+ lv_ownedType_0_0=ruleTypeLiteralCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTypeLiteralExpCSRule());
+ }
+ set(
+ current,
+ "ownedType",
+ lv_ownedType_0_0,
+ "TypeLiteralCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTypeLiteralExpCS"
+
+
+ // $ANTLR start "entryRuleTypeNameExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4430:1: entryRuleTypeNameExpCS returns [EObject current=null] : iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF ;
+ public final EObject entryRuleTypeNameExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTypeNameExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4431:2: (iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4432:2: iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getTypeNameExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeNameExpCS_in_entryRuleTypeNameExpCS10397);
+ iv_ruleTypeNameExpCS=ruleTypeNameExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleTypeNameExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeNameExpCS10407); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTypeNameExpCS"
+
+
+ // $ANTLR start "ruleTypeNameExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4439:1: ruleTypeNameExpCS returns [EObject current=null] : ( (lv_pathName_0_0= rulePathNameCS ) ) ;
+ public final EObject ruleTypeNameExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_pathName_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4442:28: ( ( (lv_pathName_0_0= rulePathNameCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4443:1: ( (lv_pathName_0_0= rulePathNameCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4443:1: ( (lv_pathName_0_0= rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4444:1: (lv_pathName_0_0= rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4444:1: (lv_pathName_0_0= rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4445:3: lv_pathName_0_0= rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getPathNamePathNameCSParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleTypeNameExpCS10452);
+ lv_pathName_0_0=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTypeNameExpCSRule());
+ }
+ set(
+ current,
+ "pathName",
+ lv_pathName_0_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTypeNameExpCS"
+
+
+ // $ANTLR start "entryRuleTypeExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4469:1: entryRuleTypeExpCS returns [EObject current=null] : iv_ruleTypeExpCS= ruleTypeExpCS EOF ;
+ public final EObject entryRuleTypeExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTypeExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4470:2: (iv_ruleTypeExpCS= ruleTypeExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4471:2: iv_ruleTypeExpCS= ruleTypeExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getTypeExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_entryRuleTypeExpCS10487);
+ iv_ruleTypeExpCS=ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleTypeExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeExpCS10497); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTypeExpCS"
+
+
+ // $ANTLR start "ruleTypeExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4478:1: ruleTypeExpCS returns [EObject current=null] : ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS ) ( (lv_multiplicity_2_0= ruleMultiplicityCS ) )? ) ;
+ public final EObject ruleTypeExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_TypeNameExpCS_0 = null;
+
+ EObject this_TypeLiteralCS_1 = null;
+
+ EObject lv_multiplicity_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4481:28: ( ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS ) ( (lv_multiplicity_2_0= ruleMultiplicityCS ) )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4482:1: ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS ) ( (lv_multiplicity_2_0= ruleMultiplicityCS ) )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4482:1: ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS ) ( (lv_multiplicity_2_0= ruleMultiplicityCS ) )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4482:2: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS ) ( (lv_multiplicity_2_0= ruleMultiplicityCS ) )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4482:2: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS )
+ int alt72=2;
+ int LA72_0 = input.LA(1);
+
+ if ( ((LA72_0>=RULE_SIMPLE_ID && LA72_0<=RULE_ESCAPED_ID)||LA72_0==17||LA72_0==20||LA72_0==24||(LA72_0>=28 && LA72_0<=39)||(LA72_0>=43 && LA72_0<=44)||(LA72_0>=46 && LA72_0<=47)) ) {
+ alt72=1;
+ }
+ else if ( (LA72_0==62||(LA72_0>=64 && LA72_0<=76)) ) {
+ alt72=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 72, 0, input);
+
+ throw nvae;
+ }
+ switch (alt72) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4483:2: this_TypeNameExpCS_0= ruleTypeNameExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTypeExpCSAccess().getTypeNameExpCSParserRuleCall_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeNameExpCS_in_ruleTypeExpCS10548);
+ this_TypeNameExpCS_0=ruleTypeNameExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_TypeNameExpCS_0;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4496:2: this_TypeLiteralCS_1= ruleTypeLiteralCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTypeExpCSAccess().getTypeLiteralCSParserRuleCall_0_1());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_ruleTypeExpCS10578);
+ this_TypeLiteralCS_1=ruleTypeLiteralCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_TypeLiteralCS_1;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4507:2: ( (lv_multiplicity_2_0= ruleMultiplicityCS ) )?
+ int alt73=2;
+ int LA73_0 = input.LA(1);
+
+ if ( (LA73_0==78) ) {
+ alt73=1;
+ }
+ switch (alt73) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4508:1: (lv_multiplicity_2_0= ruleMultiplicityCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4508:1: (lv_multiplicity_2_0= ruleMultiplicityCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4509:3: lv_multiplicity_2_0= ruleMultiplicityCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getTypeExpCSAccess().getMultiplicityMultiplicityCSParserRuleCall_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_ruleTypeExpCS10599);
+ lv_multiplicity_2_0=ruleMultiplicityCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTypeExpCSRule());
+ }
+ set(
+ current,
+ "multiplicity",
+ lv_multiplicity_2_0,
+ "MultiplicityCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTypeExpCS"
+
+
+ // $ANTLR start "entryRuleExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4533:1: entryRuleExpCS returns [EObject current=null] : iv_ruleExpCS= ruleExpCS EOF ;
+ public final EObject entryRuleExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4534:2: (iv_ruleExpCS= ruleExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4535:2: iv_ruleExpCS= ruleExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_entryRuleExpCS10636);
+ iv_ruleExpCS=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpCS10646); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleExpCS"
+
+
+ // $ANTLR start "ruleExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4542:1: ruleExpCS returns [EObject current=null] : ( ( () ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+ ( (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS ) ) ) | ( () ( (lv_ownedOperator_5_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS ) ) ) | this_PrimaryExpOrLetExpCS_7= rulePrimaryExpOrLetExpCS ) ;
+ public final EObject ruleExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_ownedExpression_1_0 = null;
+
+ EObject lv_ownedOperator_2_0 = null;
+
+ EObject lv_ownedExpression_3_0 = null;
+
+ EObject lv_ownedOperator_5_0 = null;
+
+ EObject lv_ownedExpression_6_0 = null;
+
+ EObject this_PrimaryExpOrLetExpCS_7 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4545:28: ( ( ( () ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+ ( (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS ) ) ) | ( () ( (lv_ownedOperator_5_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS ) ) ) | this_PrimaryExpOrLetExpCS_7= rulePrimaryExpOrLetExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4546:1: ( ( () ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+ ( (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS ) ) ) | ( () ( (lv_ownedOperator_5_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS ) ) ) | this_PrimaryExpOrLetExpCS_7= rulePrimaryExpOrLetExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4546:1: ( ( () ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+ ( (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS ) ) ) | ( () ( (lv_ownedOperator_5_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS ) ) ) | this_PrimaryExpOrLetExpCS_7= rulePrimaryExpOrLetExpCS )
+ int alt76=3;
+ alt76 = dfa76.predict(input);
+ switch (alt76) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4546:2: ( () ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+ ( (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4546:2: ( () ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+ ( (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4546:3: () ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+ ( (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4546:3: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4547:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getExpCSAccess().getInfixExpCSAction_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4555:2: ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+
+ int cnt74=0;
+ loop74:
+ do {
+ int alt74=2;
+ alt74 = dfa74.predict(input);
+ switch (alt74) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4555:3: ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4555:3: ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4556:1: (lv_ownedExpression_1_0= rulePrefixedExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4556:1: (lv_ownedExpression_1_0= rulePrefixedExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4557:3: lv_ownedExpression_1_0= rulePrefixedExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpCSParserRuleCall_0_1_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrefixedExpCS_in_ruleExpCS10706);
+ lv_ownedExpression_1_0=rulePrefixedExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getExpCSRule());
+ }
+ add(
+ current,
+ "ownedExpression",
+ lv_ownedExpression_1_0,
+ "PrefixedExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4573:2: ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4574:1: (lv_ownedOperator_2_0= ruleBinaryOperatorCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4574:1: (lv_ownedOperator_2_0= ruleBinaryOperatorCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4575:3: lv_ownedOperator_2_0= ruleBinaryOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedOperatorBinaryOperatorCSParserRuleCall_0_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleBinaryOperatorCS_in_ruleExpCS10727);
+ lv_ownedOperator_2_0=ruleBinaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getExpCSRule());
+ }
+ add(
+ current,
+ "ownedOperator",
+ lv_ownedOperator_2_0,
+ "BinaryOperatorCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt74 >= 1 ) break loop74;
+ if (state.backtracking>0) {state.failed=true; return current;}
+ EarlyExitException eee =
+ new EarlyExitException(74, input);
+ throw eee;
+ }
+ cnt74++;
+ } while (true);
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4591:4: ( (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4592:1: (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4592:1: (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4593:3: lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpOrLetExpCSParserRuleCall_0_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrefixedExpOrLetExpCS_in_ruleExpCS10750);
+ lv_ownedExpression_3_0=rulePrefixedExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getExpCSRule());
+ }
+ add(
+ current,
+ "ownedExpression",
+ lv_ownedExpression_3_0,
+ "PrefixedExpOrLetExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4610:6: ( () ( (lv_ownedOperator_5_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4610:6: ( () ( (lv_ownedOperator_5_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4610:7: () ( (lv_ownedOperator_5_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4610:7: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4611:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getExpCSAccess().getPrefixExpCSAction_1_0(),
+ current);
+
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4619:2: ( (lv_ownedOperator_5_0= ruleUnaryOperatorCS ) )+
+ int cnt75=0;
+ loop75:
+ do {
+ int alt75=2;
+ int LA75_0 = input.LA(1);
+
+ if ( ((LA75_0>=49 && LA75_0<=50)) ) {
+ alt75=1;
+ }
+
+
+ switch (alt75) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4620:1: (lv_ownedOperator_5_0= ruleUnaryOperatorCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4620:1: (lv_ownedOperator_5_0= ruleUnaryOperatorCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4621:3: lv_ownedOperator_5_0= ruleUnaryOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorCS_in_ruleExpCS10791);
+ lv_ownedOperator_5_0=ruleUnaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getExpCSRule());
+ }
+ add(
+ current,
+ "ownedOperator",
+ lv_ownedOperator_5_0,
+ "UnaryOperatorCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt75 >= 1 ) break loop75;
+ if (state.backtracking>0) {state.failed=true; return current;}
+ EarlyExitException eee =
+ new EarlyExitException(75, input);
+ throw eee;
+ }
+ cnt75++;
+ } while (true);
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4637:3: ( (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4638:1: (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4638:1: (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4639:3: lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpOrLetExpCS_in_ruleExpCS10813);
+ lv_ownedExpression_6_0=rulePrimaryExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getExpCSRule());
+ }
+ set(
+ current,
+ "ownedExpression",
+ lv_ownedExpression_6_0,
+ "PrimaryExpOrLetExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4657:2: this_PrimaryExpOrLetExpCS_7= rulePrimaryExpOrLetExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getExpCSAccess().getPrimaryExpOrLetExpCSParserRuleCall_2());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpOrLetExpCS_in_ruleExpCS10845);
+ this_PrimaryExpOrLetExpCS_7=rulePrimaryExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_PrimaryExpOrLetExpCS_7;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleExpCS"
+
+
+ // $ANTLR start "entryRuleBinaryOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4676:1: entryRuleBinaryOperatorCS returns [EObject current=null] : iv_ruleBinaryOperatorCS= ruleBinaryOperatorCS EOF ;
+ public final EObject entryRuleBinaryOperatorCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleBinaryOperatorCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4677:2: (iv_ruleBinaryOperatorCS= ruleBinaryOperatorCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4678:2: iv_ruleBinaryOperatorCS= ruleBinaryOperatorCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getBinaryOperatorCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleBinaryOperatorCS_in_entryRuleBinaryOperatorCS10880);
+ iv_ruleBinaryOperatorCS=ruleBinaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleBinaryOperatorCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBinaryOperatorCS10890); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleBinaryOperatorCS"
+
+
+ // $ANTLR start "ruleBinaryOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4685:1: ruleBinaryOperatorCS returns [EObject current=null] : (this_InfixOperatorCS_0= ruleInfixOperatorCS | this_NavigationOperatorCS_1= ruleNavigationOperatorCS ) ;
+ public final EObject ruleBinaryOperatorCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_InfixOperatorCS_0 = null;
+
+ EObject this_NavigationOperatorCS_1 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4688:28: ( (this_InfixOperatorCS_0= ruleInfixOperatorCS | this_NavigationOperatorCS_1= ruleNavigationOperatorCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4689:1: (this_InfixOperatorCS_0= ruleInfixOperatorCS | this_NavigationOperatorCS_1= ruleNavigationOperatorCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4689:1: (this_InfixOperatorCS_0= ruleInfixOperatorCS | this_NavigationOperatorCS_1= ruleNavigationOperatorCS )
+ int alt77=2;
+ int LA77_0 = input.LA(1);
+
+ if ( (LA77_0==40||LA77_0==45||(LA77_0>=48 && LA77_0<=49)||(LA77_0>=51 && LA77_0<=60)) ) {
+ alt77=1;
+ }
+ else if ( (LA77_0==19||LA77_0==61) ) {
+ alt77=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 77, 0, input);
+
+ throw nvae;
+ }
+ switch (alt77) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4690:2: this_InfixOperatorCS_0= ruleInfixOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getBinaryOperatorCSAccess().getInfixOperatorCSParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleInfixOperatorCS_in_ruleBinaryOperatorCS10940);
+ this_InfixOperatorCS_0=ruleInfixOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_InfixOperatorCS_0;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4703:2: this_NavigationOperatorCS_1= ruleNavigationOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getBinaryOperatorCSAccess().getNavigationOperatorCSParserRuleCall_1());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigationOperatorCS_in_ruleBinaryOperatorCS10970);
+ this_NavigationOperatorCS_1=ruleNavigationOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_NavigationOperatorCS_1;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleBinaryOperatorCS"
+
+
+ // $ANTLR start "entryRuleInfixOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4722:1: entryRuleInfixOperatorCS returns [EObject current=null] : iv_ruleInfixOperatorCS= ruleInfixOperatorCS EOF ;
+ public final EObject entryRuleInfixOperatorCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleInfixOperatorCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4723:2: (iv_ruleInfixOperatorCS= ruleInfixOperatorCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4724:2: iv_ruleInfixOperatorCS= ruleInfixOperatorCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getInfixOperatorCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleInfixOperatorCS_in_entryRuleInfixOperatorCS11005);
+ iv_ruleInfixOperatorCS=ruleInfixOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleInfixOperatorCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInfixOperatorCS11015); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleInfixOperatorCS"
+
+
+ // $ANTLR start "ruleInfixOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4731:1: ruleInfixOperatorCS returns [EObject current=null] : ( (lv_name_0_0= ruleInfixOperator ) ) ;
+ public final EObject ruleInfixOperatorCS() throws RecognitionException {
+ EObject current = null;
+
+ AntlrDatatypeRuleToken lv_name_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4734:28: ( ( (lv_name_0_0= ruleInfixOperator ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4735:1: ( (lv_name_0_0= ruleInfixOperator ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4735:1: ( (lv_name_0_0= ruleInfixOperator ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4736:1: (lv_name_0_0= ruleInfixOperator )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4736:1: (lv_name_0_0= ruleInfixOperator )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4737:3: lv_name_0_0= ruleInfixOperator
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getInfixOperatorCSAccess().getNameInfixOperatorParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleInfixOperator_in_ruleInfixOperatorCS11060);
+ lv_name_0_0=ruleInfixOperator();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getInfixOperatorCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_0_0,
+ "InfixOperator");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleInfixOperatorCS"
+
+
+ // $ANTLR start "entryRuleNavigationOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4761:1: entryRuleNavigationOperatorCS returns [EObject current=null] : iv_ruleNavigationOperatorCS= ruleNavigationOperatorCS EOF ;
+ public final EObject entryRuleNavigationOperatorCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNavigationOperatorCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4762:2: (iv_ruleNavigationOperatorCS= ruleNavigationOperatorCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4763:2: iv_ruleNavigationOperatorCS= ruleNavigationOperatorCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNavigationOperatorCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigationOperatorCS_in_entryRuleNavigationOperatorCS11095);
+ iv_ruleNavigationOperatorCS=ruleNavigationOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNavigationOperatorCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigationOperatorCS11105); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNavigationOperatorCS"
+
+
+ // $ANTLR start "ruleNavigationOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4770:1: ruleNavigationOperatorCS returns [EObject current=null] : ( (lv_name_0_0= ruleNavigationOperator ) ) ;
+ public final EObject ruleNavigationOperatorCS() throws RecognitionException {
+ EObject current = null;
+
+ AntlrDatatypeRuleToken lv_name_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4773:28: ( ( (lv_name_0_0= ruleNavigationOperator ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4774:1: ( (lv_name_0_0= ruleNavigationOperator ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4774:1: ( (lv_name_0_0= ruleNavigationOperator ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4775:1: (lv_name_0_0= ruleNavigationOperator )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4775:1: (lv_name_0_0= ruleNavigationOperator )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4776:3: lv_name_0_0= ruleNavigationOperator
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigationOperatorCSAccess().getNameNavigationOperatorParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigationOperator_in_ruleNavigationOperatorCS11150);
+ lv_name_0_0=ruleNavigationOperator();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNavigationOperatorCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_0_0,
+ "NavigationOperator");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNavigationOperatorCS"
+
+
+ // $ANTLR start "entryRulePrefixedExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4800:1: entryRulePrefixedExpCS returns [EObject current=null] : iv_rulePrefixedExpCS= rulePrefixedExpCS EOF ;
+ public final EObject entryRulePrefixedExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePrefixedExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4801:2: (iv_rulePrefixedExpCS= rulePrefixedExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4802:2: iv_rulePrefixedExpCS= rulePrefixedExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getPrefixedExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrefixedExpCS_in_entryRulePrefixedExpCS11185);
+ iv_rulePrefixedExpCS=rulePrefixedExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_rulePrefixedExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrefixedExpCS11195); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePrefixedExpCS"
+
+
+ // $ANTLR start "rulePrefixedExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4809:1: rulePrefixedExpCS returns [EObject current=null] : (this_PrimaryExpCS_0= rulePrimaryExpCS | ( () ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_3_0= rulePrimaryExpCS ) ) ) ) ;
+ public final EObject rulePrefixedExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_PrimaryExpCS_0 = null;
+
+ EObject lv_ownedOperator_2_0 = null;
+
+ EObject lv_ownedExpression_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4812:28: ( (this_PrimaryExpCS_0= rulePrimaryExpCS | ( () ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_3_0= rulePrimaryExpCS ) ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4813:1: (this_PrimaryExpCS_0= rulePrimaryExpCS | ( () ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_3_0= rulePrimaryExpCS ) ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4813:1: (this_PrimaryExpCS_0= rulePrimaryExpCS | ( () ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_3_0= rulePrimaryExpCS ) ) ) )
+ int alt79=2;
+ int LA79_0 = input.LA(1);
+
+ if ( ((LA79_0>=RULE_SIMPLE_ID && LA79_0<=RULE_SINGLE_QUOTED_STRING)||LA79_0==17||(LA79_0>=20 && LA79_0<=21)||LA79_0==24||(LA79_0>=28 && LA79_0<=39)||(LA79_0>=43 && LA79_0<=47)||LA79_0==62||(LA79_0>=64 && LA79_0<=76)||(LA79_0>=81 && LA79_0<=84)||LA79_0==88||LA79_0==94) ) {
+ alt79=1;
+ }
+ else if ( ((LA79_0>=49 && LA79_0<=50)) ) {
+ alt79=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 79, 0, input);
+
+ throw nvae;
+ }
+ switch (alt79) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4814:2: this_PrimaryExpCS_0= rulePrimaryExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrefixedExpCSAccess().getPrimaryExpCSParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_rulePrefixedExpCS11245);
+ this_PrimaryExpCS_0=rulePrimaryExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_PrimaryExpCS_0;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4826:6: ( () ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_3_0= rulePrimaryExpCS ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4826:6: ( () ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_3_0= rulePrimaryExpCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4826:7: () ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_3_0= rulePrimaryExpCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4826:7: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4827:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getPrefixedExpCSAccess().getPrefixExpCSAction_1_0(),
+ current);
+
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4835:2: ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+
+ int cnt78=0;
+ loop78:
+ do {
+ int alt78=2;
+ int LA78_0 = input.LA(1);
+
+ if ( ((LA78_0>=49 && LA78_0<=50)) ) {
+ alt78=1;
+ }
+
+
+ switch (alt78) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4836:1: (lv_ownedOperator_2_0= ruleUnaryOperatorCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4836:1: (lv_ownedOperator_2_0= ruleUnaryOperatorCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4837:3: lv_ownedOperator_2_0= ruleUnaryOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrefixedExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorCS_in_rulePrefixedExpCS11284);
+ lv_ownedOperator_2_0=ruleUnaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrefixedExpCSRule());
+ }
+ add(
+ current,
+ "ownedOperator",
+ lv_ownedOperator_2_0,
+ "UnaryOperatorCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt78 >= 1 ) break loop78;
+ if (state.backtracking>0) {state.failed=true; return current;}
+ EarlyExitException eee =
+ new EarlyExitException(78, input);
+ throw eee;
+ }
+ cnt78++;
+ } while (true);
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4853:3: ( (lv_ownedExpression_3_0= rulePrimaryExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4854:1: (lv_ownedExpression_3_0= rulePrimaryExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4854:1: (lv_ownedExpression_3_0= rulePrimaryExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4855:3: lv_ownedExpression_3_0= rulePrimaryExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrefixedExpCSAccess().getOwnedExpressionPrimaryExpCSParserRuleCall_1_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_rulePrefixedExpCS11306);
+ lv_ownedExpression_3_0=rulePrimaryExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrefixedExpCSRule());
+ }
+ set(
+ current,
+ "ownedExpression",
+ lv_ownedExpression_3_0,
+ "PrimaryExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePrefixedExpCS"
+
+
+ // $ANTLR start "entryRulePrefixedExpOrLetExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4879:1: entryRulePrefixedExpOrLetExpCS returns [EObject current=null] : iv_rulePrefixedExpOrLetExpCS= rulePrefixedExpOrLetExpCS EOF ;
+ public final EObject entryRulePrefixedExpOrLetExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePrefixedExpOrLetExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4880:2: (iv_rulePrefixedExpOrLetExpCS= rulePrefixedExpOrLetExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4881:2: iv_rulePrefixedExpOrLetExpCS= rulePrefixedExpOrLetExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getPrefixedExpOrLetExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrefixedExpOrLetExpCS_in_entryRulePrefixedExpOrLetExpCS11343);
+ iv_rulePrefixedExpOrLetExpCS=rulePrefixedExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_rulePrefixedExpOrLetExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrefixedExpOrLetExpCS11353); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePrefixedExpOrLetExpCS"
+
+
+ // $ANTLR start "rulePrefixedExpOrLetExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4888:1: rulePrefixedExpOrLetExpCS returns [EObject current=null] : (this_PrimaryExpOrLetExpCS_0= rulePrimaryExpOrLetExpCS | ( () ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_3_0= rulePrimaryExpOrLetExpCS ) ) ) ) ;
+ public final EObject rulePrefixedExpOrLetExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_PrimaryExpOrLetExpCS_0 = null;
+
+ EObject lv_ownedOperator_2_0 = null;
+
+ EObject lv_ownedExpression_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4891:28: ( (this_PrimaryExpOrLetExpCS_0= rulePrimaryExpOrLetExpCS | ( () ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_3_0= rulePrimaryExpOrLetExpCS ) ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4892:1: (this_PrimaryExpOrLetExpCS_0= rulePrimaryExpOrLetExpCS | ( () ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_3_0= rulePrimaryExpOrLetExpCS ) ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4892:1: (this_PrimaryExpOrLetExpCS_0= rulePrimaryExpOrLetExpCS | ( () ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_3_0= rulePrimaryExpOrLetExpCS ) ) ) )
+ int alt81=2;
+ int LA81_0 = input.LA(1);
+
+ if ( ((LA81_0>=RULE_SIMPLE_ID && LA81_0<=RULE_SINGLE_QUOTED_STRING)||LA81_0==17||(LA81_0>=20 && LA81_0<=21)||LA81_0==24||(LA81_0>=28 && LA81_0<=39)||(LA81_0>=43 && LA81_0<=47)||LA81_0==62||(LA81_0>=64 && LA81_0<=76)||(LA81_0>=81 && LA81_0<=84)||LA81_0==88||LA81_0==92||LA81_0==94) ) {
+ alt81=1;
+ }
+ else if ( ((LA81_0>=49 && LA81_0<=50)) ) {
+ alt81=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 81, 0, input);
+
+ throw nvae;
+ }
+ switch (alt81) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4893:2: this_PrimaryExpOrLetExpCS_0= rulePrimaryExpOrLetExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrimaryExpOrLetExpCSParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpOrLetExpCS_in_rulePrefixedExpOrLetExpCS11403);
+ this_PrimaryExpOrLetExpCS_0=rulePrimaryExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_PrimaryExpOrLetExpCS_0;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4905:6: ( () ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_3_0= rulePrimaryExpOrLetExpCS ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4905:6: ( () ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_3_0= rulePrimaryExpOrLetExpCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4905:7: () ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_3_0= rulePrimaryExpOrLetExpCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4905:7: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4906:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getPrefixedExpOrLetExpCSAccess().getPrefixExpCSAction_1_0(),
+ current);
+
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4914:2: ( (lv_ownedOperator_2_0= ruleUnaryOperatorCS ) )+
+ int cnt80=0;
+ loop80:
+ do {
+ int alt80=2;
+ int LA80_0 = input.LA(1);
+
+ if ( ((LA80_0>=49 && LA80_0<=50)) ) {
+ alt80=1;
+ }
+
+
+ switch (alt80) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4915:1: (lv_ownedOperator_2_0= ruleUnaryOperatorCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4915:1: (lv_ownedOperator_2_0= ruleUnaryOperatorCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4916:3: lv_ownedOperator_2_0= ruleUnaryOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorCS_in_rulePrefixedExpOrLetExpCS11442);
+ lv_ownedOperator_2_0=ruleUnaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrefixedExpOrLetExpCSRule());
+ }
+ add(
+ current,
+ "ownedOperator",
+ lv_ownedOperator_2_0,
+ "UnaryOperatorCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt80 >= 1 ) break loop80;
+ if (state.backtracking>0) {state.failed=true; return current;}
+ EarlyExitException eee =
+ new EarlyExitException(80, input);
+ throw eee;
+ }
+ cnt80++;
+ } while (true);
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4932:3: ( (lv_ownedExpression_3_0= rulePrimaryExpOrLetExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4933:1: (lv_ownedExpression_3_0= rulePrimaryExpOrLetExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4933:1: (lv_ownedExpression_3_0= rulePrimaryExpOrLetExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4934:3: lv_ownedExpression_3_0= rulePrimaryExpOrLetExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrefixedExpOrLetExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpOrLetExpCS_in_rulePrefixedExpOrLetExpCS11464);
+ lv_ownedExpression_3_0=rulePrimaryExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrefixedExpOrLetExpCSRule());
+ }
+ set(
+ current,
+ "ownedExpression",
+ lv_ownedExpression_3_0,
+ "PrimaryExpOrLetExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePrefixedExpOrLetExpCS"
+
+
+ // $ANTLR start "entryRuleUnaryOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4958:1: entryRuleUnaryOperatorCS returns [EObject current=null] : iv_ruleUnaryOperatorCS= ruleUnaryOperatorCS EOF ;
+ public final EObject entryRuleUnaryOperatorCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleUnaryOperatorCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4959:2: (iv_ruleUnaryOperatorCS= ruleUnaryOperatorCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4960:2: iv_ruleUnaryOperatorCS= ruleUnaryOperatorCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getUnaryOperatorCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorCS_in_entryRuleUnaryOperatorCS11501);
+ iv_ruleUnaryOperatorCS=ruleUnaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleUnaryOperatorCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnaryOperatorCS11511); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleUnaryOperatorCS"
+
+
+ // $ANTLR start "ruleUnaryOperatorCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4967:1: ruleUnaryOperatorCS returns [EObject current=null] : ( (lv_name_0_0= rulePrefixOperator ) ) ;
+ public final EObject ruleUnaryOperatorCS() throws RecognitionException {
+ EObject current = null;
+
+ AntlrDatatypeRuleToken lv_name_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4970:28: ( ( (lv_name_0_0= rulePrefixOperator ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4971:1: ( (lv_name_0_0= rulePrefixOperator ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4971:1: ( (lv_name_0_0= rulePrefixOperator ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4972:1: (lv_name_0_0= rulePrefixOperator )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4972:1: (lv_name_0_0= rulePrefixOperator )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4973:3: lv_name_0_0= rulePrefixOperator
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getUnaryOperatorCSAccess().getNamePrefixOperatorParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrefixOperator_in_ruleUnaryOperatorCS11556);
+ lv_name_0_0=rulePrefixOperator();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getUnaryOperatorCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_0_0,
+ "PrefixOperator");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleUnaryOperatorCS"
+
+
+ // $ANTLR start "entryRulePrimaryExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4997:1: entryRulePrimaryExpCS returns [EObject current=null] : iv_rulePrimaryExpCS= rulePrimaryExpCS EOF ;
+ public final EObject entryRulePrimaryExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePrimaryExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4998:2: (iv_rulePrimaryExpCS= rulePrimaryExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4999:2: iv_rulePrimaryExpCS= rulePrimaryExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getPrimaryExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_entryRulePrimaryExpCS11591);
+ iv_rulePrimaryExpCS=rulePrimaryExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_rulePrimaryExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimaryExpCS11601); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePrimaryExpCS"
+
+
+ // $ANTLR start "rulePrimaryExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5006:1: rulePrimaryExpCS returns [EObject current=null] : ( ( () ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '[' ( (lv_firstIndexes_3_0= ruleExpCS ) ) (otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) ) )* otherlv_6= ']' (otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']' )? ( ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre' )? ) | ( () ( (lv_pathName_15_0= rulePathNameCS ) ) otherlv_16= '{' ( (lv_ownedParts_17_0= ruleConstructorPartCS ) ) (otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) ) )* otherlv_20= '}' ) | ( () ( (lv_pathName_22_0= rulePathNameCS ) ) ( ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre' )? otherlv_25= '(' ( ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )? )? otherlv_32= ')' ) | ( () ( (lv_pathName_34_0= rulePathNameCS ) ) ( ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre' )? ) | this_SelfExpCS_37= ruleSelfExpCS | this_PrimitiveLiteralExpCS_38= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_39= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_40= ruleCollectionLiteralExpCS | this_TypeLiteralExpCS_41= ruleTypeLiteralExpCS | this_IfExpCS_42= ruleIfExpCS | this_NestedExpCS_43= ruleNestedExpCS ) ;
+ public final EObject rulePrimaryExpCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ Token otherlv_6=null;
+ Token otherlv_7=null;
+ Token otherlv_9=null;
+ Token otherlv_11=null;
+ Token lv_atPre_12_0=null;
+ Token otherlv_13=null;
+ Token otherlv_16=null;
+ Token otherlv_18=null;
+ Token otherlv_20=null;
+ Token lv_atPre_23_0=null;
+ Token otherlv_24=null;
+ Token otherlv_25=null;
+ Token otherlv_32=null;
+ Token lv_atPre_35_0=null;
+ Token otherlv_36=null;
+ EObject lv_pathName_1_0 = null;
+
+ EObject lv_firstIndexes_3_0 = null;
+
+ EObject lv_firstIndexes_5_0 = null;
+
+ EObject lv_secondIndexes_8_0 = null;
+
+ EObject lv_secondIndexes_10_0 = null;
+
+ EObject lv_pathName_15_0 = null;
+
+ EObject lv_ownedParts_17_0 = null;
+
+ EObject lv_ownedParts_19_0 = null;
+
+ EObject lv_pathName_22_0 = null;
+
+ EObject lv_argument_26_0 = null;
+
+ EObject lv_argument_27_0 = null;
+
+ EObject lv_argument_28_0 = null;
+
+ EObject lv_argument_29_0 = null;
+
+ EObject lv_argument_30_0 = null;
+
+ EObject lv_argument_31_0 = null;
+
+ EObject lv_pathName_34_0 = null;
+
+ EObject this_SelfExpCS_37 = null;
+
+ EObject this_PrimitiveLiteralExpCS_38 = null;
+
+ EObject this_TupleLiteralExpCS_39 = null;
+
+ EObject this_CollectionLiteralExpCS_40 = null;
+
+ EObject this_TypeLiteralExpCS_41 = null;
+
+ EObject this_IfExpCS_42 = null;
+
+ EObject this_NestedExpCS_43 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5009:28: ( ( ( () ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '[' ( (lv_firstIndexes_3_0= ruleExpCS ) ) (otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) ) )* otherlv_6= ']' (otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']' )? ( ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre' )? ) | ( () ( (lv_pathName_15_0= rulePathNameCS ) ) otherlv_16= '{' ( (lv_ownedParts_17_0= ruleConstructorPartCS ) ) (otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) ) )* otherlv_20= '}' ) | ( () ( (lv_pathName_22_0= rulePathNameCS ) ) ( ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre' )? otherlv_25= '(' ( ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )? )? otherlv_32= ')' ) | ( () ( (lv_pathName_34_0= rulePathNameCS ) ) ( ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre' )? ) | this_SelfExpCS_37= ruleSelfExpCS | this_PrimitiveLiteralExpCS_38= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_39= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_40= ruleCollectionLiteralExpCS | this_TypeLiteralExpCS_41= ruleTypeLiteralExpCS | this_IfExpCS_42= ruleIfExpCS | this_NestedExpCS_43= ruleNestedExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5010:1: ( ( () ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '[' ( (lv_firstIndexes_3_0= ruleExpCS ) ) (otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) ) )* otherlv_6= ']' (otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']' )? ( ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre' )? ) | ( () ( (lv_pathName_15_0= rulePathNameCS ) ) otherlv_16= '{' ( (lv_ownedParts_17_0= ruleConstructorPartCS ) ) (otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) ) )* otherlv_20= '}' ) | ( () ( (lv_pathName_22_0= rulePathNameCS ) ) ( ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre' )? otherlv_25= '(' ( ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )? )? otherlv_32= ')' ) | ( () ( (lv_pathName_34_0= rulePathNameCS ) ) ( ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre' )? ) | this_SelfExpCS_37= ruleSelfExpCS | this_PrimitiveLiteralExpCS_38= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_39= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_40= ruleCollectionLiteralExpCS | this_TypeLiteralExpCS_41= ruleTypeLiteralExpCS | this_IfExpCS_42= ruleIfExpCS | this_NestedExpCS_43= ruleNestedExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5010:1: ( ( () ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '[' ( (lv_firstIndexes_3_0= ruleExpCS ) ) (otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) ) )* otherlv_6= ']' (otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']' )? ( ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre' )? ) | ( () ( (lv_pathName_15_0= rulePathNameCS ) ) otherlv_16= '{' ( (lv_ownedParts_17_0= ruleConstructorPartCS ) ) (otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) ) )* otherlv_20= '}' ) | ( () ( (lv_pathName_22_0= rulePathNameCS ) ) ( ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre' )? otherlv_25= '(' ( ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )? )? otherlv_32= ')' ) | ( () ( (lv_pathName_34_0= rulePathNameCS ) ) ( ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre' )? ) | this_SelfExpCS_37= ruleSelfExpCS | this_PrimitiveLiteralExpCS_38= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_39= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_40= ruleCollectionLiteralExpCS | this_TypeLiteralExpCS_41= ruleTypeLiteralExpCS | this_IfExpCS_42= ruleIfExpCS | this_NestedExpCS_43= ruleNestedExpCS )
+ int alt95=11;
+ alt95 = dfa95.predict(input);
+ switch (alt95) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5010:2: ( () ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '[' ( (lv_firstIndexes_3_0= ruleExpCS ) ) (otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) ) )* otherlv_6= ']' (otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']' )? ( ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre' )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5010:2: ( () ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '[' ( (lv_firstIndexes_3_0= ruleExpCS ) ) (otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) ) )* otherlv_6= ']' (otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']' )? ( ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre' )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5010:3: () ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '[' ( (lv_firstIndexes_3_0= ruleExpCS ) ) (otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) ) )* otherlv_6= ']' (otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']' )? ( ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre' )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5010:3: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5011:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getPrimaryExpCSAccess().getIndexExpCSAction_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5019:2: ( (lv_pathName_1_0= rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5020:1: (lv_pathName_1_0= rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5020:1: (lv_pathName_1_0= rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5021:3: lv_pathName_1_0= rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_0_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_rulePrimaryExpCS11660);
+ lv_pathName_1_0=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ set(
+ current,
+ "pathName",
+ lv_pathName_1_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,78,FollowSets000.FOLLOW_78_in_rulePrimaryExpCS11672); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getPrimaryExpCSAccess().getLeftSquareBracketKeyword_0_2());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5041:1: ( (lv_firstIndexes_3_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5042:1: (lv_firstIndexes_3_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5042:1: (lv_firstIndexes_3_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5043:3: lv_firstIndexes_3_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_3_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_rulePrimaryExpCS11693);
+ lv_firstIndexes_3_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ current,
+ "firstIndexes",
+ lv_firstIndexes_3_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5059:2: (otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) ) )*
+ loop82:
+ do {
+ int alt82=2;
+ int LA82_0 = input.LA(1);
+
+ if ( (LA82_0==22) ) {
+ alt82=1;
+ }
+
+
+ switch (alt82) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5059:4: otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) )
+ {
+ otherlv_4=(Token)match(input,22,FollowSets000.FOLLOW_22_in_rulePrimaryExpCS11706); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_0_4_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5063:1: ( (lv_firstIndexes_5_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5064:1: (lv_firstIndexes_5_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5064:1: (lv_firstIndexes_5_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5065:3: lv_firstIndexes_5_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_4_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_rulePrimaryExpCS11727);
+ lv_firstIndexes_5_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ current,
+ "firstIndexes",
+ lv_firstIndexes_5_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop82;
+ }
+ } while (true);
+
+ otherlv_6=(Token)match(input,79,FollowSets000.FOLLOW_79_in_rulePrimaryExpCS11741); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_6, grammarAccess.getPrimaryExpCSAccess().getRightSquareBracketKeyword_0_5());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5085:1: (otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']' )?
+ int alt84=2;
+ int LA84_0 = input.LA(1);
+
+ if ( (LA84_0==78) ) {
+ alt84=1;
+ }
+ switch (alt84) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5085:3: otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']'
+ {
+ otherlv_7=(Token)match(input,78,FollowSets000.FOLLOW_78_in_rulePrimaryExpCS11754); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_7, grammarAccess.getPrimaryExpCSAccess().getLeftSquareBracketKeyword_0_6_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5089:1: ( (lv_secondIndexes_8_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5090:1: (lv_secondIndexes_8_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5090:1: (lv_secondIndexes_8_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5091:3: lv_secondIndexes_8_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_rulePrimaryExpCS11775);
+ lv_secondIndexes_8_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ current,
+ "secondIndexes",
+ lv_secondIndexes_8_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5107:2: (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )*
+ loop83:
+ do {
+ int alt83=2;
+ int LA83_0 = input.LA(1);
+
+ if ( (LA83_0==22) ) {
+ alt83=1;
+ }
+
+
+ switch (alt83) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5107:4: otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) )
+ {
+ otherlv_9=(Token)match(input,22,FollowSets000.FOLLOW_22_in_rulePrimaryExpCS11788); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_9, grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_0_6_2_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5111:1: ( (lv_secondIndexes_10_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5112:1: (lv_secondIndexes_10_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5112:1: (lv_secondIndexes_10_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5113:3: lv_secondIndexes_10_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_rulePrimaryExpCS11809);
+ lv_secondIndexes_10_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ current,
+ "secondIndexes",
+ lv_secondIndexes_10_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop83;
+ }
+ } while (true);
+
+ otherlv_11=(Token)match(input,79,FollowSets000.FOLLOW_79_in_rulePrimaryExpCS11823); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_11, grammarAccess.getPrimaryExpCSAccess().getRightSquareBracketKeyword_0_6_3());
+
+ }
+
+ }
+ break;
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5133:3: ( ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre' )?
+ int alt85=2;
+ int LA85_0 = input.LA(1);
+
+ if ( (LA85_0==85) ) {
+ alt85=1;
+ }
+ switch (alt85) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5133:4: ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5133:4: ( (lv_atPre_12_0= '@' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5134:1: (lv_atPre_12_0= '@' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5134:1: (lv_atPre_12_0= '@' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5135:3: lv_atPre_12_0= '@'
+ {
+ lv_atPre_12_0=(Token)match(input,85,FollowSets000.FOLLOW_85_in_rulePrimaryExpCS11844); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_atPre_12_0, grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_0_7_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getPrimaryExpCSRule());
+ }
+ setWithLastConsumed(current, "atPre", true, "@");
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_13=(Token)match(input,86,FollowSets000.FOLLOW_86_in_rulePrimaryExpCS11869); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_13, grammarAccess.getPrimaryExpCSAccess().getPreKeyword_0_7_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5153:6: ( () ( (lv_pathName_15_0= rulePathNameCS ) ) otherlv_16= '{' ( (lv_ownedParts_17_0= ruleConstructorPartCS ) ) (otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) ) )* otherlv_20= '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5153:6: ( () ( (lv_pathName_15_0= rulePathNameCS ) ) otherlv_16= '{' ( (lv_ownedParts_17_0= ruleConstructorPartCS ) ) (otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) ) )* otherlv_20= '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5153:7: () ( (lv_pathName_15_0= rulePathNameCS ) ) otherlv_16= '{' ( (lv_ownedParts_17_0= ruleConstructorPartCS ) ) (otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) ) )* otherlv_20= '}'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5153:7: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5154:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getPrimaryExpCSAccess().getConstructorExpCSAction_1_0(),
+ current);
+
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5162:2: ( (lv_pathName_15_0= rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5163:1: (lv_pathName_15_0= rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5163:1: (lv_pathName_15_0= rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5164:3: lv_pathName_15_0= rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_rulePrimaryExpCS11912);
+ lv_pathName_15_0=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ set(
+ current,
+ "pathName",
+ lv_pathName_15_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_16=(Token)match(input,25,FollowSets000.FOLLOW_25_in_rulePrimaryExpCS11924); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_16, grammarAccess.getPrimaryExpCSAccess().getLeftCurlyBracketKeyword_1_2());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5184:1: ( (lv_ownedParts_17_0= ruleConstructorPartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5185:1: (lv_ownedParts_17_0= ruleConstructorPartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5185:1: (lv_ownedParts_17_0= ruleConstructorPartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5186:3: lv_ownedParts_17_0= ruleConstructorPartCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_3_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleConstructorPartCS_in_rulePrimaryExpCS11945);
+ lv_ownedParts_17_0=ruleConstructorPartCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ current,
+ "ownedParts",
+ lv_ownedParts_17_0,
+ "ConstructorPartCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5202:2: (otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) ) )*
+ loop86:
+ do {
+ int alt86=2;
+ int LA86_0 = input.LA(1);
+
+ if ( (LA86_0==22) ) {
+ alt86=1;
+ }
+
+
+ switch (alt86) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5202:4: otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) )
+ {
+ otherlv_18=(Token)match(input,22,FollowSets000.FOLLOW_22_in_rulePrimaryExpCS11958); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_18, grammarAccess.getPrimaryExpCSAccess().getCommaKeyword_1_4_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5206:1: ( (lv_ownedParts_19_0= ruleConstructorPartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5207:1: (lv_ownedParts_19_0= ruleConstructorPartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5207:1: (lv_ownedParts_19_0= ruleConstructorPartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5208:3: lv_ownedParts_19_0= ruleConstructorPartCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_4_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleConstructorPartCS_in_rulePrimaryExpCS11979);
+ lv_ownedParts_19_0=ruleConstructorPartCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ current,
+ "ownedParts",
+ lv_ownedParts_19_0,
+ "ConstructorPartCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop86;
+ }
+ } while (true);
+
+ otherlv_20=(Token)match(input,26,FollowSets000.FOLLOW_26_in_rulePrimaryExpCS11993); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_20, grammarAccess.getPrimaryExpCSAccess().getRightCurlyBracketKeyword_1_5());
+
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5229:6: ( () ( (lv_pathName_22_0= rulePathNameCS ) ) ( ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre' )? otherlv_25= '(' ( ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )? )? otherlv_32= ')' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5229:6: ( () ( (lv_pathName_22_0= rulePathNameCS ) ) ( ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre' )? otherlv_25= '(' ( ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )? )? otherlv_32= ')' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5229:7: () ( (lv_pathName_22_0= rulePathNameCS ) ) ( ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre' )? otherlv_25= '(' ( ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )? )? otherlv_32= ')'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5229:7: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5230:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getPrimaryExpCSAccess().getInvocationExpCSAction_2_0(),
+ current);
+
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5238:2: ( (lv_pathName_22_0= rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5239:1: (lv_pathName_22_0= rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5239:1: (lv_pathName_22_0= rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5240:3: lv_pathName_22_0= rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_rulePrimaryExpCS12034);
+ lv_pathName_22_0=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ set(
+ current,
+ "pathName",
+ lv_pathName_22_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5256:2: ( ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre' )?
+ int alt87=2;
+ int LA87_0 = input.LA(1);
+
+ if ( (LA87_0==85) ) {
+ alt87=1;
+ }
+ switch (alt87) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5256:3: ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5256:3: ( (lv_atPre_23_0= '@' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5257:1: (lv_atPre_23_0= '@' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5257:1: (lv_atPre_23_0= '@' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5258:3: lv_atPre_23_0= '@'
+ {
+ lv_atPre_23_0=(Token)match(input,85,FollowSets000.FOLLOW_85_in_rulePrimaryExpCS12053); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_atPre_23_0, grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_2_2_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getPrimaryExpCSRule());
+ }
+ setWithLastConsumed(current, "atPre", true, "@");
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_24=(Token)match(input,86,FollowSets000.FOLLOW_86_in_rulePrimaryExpCS12078); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_24, grammarAccess.getPrimaryExpCSAccess().getPreKeyword_2_2_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+ otherlv_25=(Token)match(input,21,FollowSets000.FOLLOW_21_in_rulePrimaryExpCS12092); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_25, grammarAccess.getPrimaryExpCSAccess().getLeftParenthesisKeyword_2_3());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5279:1: ( ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )? )?
+ int alt93=2;
+ int LA93_0 = input.LA(1);
+
+ if ( ((LA93_0>=RULE_SIMPLE_ID && LA93_0<=RULE_SINGLE_QUOTED_STRING)||LA93_0==17||(LA93_0>=20 && LA93_0<=21)||LA93_0==24||(LA93_0>=28 && LA93_0<=39)||(LA93_0>=43 && LA93_0<=47)||(LA93_0>=49 && LA93_0<=50)||LA93_0==62||(LA93_0>=64 && LA93_0<=76)||(LA93_0>=81 && LA93_0<=84)||LA93_0==88||LA93_0==92||LA93_0==94) ) {
+ alt93=1;
+ }
+ switch (alt93) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5279:2: ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5279:2: ( (lv_argument_26_0= ruleNavigatingArgCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5280:1: (lv_argument_26_0= ruleNavigatingArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5280:1: (lv_argument_26_0= ruleNavigatingArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5281:3: lv_argument_26_0= ruleNavigatingArgCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingArgCSParserRuleCall_2_4_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgCS_in_rulePrimaryExpCS12114);
+ lv_argument_26_0=ruleNavigatingArgCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ current,
+ "argument",
+ lv_argument_26_0,
+ "NavigatingArgCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5297:2: ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )*
+ loop88:
+ do {
+ int alt88=2;
+ int LA88_0 = input.LA(1);
+
+ if ( (LA88_0==22) ) {
+ alt88=1;
+ }
+
+
+ switch (alt88) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5298:1: (lv_argument_27_0= ruleNavigatingCommaArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5298:1: (lv_argument_27_0= ruleNavigatingCommaArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5299:3: lv_argument_27_0= ruleNavigatingCommaArgCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_rulePrimaryExpCS12135);
+ lv_argument_27_0=ruleNavigatingCommaArgCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ current,
+ "argument",
+ lv_argument_27_0,
+ "NavigatingCommaArgCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop88;
+ }
+ } while (true);
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5315:3: ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )?
+ int alt90=2;
+ int LA90_0 = input.LA(1);
+
+ if ( (LA90_0==18) ) {
+ alt90=1;
+ }
+ switch (alt90) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5315:4: ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )*
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5315:4: ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5316:1: (lv_argument_28_0= ruleNavigatingSemiArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5316:1: (lv_argument_28_0= ruleNavigatingSemiArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5317:3: lv_argument_28_0= ruleNavigatingSemiArgCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingSemiArgCSParserRuleCall_2_4_2_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingSemiArgCS_in_rulePrimaryExpCS12158);
+ lv_argument_28_0=ruleNavigatingSemiArgCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ current,
+ "argument",
+ lv_argument_28_0,
+ "NavigatingSemiArgCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5333:2: ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )*
+ loop89:
+ do {
+ int alt89=2;
+ int LA89_0 = input.LA(1);
+
+ if ( (LA89_0==22) ) {
+ alt89=1;
+ }
+
+
+ switch (alt89) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5334:1: (lv_argument_29_0= ruleNavigatingCommaArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5334:1: (lv_argument_29_0= ruleNavigatingCommaArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5335:3: lv_argument_29_0= ruleNavigatingCommaArgCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_rulePrimaryExpCS12179);
+ lv_argument_29_0=ruleNavigatingCommaArgCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ current,
+ "argument",
+ lv_argument_29_0,
+ "NavigatingCommaArgCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop89;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5351:5: ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )?
+ int alt92=2;
+ int LA92_0 = input.LA(1);
+
+ if ( (LA92_0==87) ) {
+ alt92=1;
+ }
+ switch (alt92) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5351:6: ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )*
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5351:6: ( (lv_argument_30_0= ruleNavigatingBarArgCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5352:1: (lv_argument_30_0= ruleNavigatingBarArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5352:1: (lv_argument_30_0= ruleNavigatingBarArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5353:3: lv_argument_30_0= ruleNavigatingBarArgCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingBarArgCSParserRuleCall_2_4_3_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingBarArgCS_in_rulePrimaryExpCS12204);
+ lv_argument_30_0=ruleNavigatingBarArgCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ current,
+ "argument",
+ lv_argument_30_0,
+ "NavigatingBarArgCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5369:2: ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )*
+ loop91:
+ do {
+ int alt91=2;
+ int LA91_0 = input.LA(1);
+
+ if ( (LA91_0==22) ) {
+ alt91=1;
+ }
+
+
+ switch (alt91) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5370:1: (lv_argument_31_0= ruleNavigatingCommaArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5370:1: (lv_argument_31_0= ruleNavigatingCommaArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5371:3: lv_argument_31_0= ruleNavigatingCommaArgCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_3_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_rulePrimaryExpCS12225);
+ lv_argument_31_0=ruleNavigatingCommaArgCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ add(
+ current,
+ "argument",
+ lv_argument_31_0,
+ "NavigatingCommaArgCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop91;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_32=(Token)match(input,23,FollowSets000.FOLLOW_23_in_rulePrimaryExpCS12242); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_32, grammarAccess.getPrimaryExpCSAccess().getRightParenthesisKeyword_2_5());
+
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5392:6: ( () ( (lv_pathName_34_0= rulePathNameCS ) ) ( ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre' )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5392:6: ( () ( (lv_pathName_34_0= rulePathNameCS ) ) ( ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre' )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5392:7: () ( (lv_pathName_34_0= rulePathNameCS ) ) ( ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre' )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5392:7: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5393:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getPrimaryExpCSAccess().getNameExpCSAction_3_0(),
+ current);
+
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5401:2: ( (lv_pathName_34_0= rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5402:1: (lv_pathName_34_0= rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5402:1: (lv_pathName_34_0= rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5403:3: lv_pathName_34_0= rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_3_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_rulePrimaryExpCS12283);
+ lv_pathName_34_0=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpCSRule());
+ }
+ set(
+ current,
+ "pathName",
+ lv_pathName_34_0,
+ "PathNameCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5419:2: ( ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre' )?
+ int alt94=2;
+ int LA94_0 = input.LA(1);
+
+ if ( (LA94_0==85) ) {
+ alt94=1;
+ }
+ switch (alt94) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5419:3: ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5419:3: ( (lv_atPre_35_0= '@' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5420:1: (lv_atPre_35_0= '@' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5420:1: (lv_atPre_35_0= '@' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5421:3: lv_atPre_35_0= '@'
+ {
+ lv_atPre_35_0=(Token)match(input,85,FollowSets000.FOLLOW_85_in_rulePrimaryExpCS12302); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_atPre_35_0, grammarAccess.getPrimaryExpCSAccess().getAtPreCommercialAtKeyword_3_2_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getPrimaryExpCSRule());
+ }
+ setWithLastConsumed(current, "atPre", true, "@");
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_36=(Token)match(input,86,FollowSets000.FOLLOW_86_in_rulePrimaryExpCS12327); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_36, grammarAccess.getPrimaryExpCSAccess().getPreKeyword_3_2_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5440:2: this_SelfExpCS_37= ruleSelfExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getSelfExpCSParserRuleCall_4());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleSelfExpCS_in_rulePrimaryExpCS12361);
+ this_SelfExpCS_37=ruleSelfExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_SelfExpCS_37;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 6 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5453:2: this_PrimitiveLiteralExpCS_38= rulePrimitiveLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPrimitiveLiteralExpCSParserRuleCall_5());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimitiveLiteralExpCS_in_rulePrimaryExpCS12391);
+ this_PrimitiveLiteralExpCS_38=rulePrimitiveLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_PrimitiveLiteralExpCS_38;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 7 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5466:2: this_TupleLiteralExpCS_39= ruleTupleLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getTupleLiteralExpCSParserRuleCall_6());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_rulePrimaryExpCS12421);
+ this_TupleLiteralExpCS_39=ruleTupleLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_TupleLiteralExpCS_39;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 8 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5479:2: this_CollectionLiteralExpCS_40= ruleCollectionLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getCollectionLiteralExpCSParserRuleCall_7());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_rulePrimaryExpCS12451);
+ this_CollectionLiteralExpCS_40=ruleCollectionLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_CollectionLiteralExpCS_40;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 9 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5492:2: this_TypeLiteralExpCS_41= ruleTypeLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getTypeLiteralExpCSParserRuleCall_8());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_rulePrimaryExpCS12481);
+ this_TypeLiteralExpCS_41=ruleTypeLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_TypeLiteralExpCS_41;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 10 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5505:2: this_IfExpCS_42= ruleIfExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getIfExpCSParserRuleCall_9());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleIfExpCS_in_rulePrimaryExpCS12511);
+ this_IfExpCS_42=ruleIfExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_IfExpCS_42;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 11 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5518:2: this_NestedExpCS_43= ruleNestedExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getNestedExpCSParserRuleCall_10());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNestedExpCS_in_rulePrimaryExpCS12541);
+ this_NestedExpCS_43=ruleNestedExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_NestedExpCS_43;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePrimaryExpCS"
+
+
+ // $ANTLR start "entryRulePrimaryExpOrLetExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5537:1: entryRulePrimaryExpOrLetExpCS returns [EObject current=null] : iv_rulePrimaryExpOrLetExpCS= rulePrimaryExpOrLetExpCS EOF ;
+ public final EObject entryRulePrimaryExpOrLetExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePrimaryExpOrLetExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5538:2: (iv_rulePrimaryExpOrLetExpCS= rulePrimaryExpOrLetExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5539:2: iv_rulePrimaryExpOrLetExpCS= rulePrimaryExpOrLetExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getPrimaryExpOrLetExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpOrLetExpCS_in_entryRulePrimaryExpOrLetExpCS12576);
+ iv_rulePrimaryExpOrLetExpCS=rulePrimaryExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_rulePrimaryExpOrLetExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimaryExpOrLetExpCS12586); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePrimaryExpOrLetExpCS"
+
+
+ // $ANTLR start "rulePrimaryExpOrLetExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5546:1: rulePrimaryExpOrLetExpCS returns [EObject current=null] : (this_PrimaryExpCS_0= rulePrimaryExpCS | this_LetExpCS_1= ruleLetExpCS ) ;
+ public final EObject rulePrimaryExpOrLetExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_PrimaryExpCS_0 = null;
+
+ EObject this_LetExpCS_1 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5549:28: ( (this_PrimaryExpCS_0= rulePrimaryExpCS | this_LetExpCS_1= ruleLetExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5550:1: (this_PrimaryExpCS_0= rulePrimaryExpCS | this_LetExpCS_1= ruleLetExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5550:1: (this_PrimaryExpCS_0= rulePrimaryExpCS | this_LetExpCS_1= ruleLetExpCS )
+ int alt96=2;
+ int LA96_0 = input.LA(1);
+
+ if ( ((LA96_0>=RULE_SIMPLE_ID && LA96_0<=RULE_SINGLE_QUOTED_STRING)||LA96_0==17||(LA96_0>=20 && LA96_0<=21)||LA96_0==24||(LA96_0>=28 && LA96_0<=39)||(LA96_0>=43 && LA96_0<=47)||LA96_0==62||(LA96_0>=64 && LA96_0<=76)||(LA96_0>=81 && LA96_0<=84)||LA96_0==88||LA96_0==94) ) {
+ alt96=1;
+ }
+ else if ( (LA96_0==92) ) {
+ alt96=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 96, 0, input);
+
+ throw nvae;
+ }
+ switch (alt96) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5551:2: this_PrimaryExpCS_0= rulePrimaryExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpOrLetExpCSAccess().getPrimaryExpCSParserRuleCall_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_rulePrimaryExpOrLetExpCS12636);
+ this_PrimaryExpCS_0=rulePrimaryExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_PrimaryExpCS_0;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5564:2: this_LetExpCS_1= ruleLetExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpOrLetExpCSAccess().getLetExpCSParserRuleCall_1());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleLetExpCS_in_rulePrimaryExpOrLetExpCS12666);
+ this_LetExpCS_1=ruleLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_LetExpCS_1;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePrimaryExpOrLetExpCS"
+
+
+ // $ANTLR start "entryRuleNavigatingArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5583:1: entryRuleNavigatingArgCS returns [EObject current=null] : iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF ;
+ public final EObject entryRuleNavigatingArgCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNavigatingArgCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5584:2: (iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5585:2: iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNavigatingArgCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgCS_in_entryRuleNavigatingArgCS12701);
+ iv_ruleNavigatingArgCS=ruleNavigatingArgCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNavigatingArgCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingArgCS12711); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNavigatingArgCS"
+
+
+ // $ANTLR start "ruleNavigatingArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5592:1: ruleNavigatingArgCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleNavigatingArgExpCS ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_init_4_0= ruleExpCS ) ) )? )? ) ;
+ public final EObject ruleNavigatingArgCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ EObject lv_name_0_0 = null;
+
+ EObject lv_ownedType_2_0 = null;
+
+ EObject lv_init_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5595:28: ( ( ( (lv_name_0_0= ruleNavigatingArgExpCS ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_init_4_0= ruleExpCS ) ) )? )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5596:1: ( ( (lv_name_0_0= ruleNavigatingArgExpCS ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_init_4_0= ruleExpCS ) ) )? )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5596:1: ( ( (lv_name_0_0= ruleNavigatingArgExpCS ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_init_4_0= ruleExpCS ) ) )? )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5596:2: ( (lv_name_0_0= ruleNavigatingArgExpCS ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_init_4_0= ruleExpCS ) ) )? )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5596:2: ( (lv_name_0_0= ruleNavigatingArgExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5597:1: (lv_name_0_0= ruleNavigatingArgExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5597:1: (lv_name_0_0= ruleNavigatingArgExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5598:3: lv_name_0_0= ruleNavigatingArgExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingArgCS12757);
+ lv_name_0_0=ruleNavigatingArgExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_0_0,
+ "NavigatingArgExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5614:2: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_init_4_0= ruleExpCS ) ) )? )?
+ int alt98=2;
+ int LA98_0 = input.LA(1);
+
+ if ( (LA98_0==27) ) {
+ alt98=1;
+ }
+ switch (alt98) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5614:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_init_4_0= ruleExpCS ) ) )?
+ {
+ otherlv_1=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleNavigatingArgCS12770); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getNavigatingArgCSAccess().getColonKeyword_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5618:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5619:1: (lv_ownedType_2_0= ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5619:1: (lv_ownedType_2_0= ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5620:3: lv_ownedType_2_0= ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingArgCS12791);
+ lv_ownedType_2_0=ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
+ }
+ set(
+ current,
+ "ownedType",
+ lv_ownedType_2_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5636:2: (otherlv_3= '=' ( (lv_init_4_0= ruleExpCS ) ) )?
+ int alt97=2;
+ int LA97_0 = input.LA(1);
+
+ if ( (LA97_0==40) ) {
+ alt97=1;
+ }
+ switch (alt97) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5636:4: otherlv_3= '=' ( (lv_init_4_0= ruleExpCS ) )
+ {
+ otherlv_3=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleNavigatingArgCS12804); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_1_2_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5640:1: ( (lv_init_4_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5641:1: (lv_init_4_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5641:1: (lv_init_4_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5642:3: lv_init_4_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getInitExpCSParserRuleCall_1_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingArgCS12825);
+ lv_init_4_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
+ }
+ set(
+ current,
+ "init",
+ lv_init_4_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNavigatingArgCS"
+
+
+ // $ANTLR start "entryRuleNavigatingBarArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5666:1: entryRuleNavigatingBarArgCS returns [EObject current=null] : iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF ;
+ public final EObject entryRuleNavigatingBarArgCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNavigatingBarArgCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5667:2: (iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5668:2: iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNavigatingBarArgCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingBarArgCS_in_entryRuleNavigatingBarArgCS12865);
+ iv_ruleNavigatingBarArgCS=ruleNavigatingBarArgCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNavigatingBarArgCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingBarArgCS12875); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNavigatingBarArgCS"
+
+
+ // $ANTLR start "ruleNavigatingBarArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5675:1: ruleNavigatingBarArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= '|' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )? ) ;
+ public final EObject ruleNavigatingBarArgCS() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_prefix_0_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ EObject lv_name_1_0 = null;
+
+ EObject lv_ownedType_3_0 = null;
+
+ EObject lv_init_5_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5678:28: ( ( ( (lv_prefix_0_0= '|' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5679:1: ( ( (lv_prefix_0_0= '|' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5679:1: ( ( (lv_prefix_0_0= '|' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5679:2: ( (lv_prefix_0_0= '|' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5679:2: ( (lv_prefix_0_0= '|' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5680:1: (lv_prefix_0_0= '|' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5680:1: (lv_prefix_0_0= '|' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5681:3: lv_prefix_0_0= '|'
+ {
+ lv_prefix_0_0=(Token)match(input,87,FollowSets000.FOLLOW_87_in_ruleNavigatingBarArgCS12918); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNavigatingBarArgCSRule());
+ }
+ setWithLastConsumed(current, "prefix", lv_prefix_0_0, "|");
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5694:2: ( (lv_name_1_0= ruleNavigatingArgExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5695:1: (lv_name_1_0= ruleNavigatingArgExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5695:1: (lv_name_1_0= ruleNavigatingArgExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5696:3: lv_name_1_0= ruleNavigatingArgExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingBarArgCS12952);
+ lv_name_1_0=ruleNavigatingArgExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNavigatingBarArgCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_1_0,
+ "NavigatingArgExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5712:2: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )?
+ int alt100=2;
+ int LA100_0 = input.LA(1);
+
+ if ( (LA100_0==27) ) {
+ alt100=1;
+ }
+ switch (alt100) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5712:4: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )?
+ {
+ otherlv_2=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleNavigatingBarArgCS12965); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getNavigatingBarArgCSAccess().getColonKeyword_2_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5716:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5717:1: (lv_ownedType_3_0= ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5717:1: (lv_ownedType_3_0= ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5718:3: lv_ownedType_3_0= ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingBarArgCS12986);
+ lv_ownedType_3_0=ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNavigatingBarArgCSRule());
+ }
+ set(
+ current,
+ "ownedType",
+ lv_ownedType_3_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5734:2: (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )?
+ int alt99=2;
+ int LA99_0 = input.LA(1);
+
+ if ( (LA99_0==40) ) {
+ alt99=1;
+ }
+ switch (alt99) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5734:4: otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) )
+ {
+ otherlv_4=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleNavigatingBarArgCS12999); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getNavigatingBarArgCSAccess().getEqualsSignKeyword_2_2_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5738:1: ( (lv_init_5_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5739:1: (lv_init_5_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5739:1: (lv_init_5_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5740:3: lv_init_5_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingBarArgCS13020);
+ lv_init_5_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNavigatingBarArgCSRule());
+ }
+ set(
+ current,
+ "init",
+ lv_init_5_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNavigatingBarArgCS"
+
+
+ // $ANTLR start "entryRuleNavigatingCommaArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5764:1: entryRuleNavigatingCommaArgCS returns [EObject current=null] : iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF ;
+ public final EObject entryRuleNavigatingCommaArgCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNavigatingCommaArgCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5765:2: (iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5766:2: iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNavigatingCommaArgCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_entryRuleNavigatingCommaArgCS13060);
+ iv_ruleNavigatingCommaArgCS=ruleNavigatingCommaArgCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNavigatingCommaArgCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingCommaArgCS13070); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNavigatingCommaArgCS"
+
+
+ // $ANTLR start "ruleNavigatingCommaArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5773:1: ruleNavigatingCommaArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= ',' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )? ) ;
+ public final EObject ruleNavigatingCommaArgCS() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_prefix_0_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ EObject lv_name_1_0 = null;
+
+ EObject lv_ownedType_3_0 = null;
+
+ EObject lv_init_5_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5776:28: ( ( ( (lv_prefix_0_0= ',' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5777:1: ( ( (lv_prefix_0_0= ',' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5777:1: ( ( (lv_prefix_0_0= ',' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5777:2: ( (lv_prefix_0_0= ',' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5777:2: ( (lv_prefix_0_0= ',' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5778:1: (lv_prefix_0_0= ',' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5778:1: (lv_prefix_0_0= ',' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5779:3: lv_prefix_0_0= ','
+ {
+ lv_prefix_0_0=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleNavigatingCommaArgCS13113); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNavigatingCommaArgCSRule());
+ }
+ setWithLastConsumed(current, "prefix", lv_prefix_0_0, ",");
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5792:2: ( (lv_name_1_0= ruleNavigatingArgExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5793:1: (lv_name_1_0= ruleNavigatingArgExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5793:1: (lv_name_1_0= ruleNavigatingArgExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5794:3: lv_name_1_0= ruleNavigatingArgExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingCommaArgCS13147);
+ lv_name_1_0=ruleNavigatingArgExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_1_0,
+ "NavigatingArgExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5810:2: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )?
+ int alt102=2;
+ int LA102_0 = input.LA(1);
+
+ if ( (LA102_0==27) ) {
+ alt102=1;
+ }
+ switch (alt102) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5810:4: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )?
+ {
+ otherlv_2=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleNavigatingCommaArgCS13160); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5814:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5815:1: (lv_ownedType_3_0= ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5815:1: (lv_ownedType_3_0= ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5816:3: lv_ownedType_3_0= ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingCommaArgCS13181);
+ lv_ownedType_3_0=ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
+ }
+ set(
+ current,
+ "ownedType",
+ lv_ownedType_3_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5832:2: (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )?
+ int alt101=2;
+ int LA101_0 = input.LA(1);
+
+ if ( (LA101_0==40) ) {
+ alt101=1;
+ }
+ switch (alt101) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5832:4: otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) )
+ {
+ otherlv_4=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleNavigatingCommaArgCS13194); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_2_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5836:1: ( (lv_init_5_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5837:1: (lv_init_5_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5837:1: (lv_init_5_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5838:3: lv_init_5_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingCommaArgCS13215);
+ lv_init_5_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
+ }
+ set(
+ current,
+ "init",
+ lv_init_5_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNavigatingCommaArgCS"
+
+
+ // $ANTLR start "entryRuleNavigatingSemiArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5862:1: entryRuleNavigatingSemiArgCS returns [EObject current=null] : iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF ;
+ public final EObject entryRuleNavigatingSemiArgCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNavigatingSemiArgCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5863:2: (iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5864:2: iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNavigatingSemiArgCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingSemiArgCS_in_entryRuleNavigatingSemiArgCS13255);
+ iv_ruleNavigatingSemiArgCS=ruleNavigatingSemiArgCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNavigatingSemiArgCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingSemiArgCS13265); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNavigatingSemiArgCS"
+
+
+ // $ANTLR start "ruleNavigatingSemiArgCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5871:1: ruleNavigatingSemiArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= ';' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )? ) ;
+ public final EObject ruleNavigatingSemiArgCS() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_prefix_0_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ EObject lv_name_1_0 = null;
+
+ EObject lv_ownedType_3_0 = null;
+
+ EObject lv_init_5_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5874:28: ( ( ( (lv_prefix_0_0= ';' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5875:1: ( ( (lv_prefix_0_0= ';' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5875:1: ( ( (lv_prefix_0_0= ';' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5875:2: ( (lv_prefix_0_0= ';' ) ) ( (lv_name_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5875:2: ( (lv_prefix_0_0= ';' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5876:1: (lv_prefix_0_0= ';' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5876:1: (lv_prefix_0_0= ';' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5877:3: lv_prefix_0_0= ';'
+ {
+ lv_prefix_0_0=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleNavigatingSemiArgCS13308); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNavigatingSemiArgCSRule());
+ }
+ setWithLastConsumed(current, "prefix", lv_prefix_0_0, ";");
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5890:2: ( (lv_name_1_0= ruleNavigatingArgExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5891:1: (lv_name_1_0= ruleNavigatingArgExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5891:1: (lv_name_1_0= ruleNavigatingArgExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5892:3: lv_name_1_0= ruleNavigatingArgExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getNameNavigatingArgExpCSParserRuleCall_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingSemiArgCS13342);
+ lv_name_1_0=ruleNavigatingArgExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNavigatingSemiArgCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_1_0,
+ "NavigatingArgExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5908:2: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )? )?
+ int alt104=2;
+ int LA104_0 = input.LA(1);
+
+ if ( (LA104_0==27) ) {
+ alt104=1;
+ }
+ switch (alt104) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5908:4: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )?
+ {
+ otherlv_2=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleNavigatingSemiArgCS13355); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getNavigatingSemiArgCSAccess().getColonKeyword_2_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5912:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5913:1: (lv_ownedType_3_0= ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5913:1: (lv_ownedType_3_0= ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5914:3: lv_ownedType_3_0= ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingSemiArgCS13376);
+ lv_ownedType_3_0=ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNavigatingSemiArgCSRule());
+ }
+ set(
+ current,
+ "ownedType",
+ lv_ownedType_3_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5930:2: (otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) ) )?
+ int alt103=2;
+ int LA103_0 = input.LA(1);
+
+ if ( (LA103_0==40) ) {
+ alt103=1;
+ }
+ switch (alt103) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5930:4: otherlv_4= '=' ( (lv_init_5_0= ruleExpCS ) )
+ {
+ otherlv_4=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleNavigatingSemiArgCS13389); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getNavigatingSemiArgCSAccess().getEqualsSignKeyword_2_2_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5934:1: ( (lv_init_5_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5935:1: (lv_init_5_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5935:1: (lv_init_5_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5936:3: lv_init_5_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getInitExpCSParserRuleCall_2_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingSemiArgCS13410);
+ lv_init_5_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNavigatingSemiArgCSRule());
+ }
+ set(
+ current,
+ "init",
+ lv_init_5_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNavigatingSemiArgCS"
+
+
+ // $ANTLR start "entryRuleNavigatingArgExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5960:1: entryRuleNavigatingArgExpCS returns [EObject current=null] : iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF ;
+ public final EObject entryRuleNavigatingArgExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNavigatingArgExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5961:2: (iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5962:2: iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNavigatingArgExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_entryRuleNavigatingArgExpCS13450);
+ iv_ruleNavigatingArgExpCS=ruleNavigatingArgExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNavigatingArgExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingArgExpCS13460); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNavigatingArgExpCS"
+
+
+ // $ANTLR start "ruleNavigatingArgExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5969:1: ruleNavigatingArgExpCS returns [EObject current=null] : this_ExpCS_0= ruleExpCS ;
+ public final EObject ruleNavigatingArgExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_ExpCS_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5972:28: (this_ExpCS_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5974:2: this_ExpCS_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNavigatingArgExpCSAccess().getExpCSParserRuleCall());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingArgExpCS13509);
+ this_ExpCS_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_ExpCS_0;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNavigatingArgExpCS"
+
+
+ // $ANTLR start "entryRuleIfExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5993:1: entryRuleIfExpCS returns [EObject current=null] : iv_ruleIfExpCS= ruleIfExpCS EOF ;
+ public final EObject entryRuleIfExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleIfExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5994:2: (iv_ruleIfExpCS= ruleIfExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5995:2: iv_ruleIfExpCS= ruleIfExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getIfExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleIfExpCS_in_entryRuleIfExpCS13543);
+ iv_ruleIfExpCS=ruleIfExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleIfExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIfExpCS13553); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleIfExpCS"
+
+
+ // $ANTLR start "ruleIfExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6002:1: ruleIfExpCS returns [EObject current=null] : (otherlv_0= 'if' ( (lv_condition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_thenExpression_3_0= ruleExpCS ) ) otherlv_4= 'else' ( (lv_elseExpression_5_0= ruleExpCS ) ) otherlv_6= 'endif' ) ;
+ public final EObject ruleIfExpCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ Token otherlv_6=null;
+ EObject lv_condition_1_0 = null;
+
+ EObject lv_thenExpression_3_0 = null;
+
+ EObject lv_elseExpression_5_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6005:28: ( (otherlv_0= 'if' ( (lv_condition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_thenExpression_3_0= ruleExpCS ) ) otherlv_4= 'else' ( (lv_elseExpression_5_0= ruleExpCS ) ) otherlv_6= 'endif' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6006:1: (otherlv_0= 'if' ( (lv_condition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_thenExpression_3_0= ruleExpCS ) ) otherlv_4= 'else' ( (lv_elseExpression_5_0= ruleExpCS ) ) otherlv_6= 'endif' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6006:1: (otherlv_0= 'if' ( (lv_condition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_thenExpression_3_0= ruleExpCS ) ) otherlv_4= 'else' ( (lv_elseExpression_5_0= ruleExpCS ) ) otherlv_6= 'endif' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6006:3: otherlv_0= 'if' ( (lv_condition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_thenExpression_3_0= ruleExpCS ) ) otherlv_4= 'else' ( (lv_elseExpression_5_0= ruleExpCS ) ) otherlv_6= 'endif'
+ {
+ otherlv_0=(Token)match(input,88,FollowSets000.FOLLOW_88_in_ruleIfExpCS13590); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getIfExpCSAccess().getIfKeyword_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6010:1: ( (lv_condition_1_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6011:1: (lv_condition_1_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6011:1: (lv_condition_1_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6012:3: lv_condition_1_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getIfExpCSAccess().getConditionExpCSParserRuleCall_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleIfExpCS13611);
+ lv_condition_1_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getIfExpCSRule());
+ }
+ set(
+ current,
+ "condition",
+ lv_condition_1_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,89,FollowSets000.FOLLOW_89_in_ruleIfExpCS13623); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getIfExpCSAccess().getThenKeyword_2());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6032:1: ( (lv_thenExpression_3_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6033:1: (lv_thenExpression_3_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6033:1: (lv_thenExpression_3_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6034:3: lv_thenExpression_3_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getIfExpCSAccess().getThenExpressionExpCSParserRuleCall_3_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleIfExpCS13644);
+ lv_thenExpression_3_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getIfExpCSRule());
+ }
+ set(
+ current,
+ "thenExpression",
+ lv_thenExpression_3_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_4=(Token)match(input,90,FollowSets000.FOLLOW_90_in_ruleIfExpCS13656); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getIfExpCSAccess().getElseKeyword_4());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6054:1: ( (lv_elseExpression_5_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6055:1: (lv_elseExpression_5_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6055:1: (lv_elseExpression_5_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6056:3: lv_elseExpression_5_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getIfExpCSAccess().getElseExpressionExpCSParserRuleCall_5_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleIfExpCS13677);
+ lv_elseExpression_5_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getIfExpCSRule());
+ }
+ set(
+ current,
+ "elseExpression",
+ lv_elseExpression_5_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_6=(Token)match(input,91,FollowSets000.FOLLOW_91_in_ruleIfExpCS13689); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_6, grammarAccess.getIfExpCSAccess().getEndifKeyword_6());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleIfExpCS"
+
+
+ // $ANTLR start "entryRuleLetExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6084:1: entryRuleLetExpCS returns [EObject current=null] : iv_ruleLetExpCS= ruleLetExpCS EOF ;
+ public final EObject entryRuleLetExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleLetExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6085:2: (iv_ruleLetExpCS= ruleLetExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6086:2: iv_ruleLetExpCS= ruleLetExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getLetExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleLetExpCS_in_entryRuleLetExpCS13725);
+ iv_ruleLetExpCS=ruleLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleLetExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLetExpCS13735); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleLetExpCS"
+
+
+ // $ANTLR start "ruleLetExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6093:1: ruleLetExpCS returns [EObject current=null] : (otherlv_0= 'let' ( (lv_variable_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_variable_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_in_5_0= ruleExpCS ) ) ) ;
+ public final EObject ruleLetExpCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ EObject lv_variable_1_0 = null;
+
+ EObject lv_variable_3_0 = null;
+
+ EObject lv_in_5_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6096:28: ( (otherlv_0= 'let' ( (lv_variable_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_variable_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_in_5_0= ruleExpCS ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6097:1: (otherlv_0= 'let' ( (lv_variable_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_variable_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_in_5_0= ruleExpCS ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6097:1: (otherlv_0= 'let' ( (lv_variable_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_variable_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_in_5_0= ruleExpCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6097:3: otherlv_0= 'let' ( (lv_variable_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_variable_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_in_5_0= ruleExpCS ) )
+ {
+ otherlv_0=(Token)match(input,92,FollowSets000.FOLLOW_92_in_ruleLetExpCS13772); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getLetExpCSAccess().getLetKeyword_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6101:1: ( (lv_variable_1_0= ruleLetVariableCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6102:1: (lv_variable_1_0= ruleLetVariableCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6102:1: (lv_variable_1_0= ruleLetVariableCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6103:3: lv_variable_1_0= ruleLetVariableCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getLetExpCSAccess().getVariableLetVariableCSParserRuleCall_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleLetVariableCS_in_ruleLetExpCS13793);
+ lv_variable_1_0=ruleLetVariableCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLetExpCSRule());
+ }
+ add(
+ current,
+ "variable",
+ lv_variable_1_0,
+ "LetVariableCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6119:2: (otherlv_2= ',' ( (lv_variable_3_0= ruleLetVariableCS ) ) )*
+ loop105:
+ do {
+ int alt105=2;
+ int LA105_0 = input.LA(1);
+
+ if ( (LA105_0==22) ) {
+ alt105=1;
+ }
+
+
+ switch (alt105) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6119:4: otherlv_2= ',' ( (lv_variable_3_0= ruleLetVariableCS ) )
+ {
+ otherlv_2=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleLetExpCS13806); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6123:1: ( (lv_variable_3_0= ruleLetVariableCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6124:1: (lv_variable_3_0= ruleLetVariableCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6124:1: (lv_variable_3_0= ruleLetVariableCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6125:3: lv_variable_3_0= ruleLetVariableCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getLetExpCSAccess().getVariableLetVariableCSParserRuleCall_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleLetVariableCS_in_ruleLetExpCS13827);
+ lv_variable_3_0=ruleLetVariableCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLetExpCSRule());
+ }
+ add(
+ current,
+ "variable",
+ lv_variable_3_0,
+ "LetVariableCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop105;
+ }
+ } while (true);
+
+ otherlv_4=(Token)match(input,93,FollowSets000.FOLLOW_93_in_ruleLetExpCS13841); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getLetExpCSAccess().getInKeyword_3());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6145:1: ( (lv_in_5_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6146:1: (lv_in_5_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6146:1: (lv_in_5_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6147:3: lv_in_5_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getLetExpCSAccess().getInExpCSParserRuleCall_4_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleLetExpCS13862);
+ lv_in_5_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLetExpCSRule());
+ }
+ set(
+ current,
+ "in",
+ lv_in_5_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLetExpCS"
+
+
+ // $ANTLR start "entryRuleLetVariableCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6171:1: entryRuleLetVariableCS returns [EObject current=null] : iv_ruleLetVariableCS= ruleLetVariableCS EOF ;
+ public final EObject entryRuleLetVariableCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleLetVariableCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6172:2: (iv_ruleLetVariableCS= ruleLetVariableCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6173:2: iv_ruleLetVariableCS= ruleLetVariableCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getLetVariableCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleLetVariableCS_in_entryRuleLetVariableCS13898);
+ iv_ruleLetVariableCS=ruleLetVariableCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleLetVariableCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLetVariableCS13908); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleLetVariableCS"
+
+
+ // $ANTLR start "ruleLetVariableCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6180:1: ruleLetVariableCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_initExpression_4_0= ruleExpCS ) ) ) ;
+ public final EObject ruleLetVariableCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ AntlrDatatypeRuleToken lv_name_0_0 = null;
+
+ EObject lv_ownedType_2_0 = null;
+
+ EObject lv_initExpression_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6183:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_initExpression_4_0= ruleExpCS ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6184:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_initExpression_4_0= ruleExpCS ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6184:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_initExpression_4_0= ruleExpCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6184:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_initExpression_4_0= ruleExpCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6184:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6185:1: (lv_name_0_0= ruleUnrestrictedName )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6185:1: (lv_name_0_0= ruleUnrestrictedName )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6186:3: lv_name_0_0= ruleUnrestrictedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getLetVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleLetVariableCS13954);
+ lv_name_0_0=ruleUnrestrictedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLetVariableCSRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_0_0,
+ "UnrestrictedName");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6202:2: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )?
+ int alt106=2;
+ int LA106_0 = input.LA(1);
+
+ if ( (LA106_0==27) ) {
+ alt106=1;
+ }
+ switch (alt106) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6202:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
+ {
+ otherlv_1=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleLetVariableCS13967); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getLetVariableCSAccess().getColonKeyword_1_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6206:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6207:1: (lv_ownedType_2_0= ruleTypeExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6207:1: (lv_ownedType_2_0= ruleTypeExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6208:3: lv_ownedType_2_0= ruleTypeExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getLetVariableCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleLetVariableCS13988);
+ lv_ownedType_2_0=ruleTypeExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLetVariableCSRule());
+ }
+ set(
+ current,
+ "ownedType",
+ lv_ownedType_2_0,
+ "TypeExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_3=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleLetVariableCS14002); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getLetVariableCSAccess().getEqualsSignKeyword_2());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6228:1: ( (lv_initExpression_4_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6229:1: (lv_initExpression_4_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6229:1: (lv_initExpression_4_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6230:3: lv_initExpression_4_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getLetVariableCSAccess().getInitExpressionExpCSParserRuleCall_3_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleLetVariableCS14023);
+ lv_initExpression_4_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLetVariableCSRule());
+ }
+ set(
+ current,
+ "initExpression",
+ lv_initExpression_4_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLetVariableCS"
+
+
+ // $ANTLR start "entryRuleNestedExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6254:1: entryRuleNestedExpCS returns [EObject current=null] : iv_ruleNestedExpCS= ruleNestedExpCS EOF ;
+ public final EObject entryRuleNestedExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNestedExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6255:2: (iv_ruleNestedExpCS= ruleNestedExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6256:2: iv_ruleNestedExpCS= ruleNestedExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getNestedExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNestedExpCS_in_entryRuleNestedExpCS14059);
+ iv_ruleNestedExpCS=ruleNestedExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleNestedExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNestedExpCS14069); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNestedExpCS"
+
+
+ // $ANTLR start "ruleNestedExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6263:1: ruleNestedExpCS returns [EObject current=null] : (otherlv_0= '(' ( (lv_source_1_0= ruleExpCS ) ) otherlv_2= ')' ) ;
+ public final EObject ruleNestedExpCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ EObject lv_source_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6266:28: ( (otherlv_0= '(' ( (lv_source_1_0= ruleExpCS ) ) otherlv_2= ')' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6267:1: (otherlv_0= '(' ( (lv_source_1_0= ruleExpCS ) ) otherlv_2= ')' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6267:1: (otherlv_0= '(' ( (lv_source_1_0= ruleExpCS ) ) otherlv_2= ')' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6267:3: otherlv_0= '(' ( (lv_source_1_0= ruleExpCS ) ) otherlv_2= ')'
+ {
+ otherlv_0=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleNestedExpCS14106); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getNestedExpCSAccess().getLeftParenthesisKeyword_0());
+
+ }
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6271:1: ( (lv_source_1_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6272:1: (lv_source_1_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6272:1: (lv_source_1_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6273:3: lv_source_1_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getNestedExpCSAccess().getSourceExpCSParserRuleCall_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNestedExpCS14127);
+ lv_source_1_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNestedExpCSRule());
+ }
+ set(
+ current,
+ "source",
+ lv_source_1_0,
+ "ExpCS");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleNestedExpCS14139); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getNestedExpCSAccess().getRightParenthesisKeyword_2());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNestedExpCS"
+
+
+ // $ANTLR start "entryRuleSelfExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6301:1: entryRuleSelfExpCS returns [EObject current=null] : iv_ruleSelfExpCS= ruleSelfExpCS EOF ;
+ public final EObject entryRuleSelfExpCS() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSelfExpCS = null;
+
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6302:2: (iv_ruleSelfExpCS= ruleSelfExpCS EOF )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6303:2: iv_ruleSelfExpCS= ruleSelfExpCS EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getSelfExpCSRule());
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleSelfExpCS_in_entryRuleSelfExpCS14175);
+ iv_ruleSelfExpCS=ruleSelfExpCS();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleSelfExpCS;
+ }
+ match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSelfExpCS14185); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSelfExpCS"
+
+
+ // $ANTLR start "ruleSelfExpCS"
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6310:1: ruleSelfExpCS returns [EObject current=null] : ( () otherlv_1= 'self' ) ;
+ public final EObject ruleSelfExpCS() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+
+ enterRule();
+
+ try {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6313:28: ( ( () otherlv_1= 'self' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6314:1: ( () otherlv_1= 'self' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6314:1: ( () otherlv_1= 'self' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6314:2: () otherlv_1= 'self'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6314:2: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:6315:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,94,FollowSets000.FOLLOW_94_in_ruleSelfExpCS14234); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getSelfExpCSAccess().getSelfKeyword_1());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSelfExpCS"
+
+ // $ANTLR start synpred28_InternalQVTrelation
+ public final void synpred28_InternalQVTrelation_fragment() throws RecognitionException {
+ EObject this_ObjectTemplateCS_0 = null;
+
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1231:2: (this_ObjectTemplateCS_0= ruleObjectTemplateCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:1231:2: this_ObjectTemplateCS_0= ruleObjectTemplateCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleObjectTemplateCS_in_synpred28_InternalQVTrelation2518);
+ this_ObjectTemplateCS_0=ruleObjectTemplateCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ }
+ // $ANTLR end synpred28_InternalQVTrelation
+
+ // $ANTLR start synpred64_InternalQVTrelation
+ public final void synpred64_InternalQVTrelation_fragment() throws RecognitionException {
+ Token kw=null;
+ Token this_INT_2=null;
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2368:2: (kw= '.' this_INT_2= RULE_INT )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:2368:2: kw= '.' this_INT_2= RULE_INT
+ {
+ kw=(Token)match(input,19,FollowSets000.FOLLOW_19_in_synpred64_InternalQVTrelation5094); if (state.failed) return ;
+ this_INT_2=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_synpred64_InternalQVTrelation5109); if (state.failed) return ;
+
+ }
+ }
+ // $ANTLR end synpred64_InternalQVTrelation
+
+ // $ANTLR start synpred125_InternalQVTrelation
+ public final void synpred125_InternalQVTrelation_fragment() throws RecognitionException {
+ EObject lv_ownedExpression_1_0 = null;
+
+ EObject lv_ownedOperator_2_0 = null;
+
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4555:3: ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4555:3: ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4555:3: ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4556:1: (lv_ownedExpression_1_0= rulePrefixedExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4556:1: (lv_ownedExpression_1_0= rulePrefixedExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4557:3: lv_ownedExpression_1_0= rulePrefixedExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpCSParserRuleCall_0_1_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrefixedExpCS_in_synpred125_InternalQVTrelation10706);
+ lv_ownedExpression_1_0=rulePrefixedExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4573:2: ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4574:1: (lv_ownedOperator_2_0= ruleBinaryOperatorCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4574:1: (lv_ownedOperator_2_0= ruleBinaryOperatorCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4575:3: lv_ownedOperator_2_0= ruleBinaryOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedOperatorBinaryOperatorCSParserRuleCall_0_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleBinaryOperatorCS_in_synpred125_InternalQVTrelation10727);
+ lv_ownedOperator_2_0=ruleBinaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred125_InternalQVTrelation
+
+ // $ANTLR start synpred126_InternalQVTrelation
+ public final void synpred126_InternalQVTrelation_fragment() throws RecognitionException {
+ EObject lv_ownedExpression_1_0 = null;
+
+ EObject lv_ownedOperator_2_0 = null;
+
+ EObject lv_ownedExpression_3_0 = null;
+
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4546:2: ( ( () ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+ ( (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4546:2: ( () ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+ ( (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4546:2: ( () ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+ ( (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4546:3: () ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+ ( (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4546:3: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4547:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4555:2: ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+
+ int cnt124=0;
+ loop124:
+ do {
+ int alt124=2;
+ alt124 = dfa124.predict(input);
+ switch (alt124) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4555:3: ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4555:3: ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4556:1: (lv_ownedExpression_1_0= rulePrefixedExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4556:1: (lv_ownedExpression_1_0= rulePrefixedExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4557:3: lv_ownedExpression_1_0= rulePrefixedExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpCSParserRuleCall_0_1_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrefixedExpCS_in_synpred126_InternalQVTrelation10706);
+ lv_ownedExpression_1_0=rulePrefixedExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4573:2: ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4574:1: (lv_ownedOperator_2_0= ruleBinaryOperatorCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4574:1: (lv_ownedOperator_2_0= ruleBinaryOperatorCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4575:3: lv_ownedOperator_2_0= ruleBinaryOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedOperatorBinaryOperatorCSParserRuleCall_0_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleBinaryOperatorCS_in_synpred126_InternalQVTrelation10727);
+ lv_ownedOperator_2_0=ruleBinaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt124 >= 1 ) break loop124;
+ if (state.backtracking>0) {state.failed=true; return ;}
+ EarlyExitException eee =
+ new EarlyExitException(124, input);
+ throw eee;
+ }
+ cnt124++;
+ } while (true);
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4591:4: ( (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4592:1: (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4592:1: (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4593:3: lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedExpressionPrefixedExpOrLetExpCSParserRuleCall_0_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrefixedExpOrLetExpCS_in_synpred126_InternalQVTrelation10750);
+ lv_ownedExpression_3_0=rulePrefixedExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred126_InternalQVTrelation
+
+ // $ANTLR start synpred128_InternalQVTrelation
+ public final void synpred128_InternalQVTrelation_fragment() throws RecognitionException {
+ EObject lv_ownedOperator_5_0 = null;
+
+ EObject lv_ownedExpression_6_0 = null;
+
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4610:6: ( ( () ( (lv_ownedOperator_5_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS ) ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4610:6: ( () ( (lv_ownedOperator_5_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS ) ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4610:6: ( () ( (lv_ownedOperator_5_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS ) ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4610:7: () ( (lv_ownedOperator_5_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS ) )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4610:7: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4611:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4619:2: ( (lv_ownedOperator_5_0= ruleUnaryOperatorCS ) )+
+ int cnt125=0;
+ loop125:
+ do {
+ int alt125=2;
+ int LA125_0 = input.LA(1);
+
+ if ( ((LA125_0>=49 && LA125_0<=50)) ) {
+ alt125=1;
+ }
+
+
+ switch (alt125) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4620:1: (lv_ownedOperator_5_0= ruleUnaryOperatorCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4620:1: (lv_ownedOperator_5_0= ruleUnaryOperatorCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4621:3: lv_ownedOperator_5_0= ruleUnaryOperatorCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedOperatorUnaryOperatorCSParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorCS_in_synpred128_InternalQVTrelation10791);
+ lv_ownedOperator_5_0=ruleUnaryOperatorCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt125 >= 1 ) break loop125;
+ if (state.backtracking>0) {state.failed=true; return ;}
+ EarlyExitException eee =
+ new EarlyExitException(125, input);
+ throw eee;
+ }
+ cnt125++;
+ } while (true);
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4637:3: ( (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4638:1: (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4638:1: (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:4639:3: lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getExpCSAccess().getOwnedExpressionPrimaryExpOrLetExpCSParserRuleCall_1_2_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePrimaryExpOrLetExpCS_in_synpred128_InternalQVTrelation10813);
+ lv_ownedExpression_6_0=rulePrimaryExpOrLetExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred128_InternalQVTrelation
+
+ // $ANTLR start synpred138_InternalQVTrelation
+ public final void synpred138_InternalQVTrelation_fragment() throws RecognitionException {
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ Token otherlv_6=null;
+ Token otherlv_7=null;
+ Token otherlv_9=null;
+ Token otherlv_11=null;
+ Token lv_atPre_12_0=null;
+ Token otherlv_13=null;
+ EObject lv_pathName_1_0 = null;
+
+ EObject lv_firstIndexes_3_0 = null;
+
+ EObject lv_firstIndexes_5_0 = null;
+
+ EObject lv_secondIndexes_8_0 = null;
+
+ EObject lv_secondIndexes_10_0 = null;
+
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5010:2: ( ( () ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '[' ( (lv_firstIndexes_3_0= ruleExpCS ) ) (otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) ) )* otherlv_6= ']' (otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']' )? ( ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre' )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5010:2: ( () ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '[' ( (lv_firstIndexes_3_0= ruleExpCS ) ) (otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) ) )* otherlv_6= ']' (otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']' )? ( ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre' )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5010:2: ( () ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '[' ( (lv_firstIndexes_3_0= ruleExpCS ) ) (otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) ) )* otherlv_6= ']' (otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']' )? ( ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre' )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5010:3: () ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '[' ( (lv_firstIndexes_3_0= ruleExpCS ) ) (otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) ) )* otherlv_6= ']' (otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']' )? ( ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre' )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5010:3: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5011:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5019:2: ( (lv_pathName_1_0= rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5020:1: (lv_pathName_1_0= rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5020:1: (lv_pathName_1_0= rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5021:3: lv_pathName_1_0= rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_0_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_synpred138_InternalQVTrelation11660);
+ lv_pathName_1_0=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,78,FollowSets000.FOLLOW_78_in_synpred138_InternalQVTrelation11672); if (state.failed) return ;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5041:1: ( (lv_firstIndexes_3_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5042:1: (lv_firstIndexes_3_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5042:1: (lv_firstIndexes_3_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5043:3: lv_firstIndexes_3_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_3_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_synpred138_InternalQVTrelation11693);
+ lv_firstIndexes_3_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5059:2: (otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) ) )*
+ loop127:
+ do {
+ int alt127=2;
+ int LA127_0 = input.LA(1);
+
+ if ( (LA127_0==22) ) {
+ alt127=1;
+ }
+
+
+ switch (alt127) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5059:4: otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) )
+ {
+ otherlv_4=(Token)match(input,22,FollowSets000.FOLLOW_22_in_synpred138_InternalQVTrelation11706); if (state.failed) return ;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5063:1: ( (lv_firstIndexes_5_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5064:1: (lv_firstIndexes_5_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5064:1: (lv_firstIndexes_5_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5065:3: lv_firstIndexes_5_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getFirstIndexesExpCSParserRuleCall_0_4_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_synpred138_InternalQVTrelation11727);
+ lv_firstIndexes_5_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop127;
+ }
+ } while (true);
+
+ otherlv_6=(Token)match(input,79,FollowSets000.FOLLOW_79_in_synpred138_InternalQVTrelation11741); if (state.failed) return ;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5085:1: (otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']' )?
+ int alt129=2;
+ int LA129_0 = input.LA(1);
+
+ if ( (LA129_0==78) ) {
+ alt129=1;
+ }
+ switch (alt129) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5085:3: otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']'
+ {
+ otherlv_7=(Token)match(input,78,FollowSets000.FOLLOW_78_in_synpred138_InternalQVTrelation11754); if (state.failed) return ;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5089:1: ( (lv_secondIndexes_8_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5090:1: (lv_secondIndexes_8_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5090:1: (lv_secondIndexes_8_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5091:3: lv_secondIndexes_8_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_synpred138_InternalQVTrelation11775);
+ lv_secondIndexes_8_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5107:2: (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )*
+ loop128:
+ do {
+ int alt128=2;
+ int LA128_0 = input.LA(1);
+
+ if ( (LA128_0==22) ) {
+ alt128=1;
+ }
+
+
+ switch (alt128) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5107:4: otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) )
+ {
+ otherlv_9=(Token)match(input,22,FollowSets000.FOLLOW_22_in_synpred138_InternalQVTrelation11788); if (state.failed) return ;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5111:1: ( (lv_secondIndexes_10_0= ruleExpCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5112:1: (lv_secondIndexes_10_0= ruleExpCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5112:1: (lv_secondIndexes_10_0= ruleExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5113:3: lv_secondIndexes_10_0= ruleExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getSecondIndexesExpCSParserRuleCall_0_6_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_synpred138_InternalQVTrelation11809);
+ lv_secondIndexes_10_0=ruleExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop128;
+ }
+ } while (true);
+
+ otherlv_11=(Token)match(input,79,FollowSets000.FOLLOW_79_in_synpred138_InternalQVTrelation11823); if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5133:3: ( ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre' )?
+ int alt130=2;
+ int LA130_0 = input.LA(1);
+
+ if ( (LA130_0==85) ) {
+ alt130=1;
+ }
+ switch (alt130) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5133:4: ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5133:4: ( (lv_atPre_12_0= '@' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5134:1: (lv_atPre_12_0= '@' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5134:1: (lv_atPre_12_0= '@' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5135:3: lv_atPre_12_0= '@'
+ {
+ lv_atPre_12_0=(Token)match(input,85,FollowSets000.FOLLOW_85_in_synpred138_InternalQVTrelation11844); if (state.failed) return ;
+
+ }
+
+
+ }
+
+ otherlv_13=(Token)match(input,86,FollowSets000.FOLLOW_86_in_synpred138_InternalQVTrelation11869); if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred138_InternalQVTrelation
+
+ // $ANTLR start synpred140_InternalQVTrelation
+ public final void synpred140_InternalQVTrelation_fragment() throws RecognitionException {
+ Token otherlv_16=null;
+ Token otherlv_18=null;
+ Token otherlv_20=null;
+ EObject lv_pathName_15_0 = null;
+
+ EObject lv_ownedParts_17_0 = null;
+
+ EObject lv_ownedParts_19_0 = null;
+
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5153:6: ( ( () ( (lv_pathName_15_0= rulePathNameCS ) ) otherlv_16= '{' ( (lv_ownedParts_17_0= ruleConstructorPartCS ) ) (otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) ) )* otherlv_20= '}' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5153:6: ( () ( (lv_pathName_15_0= rulePathNameCS ) ) otherlv_16= '{' ( (lv_ownedParts_17_0= ruleConstructorPartCS ) ) (otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) ) )* otherlv_20= '}' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5153:6: ( () ( (lv_pathName_15_0= rulePathNameCS ) ) otherlv_16= '{' ( (lv_ownedParts_17_0= ruleConstructorPartCS ) ) (otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) ) )* otherlv_20= '}' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5153:7: () ( (lv_pathName_15_0= rulePathNameCS ) ) otherlv_16= '{' ( (lv_ownedParts_17_0= ruleConstructorPartCS ) ) (otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) ) )* otherlv_20= '}'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5153:7: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5154:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5162:2: ( (lv_pathName_15_0= rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5163:1: (lv_pathName_15_0= rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5163:1: (lv_pathName_15_0= rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5164:3: lv_pathName_15_0= rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_synpred140_InternalQVTrelation11912);
+ lv_pathName_15_0=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+ otherlv_16=(Token)match(input,25,FollowSets000.FOLLOW_25_in_synpred140_InternalQVTrelation11924); if (state.failed) return ;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5184:1: ( (lv_ownedParts_17_0= ruleConstructorPartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5185:1: (lv_ownedParts_17_0= ruleConstructorPartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5185:1: (lv_ownedParts_17_0= ruleConstructorPartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5186:3: lv_ownedParts_17_0= ruleConstructorPartCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_3_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleConstructorPartCS_in_synpred140_InternalQVTrelation11945);
+ lv_ownedParts_17_0=ruleConstructorPartCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5202:2: (otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) ) )*
+ loop131:
+ do {
+ int alt131=2;
+ int LA131_0 = input.LA(1);
+
+ if ( (LA131_0==22) ) {
+ alt131=1;
+ }
+
+
+ switch (alt131) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5202:4: otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) )
+ {
+ otherlv_18=(Token)match(input,22,FollowSets000.FOLLOW_22_in_synpred140_InternalQVTrelation11958); if (state.failed) return ;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5206:1: ( (lv_ownedParts_19_0= ruleConstructorPartCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5207:1: (lv_ownedParts_19_0= ruleConstructorPartCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5207:1: (lv_ownedParts_19_0= ruleConstructorPartCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5208:3: lv_ownedParts_19_0= ruleConstructorPartCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_1_4_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleConstructorPartCS_in_synpred140_InternalQVTrelation11979);
+ lv_ownedParts_19_0=ruleConstructorPartCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop131;
+ }
+ } while (true);
+
+ otherlv_20=(Token)match(input,26,FollowSets000.FOLLOW_26_in_synpred140_InternalQVTrelation11993); if (state.failed) return ;
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred140_InternalQVTrelation
+
+ // $ANTLR start synpred148_InternalQVTrelation
+ public final void synpred148_InternalQVTrelation_fragment() throws RecognitionException {
+ Token lv_atPre_23_0=null;
+ Token otherlv_24=null;
+ Token otherlv_25=null;
+ Token otherlv_32=null;
+ EObject lv_pathName_22_0 = null;
+
+ EObject lv_argument_26_0 = null;
+
+ EObject lv_argument_27_0 = null;
+
+ EObject lv_argument_28_0 = null;
+
+ EObject lv_argument_29_0 = null;
+
+ EObject lv_argument_30_0 = null;
+
+ EObject lv_argument_31_0 = null;
+
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5229:6: ( ( () ( (lv_pathName_22_0= rulePathNameCS ) ) ( ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre' )? otherlv_25= '(' ( ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )? )? otherlv_32= ')' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5229:6: ( () ( (lv_pathName_22_0= rulePathNameCS ) ) ( ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre' )? otherlv_25= '(' ( ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )? )? otherlv_32= ')' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5229:6: ( () ( (lv_pathName_22_0= rulePathNameCS ) ) ( ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre' )? otherlv_25= '(' ( ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )? )? otherlv_32= ')' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5229:7: () ( (lv_pathName_22_0= rulePathNameCS ) ) ( ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre' )? otherlv_25= '(' ( ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )? )? otherlv_32= ')'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5229:7: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5230:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5238:2: ( (lv_pathName_22_0= rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5239:1: (lv_pathName_22_0= rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5239:1: (lv_pathName_22_0= rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5240:3: lv_pathName_22_0= rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_synpred148_InternalQVTrelation12034);
+ lv_pathName_22_0=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5256:2: ( ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre' )?
+ int alt139=2;
+ int LA139_0 = input.LA(1);
+
+ if ( (LA139_0==85) ) {
+ alt139=1;
+ }
+ switch (alt139) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5256:3: ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5256:3: ( (lv_atPre_23_0= '@' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5257:1: (lv_atPre_23_0= '@' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5257:1: (lv_atPre_23_0= '@' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5258:3: lv_atPre_23_0= '@'
+ {
+ lv_atPre_23_0=(Token)match(input,85,FollowSets000.FOLLOW_85_in_synpred148_InternalQVTrelation12053); if (state.failed) return ;
+
+ }
+
+
+ }
+
+ otherlv_24=(Token)match(input,86,FollowSets000.FOLLOW_86_in_synpred148_InternalQVTrelation12078); if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+ otherlv_25=(Token)match(input,21,FollowSets000.FOLLOW_21_in_synpred148_InternalQVTrelation12092); if (state.failed) return ;
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5279:1: ( ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )? )?
+ int alt145=2;
+ int LA145_0 = input.LA(1);
+
+ if ( ((LA145_0>=RULE_SIMPLE_ID && LA145_0<=RULE_SINGLE_QUOTED_STRING)||LA145_0==17||(LA145_0>=20 && LA145_0<=21)||LA145_0==24||(LA145_0>=28 && LA145_0<=39)||(LA145_0>=43 && LA145_0<=47)||(LA145_0>=49 && LA145_0<=50)||LA145_0==62||(LA145_0>=64 && LA145_0<=76)||(LA145_0>=81 && LA145_0<=84)||LA145_0==88||LA145_0==92||LA145_0==94) ) {
+ alt145=1;
+ }
+ switch (alt145) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5279:2: ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5279:2: ( (lv_argument_26_0= ruleNavigatingArgCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5280:1: (lv_argument_26_0= ruleNavigatingArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5280:1: (lv_argument_26_0= ruleNavigatingArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5281:3: lv_argument_26_0= ruleNavigatingArgCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingArgCSParserRuleCall_2_4_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgCS_in_synpred148_InternalQVTrelation12114);
+ lv_argument_26_0=ruleNavigatingArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5297:2: ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )*
+ loop140:
+ do {
+ int alt140=2;
+ int LA140_0 = input.LA(1);
+
+ if ( (LA140_0==22) ) {
+ alt140=1;
+ }
+
+
+ switch (alt140) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5298:1: (lv_argument_27_0= ruleNavigatingCommaArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5298:1: (lv_argument_27_0= ruleNavigatingCommaArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5299:3: lv_argument_27_0= ruleNavigatingCommaArgCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_synpred148_InternalQVTrelation12135);
+ lv_argument_27_0=ruleNavigatingCommaArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop140;
+ }
+ } while (true);
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5315:3: ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )?
+ int alt142=2;
+ int LA142_0 = input.LA(1);
+
+ if ( (LA142_0==18) ) {
+ alt142=1;
+ }
+ switch (alt142) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5315:4: ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )*
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5315:4: ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5316:1: (lv_argument_28_0= ruleNavigatingSemiArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5316:1: (lv_argument_28_0= ruleNavigatingSemiArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5317:3: lv_argument_28_0= ruleNavigatingSemiArgCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingSemiArgCSParserRuleCall_2_4_2_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingSemiArgCS_in_synpred148_InternalQVTrelation12158);
+ lv_argument_28_0=ruleNavigatingSemiArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5333:2: ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )*
+ loop141:
+ do {
+ int alt141=2;
+ int LA141_0 = input.LA(1);
+
+ if ( (LA141_0==22) ) {
+ alt141=1;
+ }
+
+
+ switch (alt141) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5334:1: (lv_argument_29_0= ruleNavigatingCommaArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5334:1: (lv_argument_29_0= ruleNavigatingCommaArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5335:3: lv_argument_29_0= ruleNavigatingCommaArgCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_2_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_synpred148_InternalQVTrelation12179);
+ lv_argument_29_0=ruleNavigatingCommaArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop141;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5351:5: ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )?
+ int alt144=2;
+ int LA144_0 = input.LA(1);
+
+ if ( (LA144_0==87) ) {
+ alt144=1;
+ }
+ switch (alt144) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5351:6: ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )*
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5351:6: ( (lv_argument_30_0= ruleNavigatingBarArgCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5352:1: (lv_argument_30_0= ruleNavigatingBarArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5352:1: (lv_argument_30_0= ruleNavigatingBarArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5353:3: lv_argument_30_0= ruleNavigatingBarArgCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingBarArgCSParserRuleCall_2_4_3_0_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingBarArgCS_in_synpred148_InternalQVTrelation12204);
+ lv_argument_30_0=ruleNavigatingBarArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5369:2: ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )*
+ loop143:
+ do {
+ int alt143=2;
+ int LA143_0 = input.LA(1);
+
+ if ( (LA143_0==22) ) {
+ alt143=1;
+ }
+
+
+ switch (alt143) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5370:1: (lv_argument_31_0= ruleNavigatingCommaArgCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5370:1: (lv_argument_31_0= ruleNavigatingCommaArgCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5371:3: lv_argument_31_0= ruleNavigatingCommaArgCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getArgumentNavigatingCommaArgCSParserRuleCall_2_4_3_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_synpred148_InternalQVTrelation12225);
+ lv_argument_31_0=ruleNavigatingCommaArgCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop143;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_32=(Token)match(input,23,FollowSets000.FOLLOW_23_in_synpred148_InternalQVTrelation12242); if (state.failed) return ;
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred148_InternalQVTrelation
+
+ // $ANTLR start synpred150_InternalQVTrelation
+ public final void synpred150_InternalQVTrelation_fragment() throws RecognitionException {
+ Token lv_atPre_35_0=null;
+ Token otherlv_36=null;
+ EObject lv_pathName_34_0 = null;
+
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5392:6: ( ( () ( (lv_pathName_34_0= rulePathNameCS ) ) ( ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre' )? ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5392:6: ( () ( (lv_pathName_34_0= rulePathNameCS ) ) ( ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre' )? )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5392:6: ( () ( (lv_pathName_34_0= rulePathNameCS ) ) ( ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre' )? )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5392:7: () ( (lv_pathName_34_0= rulePathNameCS ) ) ( ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre' )?
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5392:7: ()
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5393:2:
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5401:2: ( (lv_pathName_34_0= rulePathNameCS ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5402:1: (lv_pathName_34_0= rulePathNameCS )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5402:1: (lv_pathName_34_0= rulePathNameCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5403:3: lv_pathName_34_0= rulePathNameCS
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPathNamePathNameCSParserRuleCall_3_1_0());
+
+ }
+ pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_synpred150_InternalQVTrelation12283);
+ lv_pathName_34_0=rulePathNameCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+
+ }
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5419:2: ( ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre' )?
+ int alt146=2;
+ int LA146_0 = input.LA(1);
+
+ if ( (LA146_0==85) ) {
+ alt146=1;
+ }
+ switch (alt146) {
+ case 1 :
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5419:3: ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre'
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5419:3: ( (lv_atPre_35_0= '@' ) )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5420:1: (lv_atPre_35_0= '@' )
+ {
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5420:1: (lv_atPre_35_0= '@' )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5421:3: lv_atPre_35_0= '@'
+ {
+ lv_atPre_35_0=(Token)match(input,85,FollowSets000.FOLLOW_85_in_synpred150_InternalQVTrelation12302); if (state.failed) return ;
+
+ }
+
+
+ }
+
+ otherlv_36=(Token)match(input,86,FollowSets000.FOLLOW_86_in_synpred150_InternalQVTrelation12327); if (state.failed) return ;
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ }
+ // $ANTLR end synpred150_InternalQVTrelation
+
+ // $ANTLR start synpred153_InternalQVTrelation
+ public final void synpred153_InternalQVTrelation_fragment() throws RecognitionException {
+ EObject this_TupleLiteralExpCS_39 = null;
+
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5466:2: (this_TupleLiteralExpCS_39= ruleTupleLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5466:2: this_TupleLiteralExpCS_39= ruleTupleLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_synpred153_InternalQVTrelation12421);
+ this_TupleLiteralExpCS_39=ruleTupleLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ }
+ // $ANTLR end synpred153_InternalQVTrelation
+
+ // $ANTLR start synpred154_InternalQVTrelation
+ public final void synpred154_InternalQVTrelation_fragment() throws RecognitionException {
+ EObject this_CollectionLiteralExpCS_40 = null;
+
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5479:2: (this_CollectionLiteralExpCS_40= ruleCollectionLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5479:2: this_CollectionLiteralExpCS_40= ruleCollectionLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_synpred154_InternalQVTrelation12451);
+ this_CollectionLiteralExpCS_40=ruleCollectionLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ }
+ // $ANTLR end synpred154_InternalQVTrelation
+
+ // $ANTLR start synpred155_InternalQVTrelation
+ public final void synpred155_InternalQVTrelation_fragment() throws RecognitionException {
+ EObject this_TypeLiteralExpCS_41 = null;
+
+
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5492:2: (this_TypeLiteralExpCS_41= ruleTypeLiteralExpCS )
+ // ../../plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelation.g:5492:2: this_TypeLiteralExpCS_41= ruleTypeLiteralExpCS
+ {
+ if ( state.backtracking==0 ) {
+
+ /* */
+
+ }
+ pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_synpred155_InternalQVTrelation12481);
+ this_TypeLiteralExpCS_41=ruleTypeLiteralExpCS();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ }
+ // $ANTLR end synpred155_InternalQVTrelation
+
+ // Delegated rules
+
+ public final boolean synpred150_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred150_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred155_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred155_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred128_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred128_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred126_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred126_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred28_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred28_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred138_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred138_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred125_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred125_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred64_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred64_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred148_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred148_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred153_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred153_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred140_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred140_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+ public final boolean synpred154_InternalQVTrelation() {
+ state.backtracking++;
+ int start = input.mark();
+ try {
+ synpred154_InternalQVTrelation_fragment(); // can never throw exception
+ } catch (RecognitionException re) {
+ System.err.println("impossible: "+re);
+ }
+ boolean success = !state.failed;
+ input.rewind(start);
+ state.backtracking--;
+ state.failed=false;
+ return success;
+ }
+
+
+ protected DFA25 dfa25 = new DFA25(this);
+ protected DFA31 dfa31 = new DFA31(this);
+ protected DFA32 dfa32 = new DFA32(this);
+ protected DFA76 dfa76 = new DFA76(this);
+ protected DFA74 dfa74 = new DFA74(this);
+ protected DFA95 dfa95 = new DFA95(this);
+ protected DFA124 dfa124 = new DFA124(this);
+ static final String DFA25_eotS =
+ "\151\uffff";
+ static final String DFA25_eofS =
+ "\151\uffff";
+ static final String DFA25_minS =
+ "\1\4\25\33\1\4\25\31\2\4\43\31\25\26\1\uffff\1\0\1\uffff";
+ static final String DFA25_maxS =
+ "\1\57\25\33\1\57\25\77\1\114\1\57\70\77\1\uffff\1\0\1\uffff";
+ static final String DFA25_acceptS =
+ "\146\uffff\1\2\1\uffff\1\1";
+ static final String DFA25_specialS =
+ "\147\uffff\1\0\1\uffff}>";
+ static final String[] DFA25_transitionS = {
+ "\1\1\1\2\13\uffff\1\13\2\uffff\1\23\3\uffff\1\11\2\uffff\1"+
+ "\26\1\14\1\22\1\20\1\15\1\24\1\25\1\5\1\10\1\7\1\12\1\6\1\16"+
+ "\3\uffff\1\17\1\21\1\uffff\1\3\1\4",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\26",
+ "\1\27\1\30\13\uffff\1\41\2\uffff\1\51\3\uffff\1\37\3\uffff"+
+ "\1\42\1\50\1\46\1\43\1\52\1\53\1\33\1\36\1\35\1\40\1\34\1\44"+
+ "\3\uffff\1\45\1\47\1\uffff\1\31\1\32",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\56\1\57\13\uffff\1\70\2\uffff\1\100\3\uffff\1\66\3\uffff"+
+ "\1\71\1\77\1\75\1\72\1\101\1\102\1\62\1\65\1\64\1\67\1\63\1"+
+ "\73\3\uffff\1\74\1\76\1\uffff\1\60\1\61\16\uffff\1\120\1\uffff"+
+ "\1\110\1\111\1\112\1\113\1\114\1\115\1\116\1\117\1\103\1\104"+
+ "\1\105\1\106\1\107",
+ "\1\121\1\122\13\uffff\1\133\2\uffff\1\143\3\uffff\1\131\1"+
+ "\uffff\1\147\1\146\1\134\1\142\1\140\1\135\1\144\1\145\1\125"+
+ "\1\130\1\127\1\132\1\126\1\136\2\uffff\1\146\1\137\1\141\1\uffff"+
+ "\1\123\1\124",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\55\45\uffff\1\54",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "\1\146\4\uffff\1\146\14\uffff\1\150\1\146\25\uffff\1\146",
+ "",
+ "\1\uffff",
+ ""
+ };
+
+ static final short[] DFA25_eot = DFA.unpackEncodedString(DFA25_eotS);
+ static final short[] DFA25_eof = DFA.unpackEncodedString(DFA25_eofS);
+ static final char[] DFA25_min = DFA.unpackEncodedStringToUnsignedChars(DFA25_minS);
+ static final char[] DFA25_max = DFA.unpackEncodedStringToUnsignedChars(DFA25_maxS);
+ static final short[] DFA25_accept = DFA.unpackEncodedString(DFA25_acceptS);
+ static final short[] DFA25_special = DFA.unpackEncodedString(DFA25_specialS);
+ static final short[][] DFA25_transition;
+
+ static {
+ int numStates = DFA25_transitionS.length;
+ DFA25_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA25_transition[i] = DFA.unpackEncodedString(DFA25_transitionS[i]);
+ }
+ }
+
+ class DFA25 extends DFA {
+
+ public DFA25(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 25;
+ this.eot = DFA25_eot;
+ this.eof = DFA25_eof;
+ this.min = DFA25_min;
+ this.max = DFA25_max;
+ this.accept = DFA25_accept;
+ this.special = DFA25_special;
+ this.transition = DFA25_transition;
+ }
+ public String getDescription() {
+ return "1230:2: (this_ObjectTemplateCS_0= ruleObjectTemplateCS | this_CollectionTemplateCS_1= ruleCollectionTemplateCS )";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ TokenStream input = (TokenStream)_input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA25_103 = input.LA(1);
+
+
+ int index25_103 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred28_InternalQVTrelation()) ) {s = 104;}
+
+ else if ( (true) ) {s = 102;}
+
+
+ input.seek(index25_103);
+ if ( s>=0 ) return s;
+ break;
+ }
+ if (state.backtracking>0) {state.failed=true; return -1;}
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 25, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+ static final String DFA31_eotS =
+ "\31\uffff";
+ static final String DFA31_eofS =
+ "\31\uffff";
+ static final String DFA31_minS =
+ "\1\4\25\26\3\uffff";
+ static final String DFA31_maxS =
+ "\1\57\25\77\3\uffff";
+ static final String DFA31_acceptS =
+ "\26\uffff\1\2\1\3\1\1";
+ static final String DFA31_specialS =
+ "\31\uffff}>";
+ static final String[] DFA31_transitionS = {
+ "\1\1\1\2\13\uffff\1\13\2\uffff\1\23\3\uffff\1\11\2\uffff\1"+
+ "\26\1\14\1\22\1\20\1\15\1\24\1\25\1\5\1\10\1\7\1\12\1\6\1\16"+
+ "\2\uffff\1\27\1\17\1\21\1\uffff\1\3\1\4",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA31_eot = DFA.unpackEncodedString(DFA31_eotS);
+ static final short[] DFA31_eof = DFA.unpackEncodedString(DFA31_eofS);
+ static final char[] DFA31_min = DFA.unpackEncodedStringToUnsignedChars(DFA31_minS);
+ static final char[] DFA31_max = DFA.unpackEncodedStringToUnsignedChars(DFA31_maxS);
+ static final short[] DFA31_accept = DFA.unpackEncodedString(DFA31_acceptS);
+ static final short[] DFA31_special = DFA.unpackEncodedString(DFA31_specialS);
+ static final short[][] DFA31_transition;
+
+ static {
+ int numStates = DFA31_transitionS.length;
+ DFA31_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA31_transition[i] = DFA.unpackEncodedString(DFA31_transitionS[i]);
+ }
+ }
+
+ class DFA31 extends DFA {
+
+ public DFA31(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 31;
+ this.eot = DFA31_eot;
+ this.eof = DFA31_eof;
+ this.min = DFA31_min;
+ this.max = DFA31_max;
+ this.accept = DFA31_accept;
+ this.special = DFA31_special;
+ this.transition = DFA31_transition;
+ }
+ public String getDescription() {
+ return "1518:1: (lv_memberIdentifier_4_1= ruleNameExpCS | lv_memberIdentifier_4_2= ruleTemplateCS | lv_memberIdentifier_4_3= ruleAnyElementCS )";
+ }
+ }
+ static final String DFA32_eotS =
+ "\31\uffff";
+ static final String DFA32_eofS =
+ "\31\uffff";
+ static final String DFA32_minS =
+ "\1\4\25\26\3\uffff";
+ static final String DFA32_maxS =
+ "\1\57\25\77\3\uffff";
+ static final String DFA32_acceptS =
+ "\26\uffff\1\2\1\3\1\1";
+ static final String DFA32_specialS =
+ "\31\uffff}>";
+ static final String[] DFA32_transitionS = {
+ "\1\1\1\2\13\uffff\1\13\2\uffff\1\23\3\uffff\1\11\2\uffff\1"+
+ "\26\1\14\1\22\1\20\1\15\1\24\1\25\1\5\1\10\1\7\1\12\1\6\1\16"+
+ "\2\uffff\1\27\1\17\1\21\1\uffff\1\3\1\4",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "\1\30\4\uffff\1\26\15\uffff\1\30\25\uffff\1\30",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA32_eot = DFA.unpackEncodedString(DFA32_eotS);
+ static final short[] DFA32_eof = DFA.unpackEncodedString(DFA32_eofS);
+ static final char[] DFA32_min = DFA.unpackEncodedStringToUnsignedChars(DFA32_minS);
+ static final char[] DFA32_max = DFA.unpackEncodedStringToUnsignedChars(DFA32_maxS);
+ static final short[] DFA32_accept = DFA.unpackEncodedString(DFA32_acceptS);
+ static final short[] DFA32_special = DFA.unpackEncodedString(DFA32_specialS);
+ static final short[][] DFA32_transition;
+
+ static {
+ int numStates = DFA32_transitionS.length;
+ DFA32_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA32_transition[i] = DFA.unpackEncodedString(DFA32_transitionS[i]);
+ }
+ }
+
+ class DFA32 extends DFA {
+
+ public DFA32(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 32;
+ this.eot = DFA32_eot;
+ this.eof = DFA32_eof;
+ this.min = DFA32_min;
+ this.max = DFA32_max;
+ this.accept = DFA32_accept;
+ this.special = DFA32_special;
+ this.transition = DFA32_transition;
+ }
+ public String getDescription() {
+ return "1573:1: (lv_memberIdentifier_6_1= ruleNameExpCS | lv_memberIdentifier_6_2= ruleTemplateCS | lv_memberIdentifier_6_3= ruleAnyElementCS )";
+ }
+ }
+ static final String DFA76_eotS =
+ "\63\uffff";
+ static final String DFA76_eofS =
+ "\63\uffff";
+ static final String DFA76_minS =
+ "\1\4\57\0\3\uffff";
+ static final String DFA76_maxS =
+ "\1\136\57\0\3\uffff";
+ static final String DFA76_acceptS =
+ "\60\uffff\1\3\1\1\1\2";
+ static final String DFA76_specialS =
+ "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
+ "\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30"+
+ "\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45"+
+ "\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\3\uffff}>";
+ static final String[] DFA76_transitionS = {
+ "\1\1\1\2\1\27\1\30\11\uffff\1\13\2\uffff\1\23\1\55\2\uffff"+
+ "\1\11\3\uffff\1\14\1\22\1\20\1\15\1\24\1\25\1\5\1\10\1\7\1\12"+
+ "\1\6\1\16\3\uffff\1\17\1\21\1\33\1\3\1\4\1\uffff\1\56\1\57\13"+
+ "\uffff\1\36\1\uffff\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53"+
+ "\1\37\1\40\1\41\1\42\1\43\4\uffff\1\31\1\32\1\34\1\35\3\uffff"+
+ "\1\54\3\uffff\1\60\1\uffff\1\26",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA76_eot = DFA.unpackEncodedString(DFA76_eotS);
+ static final short[] DFA76_eof = DFA.unpackEncodedString(DFA76_eofS);
+ static final char[] DFA76_min = DFA.unpackEncodedStringToUnsignedChars(DFA76_minS);
+ static final char[] DFA76_max = DFA.unpackEncodedStringToUnsignedChars(DFA76_maxS);
+ static final short[] DFA76_accept = DFA.unpackEncodedString(DFA76_acceptS);
+ static final short[] DFA76_special = DFA.unpackEncodedString(DFA76_specialS);
+ static final short[][] DFA76_transition;
+
+ static {
+ int numStates = DFA76_transitionS.length;
+ DFA76_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA76_transition[i] = DFA.unpackEncodedString(DFA76_transitionS[i]);
+ }
+ }
+
+ class DFA76 extends DFA {
+
+ public DFA76(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 76;
+ this.eot = DFA76_eot;
+ this.eof = DFA76_eof;
+ this.min = DFA76_min;
+ this.max = DFA76_max;
+ this.accept = DFA76_accept;
+ this.special = DFA76_special;
+ this.transition = DFA76_transition;
+ }
+ public String getDescription() {
+ return "4546:1: ( ( () ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+ ( (lv_ownedExpression_3_0= rulePrefixedExpOrLetExpCS ) ) ) | ( () ( (lv_ownedOperator_5_0= ruleUnaryOperatorCS ) )+ ( (lv_ownedExpression_6_0= rulePrimaryExpOrLetExpCS ) ) ) | this_PrimaryExpOrLetExpCS_7= rulePrimaryExpOrLetExpCS )";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ TokenStream input = (TokenStream)_input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA76_1 = input.LA(1);
+
+
+ int index76_1 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_1);
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA76_2 = input.LA(1);
+
+
+ int index76_2 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_2);
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA76_3 = input.LA(1);
+
+
+ int index76_3 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_3);
+ if ( s>=0 ) return s;
+ break;
+ case 3 :
+ int LA76_4 = input.LA(1);
+
+
+ int index76_4 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_4);
+ if ( s>=0 ) return s;
+ break;
+ case 4 :
+ int LA76_5 = input.LA(1);
+
+
+ int index76_5 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_5);
+ if ( s>=0 ) return s;
+ break;
+ case 5 :
+ int LA76_6 = input.LA(1);
+
+
+ int index76_6 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_6);
+ if ( s>=0 ) return s;
+ break;
+ case 6 :
+ int LA76_7 = input.LA(1);
+
+
+ int index76_7 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_7);
+ if ( s>=0 ) return s;
+ break;
+ case 7 :
+ int LA76_8 = input.LA(1);
+
+
+ int index76_8 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_8);
+ if ( s>=0 ) return s;
+ break;
+ case 8 :
+ int LA76_9 = input.LA(1);
+
+
+ int index76_9 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_9);
+ if ( s>=0 ) return s;
+ break;
+ case 9 :
+ int LA76_10 = input.LA(1);
+
+
+ int index76_10 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_10);
+ if ( s>=0 ) return s;
+ break;
+ case 10 :
+ int LA76_11 = input.LA(1);
+
+
+ int index76_11 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_11);
+ if ( s>=0 ) return s;
+ break;
+ case 11 :
+ int LA76_12 = input.LA(1);
+
+
+ int index76_12 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_12);
+ if ( s>=0 ) return s;
+ break;
+ case 12 :
+ int LA76_13 = input.LA(1);
+
+
+ int index76_13 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_13);
+ if ( s>=0 ) return s;
+ break;
+ case 13 :
+ int LA76_14 = input.LA(1);
+
+
+ int index76_14 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_14);
+ if ( s>=0 ) return s;
+ break;
+ case 14 :
+ int LA76_15 = input.LA(1);
+
+
+ int index76_15 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_15);
+ if ( s>=0 ) return s;
+ break;
+ case 15 :
+ int LA76_16 = input.LA(1);
+
+
+ int index76_16 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_16);
+ if ( s>=0 ) return s;
+ break;
+ case 16 :
+ int LA76_17 = input.LA(1);
+
+
+ int index76_17 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_17);
+ if ( s>=0 ) return s;
+ break;
+ case 17 :
+ int LA76_18 = input.LA(1);
+
+
+ int index76_18 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_18);
+ if ( s>=0 ) return s;
+ break;
+ case 18 :
+ int LA76_19 = input.LA(1);
+
+
+ int index76_19 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_19);
+ if ( s>=0 ) return s;
+ break;
+ case 19 :
+ int LA76_20 = input.LA(1);
+
+
+ int index76_20 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_20);
+ if ( s>=0 ) return s;
+ break;
+ case 20 :
+ int LA76_21 = input.LA(1);
+
+
+ int index76_21 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_21);
+ if ( s>=0 ) return s;
+ break;
+ case 21 :
+ int LA76_22 = input.LA(1);
+
+
+ int index76_22 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_22);
+ if ( s>=0 ) return s;
+ break;
+ case 22 :
+ int LA76_23 = input.LA(1);
+
+
+ int index76_23 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_23);
+ if ( s>=0 ) return s;
+ break;
+ case 23 :
+ int LA76_24 = input.LA(1);
+
+
+ int index76_24 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_24);
+ if ( s>=0 ) return s;
+ break;
+ case 24 :
+ int LA76_25 = input.LA(1);
+
+
+ int index76_25 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_25);
+ if ( s>=0 ) return s;
+ break;
+ case 25 :
+ int LA76_26 = input.LA(1);
+
+
+ int index76_26 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_26);
+ if ( s>=0 ) return s;
+ break;
+ case 26 :
+ int LA76_27 = input.LA(1);
+
+
+ int index76_27 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_27);
+ if ( s>=0 ) return s;
+ break;
+ case 27 :
+ int LA76_28 = input.LA(1);
+
+
+ int index76_28 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_28);
+ if ( s>=0 ) return s;
+ break;
+ case 28 :
+ int LA76_29 = input.LA(1);
+
+
+ int index76_29 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_29);
+ if ( s>=0 ) return s;
+ break;
+ case 29 :
+ int LA76_30 = input.LA(1);
+
+
+ int index76_30 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_30);
+ if ( s>=0 ) return s;
+ break;
+ case 30 :
+ int LA76_31 = input.LA(1);
+
+
+ int index76_31 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_31);
+ if ( s>=0 ) return s;
+ break;
+ case 31 :
+ int LA76_32 = input.LA(1);
+
+
+ int index76_32 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_32);
+ if ( s>=0 ) return s;
+ break;
+ case 32 :
+ int LA76_33 = input.LA(1);
+
+
+ int index76_33 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_33);
+ if ( s>=0 ) return s;
+ break;
+ case 33 :
+ int LA76_34 = input.LA(1);
+
+
+ int index76_34 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_34);
+ if ( s>=0 ) return s;
+ break;
+ case 34 :
+ int LA76_35 = input.LA(1);
+
+
+ int index76_35 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_35);
+ if ( s>=0 ) return s;
+ break;
+ case 35 :
+ int LA76_36 = input.LA(1);
+
+
+ int index76_36 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_36);
+ if ( s>=0 ) return s;
+ break;
+ case 36 :
+ int LA76_37 = input.LA(1);
+
+
+ int index76_37 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_37);
+ if ( s>=0 ) return s;
+ break;
+ case 37 :
+ int LA76_38 = input.LA(1);
+
+
+ int index76_38 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_38);
+ if ( s>=0 ) return s;
+ break;
+ case 38 :
+ int LA76_39 = input.LA(1);
+
+
+ int index76_39 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_39);
+ if ( s>=0 ) return s;
+ break;
+ case 39 :
+ int LA76_40 = input.LA(1);
+
+
+ int index76_40 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_40);
+ if ( s>=0 ) return s;
+ break;
+ case 40 :
+ int LA76_41 = input.LA(1);
+
+
+ int index76_41 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_41);
+ if ( s>=0 ) return s;
+ break;
+ case 41 :
+ int LA76_42 = input.LA(1);
+
+
+ int index76_42 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_42);
+ if ( s>=0 ) return s;
+ break;
+ case 42 :
+ int LA76_43 = input.LA(1);
+
+
+ int index76_43 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_43);
+ if ( s>=0 ) return s;
+ break;
+ case 43 :
+ int LA76_44 = input.LA(1);
+
+
+ int index76_44 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_44);
+ if ( s>=0 ) return s;
+ break;
+ case 44 :
+ int LA76_45 = input.LA(1);
+
+
+ int index76_45 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 48;}
+
+
+ input.seek(index76_45);
+ if ( s>=0 ) return s;
+ break;
+ case 45 :
+ int LA76_46 = input.LA(1);
+
+
+ int index76_46 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (synpred128_InternalQVTrelation()) ) {s = 50;}
+
+
+ input.seek(index76_46);
+ if ( s>=0 ) return s;
+ break;
+ case 46 :
+ int LA76_47 = input.LA(1);
+
+
+ int index76_47 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred126_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (synpred128_InternalQVTrelation()) ) {s = 50;}
+
+
+ input.seek(index76_47);
+ if ( s>=0 ) return s;
+ break;
+ }
+ if (state.backtracking>0) {state.failed=true; return -1;}
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 76, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+ static final String DFA74_eotS =
+ "\62\uffff";
+ static final String DFA74_eofS =
+ "\62\uffff";
+ static final String DFA74_minS =
+ "\1\4\55\0\1\uffff\2\0\1\uffff";
+ static final String DFA74_maxS =
+ "\1\136\55\0\1\uffff\2\0\1\uffff";
+ static final String DFA74_acceptS =
+ "\56\uffff\1\2\2\uffff\1\1";
+ static final String DFA74_specialS =
+ "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
+ "\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30"+
+ "\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45"+
+ "\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\uffff\1\55\1\56\1\uffff}>";
+ static final String[] DFA74_transitionS = {
+ "\1\1\1\2\1\27\1\30\11\uffff\1\13\2\uffff\1\23\1\55\2\uffff"+
+ "\1\11\3\uffff\1\14\1\22\1\20\1\15\1\24\1\25\1\5\1\10\1\7\1\12"+
+ "\1\6\1\16\3\uffff\1\17\1\21\1\33\1\3\1\4\1\uffff\1\57\1\60\13"+
+ "\uffff\1\36\1\uffff\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53"+
+ "\1\37\1\40\1\41\1\42\1\43\4\uffff\1\31\1\32\1\34\1\35\3\uffff"+
+ "\1\54\3\uffff\1\56\1\uffff\1\26",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "",
+ "\1\uffff",
+ "\1\uffff",
+ ""
+ };
+
+ static final short[] DFA74_eot = DFA.unpackEncodedString(DFA74_eotS);
+ static final short[] DFA74_eof = DFA.unpackEncodedString(DFA74_eofS);
+ static final char[] DFA74_min = DFA.unpackEncodedStringToUnsignedChars(DFA74_minS);
+ static final char[] DFA74_max = DFA.unpackEncodedStringToUnsignedChars(DFA74_maxS);
+ static final short[] DFA74_accept = DFA.unpackEncodedString(DFA74_acceptS);
+ static final short[] DFA74_special = DFA.unpackEncodedString(DFA74_specialS);
+ static final short[][] DFA74_transition;
+
+ static {
+ int numStates = DFA74_transitionS.length;
+ DFA74_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA74_transition[i] = DFA.unpackEncodedString(DFA74_transitionS[i]);
+ }
+ }
+
+ class DFA74 extends DFA {
+
+ public DFA74(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 74;
+ this.eot = DFA74_eot;
+ this.eof = DFA74_eof;
+ this.min = DFA74_min;
+ this.max = DFA74_max;
+ this.accept = DFA74_accept;
+ this.special = DFA74_special;
+ this.transition = DFA74_transition;
+ }
+ public String getDescription() {
+ return "()+ loopback of 4555:2: ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ TokenStream input = (TokenStream)_input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA74_1 = input.LA(1);
+
+
+ int index74_1 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_1);
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA74_2 = input.LA(1);
+
+
+ int index74_2 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_2);
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA74_3 = input.LA(1);
+
+
+ int index74_3 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_3);
+ if ( s>=0 ) return s;
+ break;
+ case 3 :
+ int LA74_4 = input.LA(1);
+
+
+ int index74_4 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_4);
+ if ( s>=0 ) return s;
+ break;
+ case 4 :
+ int LA74_5 = input.LA(1);
+
+
+ int index74_5 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_5);
+ if ( s>=0 ) return s;
+ break;
+ case 5 :
+ int LA74_6 = input.LA(1);
+
+
+ int index74_6 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_6);
+ if ( s>=0 ) return s;
+ break;
+ case 6 :
+ int LA74_7 = input.LA(1);
+
+
+ int index74_7 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_7);
+ if ( s>=0 ) return s;
+ break;
+ case 7 :
+ int LA74_8 = input.LA(1);
+
+
+ int index74_8 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_8);
+ if ( s>=0 ) return s;
+ break;
+ case 8 :
+ int LA74_9 = input.LA(1);
+
+
+ int index74_9 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_9);
+ if ( s>=0 ) return s;
+ break;
+ case 9 :
+ int LA74_10 = input.LA(1);
+
+
+ int index74_10 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_10);
+ if ( s>=0 ) return s;
+ break;
+ case 10 :
+ int LA74_11 = input.LA(1);
+
+
+ int index74_11 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_11);
+ if ( s>=0 ) return s;
+ break;
+ case 11 :
+ int LA74_12 = input.LA(1);
+
+
+ int index74_12 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_12);
+ if ( s>=0 ) return s;
+ break;
+ case 12 :
+ int LA74_13 = input.LA(1);
+
+
+ int index74_13 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_13);
+ if ( s>=0 ) return s;
+ break;
+ case 13 :
+ int LA74_14 = input.LA(1);
+
+
+ int index74_14 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_14);
+ if ( s>=0 ) return s;
+ break;
+ case 14 :
+ int LA74_15 = input.LA(1);
+
+
+ int index74_15 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_15);
+ if ( s>=0 ) return s;
+ break;
+ case 15 :
+ int LA74_16 = input.LA(1);
+
+
+ int index74_16 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_16);
+ if ( s>=0 ) return s;
+ break;
+ case 16 :
+ int LA74_17 = input.LA(1);
+
+
+ int index74_17 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_17);
+ if ( s>=0 ) return s;
+ break;
+ case 17 :
+ int LA74_18 = input.LA(1);
+
+
+ int index74_18 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_18);
+ if ( s>=0 ) return s;
+ break;
+ case 18 :
+ int LA74_19 = input.LA(1);
+
+
+ int index74_19 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_19);
+ if ( s>=0 ) return s;
+ break;
+ case 19 :
+ int LA74_20 = input.LA(1);
+
+
+ int index74_20 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_20);
+ if ( s>=0 ) return s;
+ break;
+ case 20 :
+ int LA74_21 = input.LA(1);
+
+
+ int index74_21 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_21);
+ if ( s>=0 ) return s;
+ break;
+ case 21 :
+ int LA74_22 = input.LA(1);
+
+
+ int index74_22 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_22);
+ if ( s>=0 ) return s;
+ break;
+ case 22 :
+ int LA74_23 = input.LA(1);
+
+
+ int index74_23 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_23);
+ if ( s>=0 ) return s;
+ break;
+ case 23 :
+ int LA74_24 = input.LA(1);
+
+
+ int index74_24 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_24);
+ if ( s>=0 ) return s;
+ break;
+ case 24 :
+ int LA74_25 = input.LA(1);
+
+
+ int index74_25 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_25);
+ if ( s>=0 ) return s;
+ break;
+ case 25 :
+ int LA74_26 = input.LA(1);
+
+
+ int index74_26 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_26);
+ if ( s>=0 ) return s;
+ break;
+ case 26 :
+ int LA74_27 = input.LA(1);
+
+
+ int index74_27 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_27);
+ if ( s>=0 ) return s;
+ break;
+ case 27 :
+ int LA74_28 = input.LA(1);
+
+
+ int index74_28 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_28);
+ if ( s>=0 ) return s;
+ break;
+ case 28 :
+ int LA74_29 = input.LA(1);
+
+
+ int index74_29 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_29);
+ if ( s>=0 ) return s;
+ break;
+ case 29 :
+ int LA74_30 = input.LA(1);
+
+
+ int index74_30 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_30);
+ if ( s>=0 ) return s;
+ break;
+ case 30 :
+ int LA74_31 = input.LA(1);
+
+
+ int index74_31 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_31);
+ if ( s>=0 ) return s;
+ break;
+ case 31 :
+ int LA74_32 = input.LA(1);
+
+
+ int index74_32 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_32);
+ if ( s>=0 ) return s;
+ break;
+ case 32 :
+ int LA74_33 = input.LA(1);
+
+
+ int index74_33 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_33);
+ if ( s>=0 ) return s;
+ break;
+ case 33 :
+ int LA74_34 = input.LA(1);
+
+
+ int index74_34 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_34);
+ if ( s>=0 ) return s;
+ break;
+ case 34 :
+ int LA74_35 = input.LA(1);
+
+
+ int index74_35 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_35);
+ if ( s>=0 ) return s;
+ break;
+ case 35 :
+ int LA74_36 = input.LA(1);
+
+
+ int index74_36 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_36);
+ if ( s>=0 ) return s;
+ break;
+ case 36 :
+ int LA74_37 = input.LA(1);
+
+
+ int index74_37 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_37);
+ if ( s>=0 ) return s;
+ break;
+ case 37 :
+ int LA74_38 = input.LA(1);
+
+
+ int index74_38 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_38);
+ if ( s>=0 ) return s;
+ break;
+ case 38 :
+ int LA74_39 = input.LA(1);
+
+
+ int index74_39 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_39);
+ if ( s>=0 ) return s;
+ break;
+ case 39 :
+ int LA74_40 = input.LA(1);
+
+
+ int index74_40 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_40);
+ if ( s>=0 ) return s;
+ break;
+ case 40 :
+ int LA74_41 = input.LA(1);
+
+
+ int index74_41 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_41);
+ if ( s>=0 ) return s;
+ break;
+ case 41 :
+ int LA74_42 = input.LA(1);
+
+
+ int index74_42 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_42);
+ if ( s>=0 ) return s;
+ break;
+ case 42 :
+ int LA74_43 = input.LA(1);
+
+
+ int index74_43 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_43);
+ if ( s>=0 ) return s;
+ break;
+ case 43 :
+ int LA74_44 = input.LA(1);
+
+
+ int index74_44 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_44);
+ if ( s>=0 ) return s;
+ break;
+ case 44 :
+ int LA74_45 = input.LA(1);
+
+
+ int index74_45 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_45);
+ if ( s>=0 ) return s;
+ break;
+ case 45 :
+ int LA74_47 = input.LA(1);
+
+
+ int index74_47 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_47);
+ if ( s>=0 ) return s;
+ break;
+ case 46 :
+ int LA74_48 = input.LA(1);
+
+
+ int index74_48 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index74_48);
+ if ( s>=0 ) return s;
+ break;
+ }
+ if (state.backtracking>0) {state.failed=true; return -1;}
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 74, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+ static final String DFA95_eotS =
+ "\64\uffff";
+ static final String DFA95_eofS =
+ "\64\uffff";
+ static final String DFA95_minS =
+ "\1\4\25\0\10\uffff\6\0\20\uffff";
+ static final String DFA95_maxS =
+ "\1\136\25\0\10\uffff\6\0\20\uffff";
+ static final String DFA95_acceptS =
+ "\26\uffff\1\5\1\6\14\uffff\1\11\7\uffff\1\12\1\13\1\1\1\2\1\3\1"+
+ "\4\1\7\1\10";
+ static final String DFA95_specialS =
+ "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
+ "\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\10\uffff\1\25\1\26\1"+
+ "\27\1\30\1\31\1\32\20\uffff}>";
+ static final String[] DFA95_transitionS = {
+ "\1\1\1\2\2\27\11\uffff\1\13\2\uffff\1\23\1\55\2\uffff\1\11"+
+ "\3\uffff\1\14\1\22\1\20\1\15\1\24\1\25\1\5\1\10\1\7\1\12\1\6"+
+ "\1\16\3\uffff\1\17\1\21\1\27\1\3\1\4\16\uffff\1\36\1\uffff\10"+
+ "\44\1\37\1\40\1\41\1\42\1\43\4\uffff\4\27\3\uffff\1\54\5\uffff"+
+ "\1\26",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA95_eot = DFA.unpackEncodedString(DFA95_eotS);
+ static final short[] DFA95_eof = DFA.unpackEncodedString(DFA95_eofS);
+ static final char[] DFA95_min = DFA.unpackEncodedStringToUnsignedChars(DFA95_minS);
+ static final char[] DFA95_max = DFA.unpackEncodedStringToUnsignedChars(DFA95_maxS);
+ static final short[] DFA95_accept = DFA.unpackEncodedString(DFA95_acceptS);
+ static final short[] DFA95_special = DFA.unpackEncodedString(DFA95_specialS);
+ static final short[][] DFA95_transition;
+
+ static {
+ int numStates = DFA95_transitionS.length;
+ DFA95_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA95_transition[i] = DFA.unpackEncodedString(DFA95_transitionS[i]);
+ }
+ }
+
+ class DFA95 extends DFA {
+
+ public DFA95(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 95;
+ this.eot = DFA95_eot;
+ this.eof = DFA95_eof;
+ this.min = DFA95_min;
+ this.max = DFA95_max;
+ this.accept = DFA95_accept;
+ this.special = DFA95_special;
+ this.transition = DFA95_transition;
+ }
+ public String getDescription() {
+ return "5010:1: ( ( () ( (lv_pathName_1_0= rulePathNameCS ) ) otherlv_2= '[' ( (lv_firstIndexes_3_0= ruleExpCS ) ) (otherlv_4= ',' ( (lv_firstIndexes_5_0= ruleExpCS ) ) )* otherlv_6= ']' (otherlv_7= '[' ( (lv_secondIndexes_8_0= ruleExpCS ) ) (otherlv_9= ',' ( (lv_secondIndexes_10_0= ruleExpCS ) ) )* otherlv_11= ']' )? ( ( (lv_atPre_12_0= '@' ) ) otherlv_13= 'pre' )? ) | ( () ( (lv_pathName_15_0= rulePathNameCS ) ) otherlv_16= '{' ( (lv_ownedParts_17_0= ruleConstructorPartCS ) ) (otherlv_18= ',' ( (lv_ownedParts_19_0= ruleConstructorPartCS ) ) )* otherlv_20= '}' ) | ( () ( (lv_pathName_22_0= rulePathNameCS ) ) ( ( (lv_atPre_23_0= '@' ) ) otherlv_24= 'pre' )? otherlv_25= '(' ( ( (lv_argument_26_0= ruleNavigatingArgCS ) ) ( (lv_argument_27_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_argument_28_0= ruleNavigatingSemiArgCS ) ) ( (lv_argument_29_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_argument_30_0= ruleNavigatingBarArgCS ) ) ( (lv_argument_31_0= ruleNavigatingCommaArgCS ) )* )? )? otherlv_32= ')' ) | ( () ( (lv_pathName_34_0= rulePathNameCS ) ) ( ( (lv_atPre_35_0= '@' ) ) otherlv_36= 'pre' )? ) | this_SelfExpCS_37= ruleSelfExpCS | this_PrimitiveLiteralExpCS_38= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_39= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_40= ruleCollectionLiteralExpCS | this_TypeLiteralExpCS_41= ruleTypeLiteralExpCS | this_IfExpCS_42= ruleIfExpCS | this_NestedExpCS_43= ruleNestedExpCS )";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ TokenStream input = (TokenStream)_input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA95_1 = input.LA(1);
+
+
+ int index95_1 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_1);
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA95_2 = input.LA(1);
+
+
+ int index95_2 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_2);
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA95_3 = input.LA(1);
+
+
+ int index95_3 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_3);
+ if ( s>=0 ) return s;
+ break;
+ case 3 :
+ int LA95_4 = input.LA(1);
+
+
+ int index95_4 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_4);
+ if ( s>=0 ) return s;
+ break;
+ case 4 :
+ int LA95_5 = input.LA(1);
+
+
+ int index95_5 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_5);
+ if ( s>=0 ) return s;
+ break;
+ case 5 :
+ int LA95_6 = input.LA(1);
+
+
+ int index95_6 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_6);
+ if ( s>=0 ) return s;
+ break;
+ case 6 :
+ int LA95_7 = input.LA(1);
+
+
+ int index95_7 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_7);
+ if ( s>=0 ) return s;
+ break;
+ case 7 :
+ int LA95_8 = input.LA(1);
+
+
+ int index95_8 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_8);
+ if ( s>=0 ) return s;
+ break;
+ case 8 :
+ int LA95_9 = input.LA(1);
+
+
+ int index95_9 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_9);
+ if ( s>=0 ) return s;
+ break;
+ case 9 :
+ int LA95_10 = input.LA(1);
+
+
+ int index95_10 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_10);
+ if ( s>=0 ) return s;
+ break;
+ case 10 :
+ int LA95_11 = input.LA(1);
+
+
+ int index95_11 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_11);
+ if ( s>=0 ) return s;
+ break;
+ case 11 :
+ int LA95_12 = input.LA(1);
+
+
+ int index95_12 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_12);
+ if ( s>=0 ) return s;
+ break;
+ case 12 :
+ int LA95_13 = input.LA(1);
+
+
+ int index95_13 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_13);
+ if ( s>=0 ) return s;
+ break;
+ case 13 :
+ int LA95_14 = input.LA(1);
+
+
+ int index95_14 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_14);
+ if ( s>=0 ) return s;
+ break;
+ case 14 :
+ int LA95_15 = input.LA(1);
+
+
+ int index95_15 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_15);
+ if ( s>=0 ) return s;
+ break;
+ case 15 :
+ int LA95_16 = input.LA(1);
+
+
+ int index95_16 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_16);
+ if ( s>=0 ) return s;
+ break;
+ case 16 :
+ int LA95_17 = input.LA(1);
+
+
+ int index95_17 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_17);
+ if ( s>=0 ) return s;
+ break;
+ case 17 :
+ int LA95_18 = input.LA(1);
+
+
+ int index95_18 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_18);
+ if ( s>=0 ) return s;
+ break;
+ case 18 :
+ int LA95_19 = input.LA(1);
+
+
+ int index95_19 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_19);
+ if ( s>=0 ) return s;
+ break;
+ case 19 :
+ int LA95_20 = input.LA(1);
+
+
+ int index95_20 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_20);
+ if ( s>=0 ) return s;
+ break;
+ case 20 :
+ int LA95_21 = input.LA(1);
+
+
+ int index95_21 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred138_InternalQVTrelation()) ) {s = 46;}
+
+ else if ( (synpred140_InternalQVTrelation()) ) {s = 47;}
+
+ else if ( (synpred148_InternalQVTrelation()) ) {s = 48;}
+
+ else if ( (synpred150_InternalQVTrelation()) ) {s = 49;}
+
+
+ input.seek(index95_21);
+ if ( s>=0 ) return s;
+ break;
+ case 21 :
+ int LA95_30 = input.LA(1);
+
+
+ int index95_30 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred153_InternalQVTrelation()) ) {s = 50;}
+
+ else if ( (synpred155_InternalQVTrelation()) ) {s = 36;}
+
+
+ input.seek(index95_30);
+ if ( s>=0 ) return s;
+ break;
+ case 22 :
+ int LA95_31 = input.LA(1);
+
+
+ int index95_31 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred154_InternalQVTrelation()) ) {s = 51;}
+
+ else if ( (synpred155_InternalQVTrelation()) ) {s = 36;}
+
+
+ input.seek(index95_31);
+ if ( s>=0 ) return s;
+ break;
+ case 23 :
+ int LA95_32 = input.LA(1);
+
+
+ int index95_32 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred154_InternalQVTrelation()) ) {s = 51;}
+
+ else if ( (synpred155_InternalQVTrelation()) ) {s = 36;}
+
+
+ input.seek(index95_32);
+ if ( s>=0 ) return s;
+ break;
+ case 24 :
+ int LA95_33 = input.LA(1);
+
+
+ int index95_33 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred154_InternalQVTrelation()) ) {s = 51;}
+
+ else if ( (synpred155_InternalQVTrelation()) ) {s = 36;}
+
+
+ input.seek(index95_33);
+ if ( s>=0 ) return s;
+ break;
+ case 25 :
+ int LA95_34 = input.LA(1);
+
+
+ int index95_34 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred154_InternalQVTrelation()) ) {s = 51;}
+
+ else if ( (synpred155_InternalQVTrelation()) ) {s = 36;}
+
+
+ input.seek(index95_34);
+ if ( s>=0 ) return s;
+ break;
+ case 26 :
+ int LA95_35 = input.LA(1);
+
+
+ int index95_35 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred154_InternalQVTrelation()) ) {s = 51;}
+
+ else if ( (synpred155_InternalQVTrelation()) ) {s = 36;}
+
+
+ input.seek(index95_35);
+ if ( s>=0 ) return s;
+ break;
+ }
+ if (state.backtracking>0) {state.failed=true; return -1;}
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 95, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+ static final String DFA124_eotS =
+ "\62\uffff";
+ static final String DFA124_eofS =
+ "\62\uffff";
+ static final String DFA124_minS =
+ "\1\4\55\0\1\uffff\2\0\1\uffff";
+ static final String DFA124_maxS =
+ "\1\136\55\0\1\uffff\2\0\1\uffff";
+ static final String DFA124_acceptS =
+ "\56\uffff\1\2\2\uffff\1\1";
+ static final String DFA124_specialS =
+ "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
+ "\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30"+
+ "\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45"+
+ "\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\uffff\1\55\1\56\1\uffff}>";
+ static final String[] DFA124_transitionS = {
+ "\1\1\1\2\1\27\1\30\11\uffff\1\13\2\uffff\1\23\1\55\2\uffff"+
+ "\1\11\3\uffff\1\14\1\22\1\20\1\15\1\24\1\25\1\5\1\10\1\7\1\12"+
+ "\1\6\1\16\3\uffff\1\17\1\21\1\33\1\3\1\4\1\uffff\1\57\1\60\13"+
+ "\uffff\1\36\1\uffff\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53"+
+ "\1\37\1\40\1\41\1\42\1\43\4\uffff\1\31\1\32\1\34\1\35\3\uffff"+
+ "\1\54\3\uffff\1\56\1\uffff\1\26",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "\1\uffff",
+ "",
+ "\1\uffff",
+ "\1\uffff",
+ ""
+ };
+
+ static final short[] DFA124_eot = DFA.unpackEncodedString(DFA124_eotS);
+ static final short[] DFA124_eof = DFA.unpackEncodedString(DFA124_eofS);
+ static final char[] DFA124_min = DFA.unpackEncodedStringToUnsignedChars(DFA124_minS);
+ static final char[] DFA124_max = DFA.unpackEncodedStringToUnsignedChars(DFA124_maxS);
+ static final short[] DFA124_accept = DFA.unpackEncodedString(DFA124_acceptS);
+ static final short[] DFA124_special = DFA.unpackEncodedString(DFA124_specialS);
+ static final short[][] DFA124_transition;
+
+ static {
+ int numStates = DFA124_transitionS.length;
+ DFA124_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA124_transition[i] = DFA.unpackEncodedString(DFA124_transitionS[i]);
+ }
+ }
+
+ class DFA124 extends DFA {
+
+ public DFA124(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 124;
+ this.eot = DFA124_eot;
+ this.eof = DFA124_eof;
+ this.min = DFA124_min;
+ this.max = DFA124_max;
+ this.accept = DFA124_accept;
+ this.special = DFA124_special;
+ this.transition = DFA124_transition;
+ }
+ public String getDescription() {
+ return "()+ loopback of 4555:2: ( ( (lv_ownedExpression_1_0= rulePrefixedExpCS ) ) ( (lv_ownedOperator_2_0= ruleBinaryOperatorCS ) ) )+";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ TokenStream input = (TokenStream)_input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA124_1 = input.LA(1);
+
+
+ int index124_1 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_1);
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA124_2 = input.LA(1);
+
+
+ int index124_2 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_2);
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA124_3 = input.LA(1);
+
+
+ int index124_3 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_3);
+ if ( s>=0 ) return s;
+ break;
+ case 3 :
+ int LA124_4 = input.LA(1);
+
+
+ int index124_4 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_4);
+ if ( s>=0 ) return s;
+ break;
+ case 4 :
+ int LA124_5 = input.LA(1);
+
+
+ int index124_5 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_5);
+ if ( s>=0 ) return s;
+ break;
+ case 5 :
+ int LA124_6 = input.LA(1);
+
+
+ int index124_6 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_6);
+ if ( s>=0 ) return s;
+ break;
+ case 6 :
+ int LA124_7 = input.LA(1);
+
+
+ int index124_7 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_7);
+ if ( s>=0 ) return s;
+ break;
+ case 7 :
+ int LA124_8 = input.LA(1);
+
+
+ int index124_8 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_8);
+ if ( s>=0 ) return s;
+ break;
+ case 8 :
+ int LA124_9 = input.LA(1);
+
+
+ int index124_9 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_9);
+ if ( s>=0 ) return s;
+ break;
+ case 9 :
+ int LA124_10 = input.LA(1);
+
+
+ int index124_10 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_10);
+ if ( s>=0 ) return s;
+ break;
+ case 10 :
+ int LA124_11 = input.LA(1);
+
+
+ int index124_11 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_11);
+ if ( s>=0 ) return s;
+ break;
+ case 11 :
+ int LA124_12 = input.LA(1);
+
+
+ int index124_12 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_12);
+ if ( s>=0 ) return s;
+ break;
+ case 12 :
+ int LA124_13 = input.LA(1);
+
+
+ int index124_13 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_13);
+ if ( s>=0 ) return s;
+ break;
+ case 13 :
+ int LA124_14 = input.LA(1);
+
+
+ int index124_14 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_14);
+ if ( s>=0 ) return s;
+ break;
+ case 14 :
+ int LA124_15 = input.LA(1);
+
+
+ int index124_15 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_15);
+ if ( s>=0 ) return s;
+ break;
+ case 15 :
+ int LA124_16 = input.LA(1);
+
+
+ int index124_16 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_16);
+ if ( s>=0 ) return s;
+ break;
+ case 16 :
+ int LA124_17 = input.LA(1);
+
+
+ int index124_17 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_17);
+ if ( s>=0 ) return s;
+ break;
+ case 17 :
+ int LA124_18 = input.LA(1);
+
+
+ int index124_18 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_18);
+ if ( s>=0 ) return s;
+ break;
+ case 18 :
+ int LA124_19 = input.LA(1);
+
+
+ int index124_19 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_19);
+ if ( s>=0 ) return s;
+ break;
+ case 19 :
+ int LA124_20 = input.LA(1);
+
+
+ int index124_20 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_20);
+ if ( s>=0 ) return s;
+ break;
+ case 20 :
+ int LA124_21 = input.LA(1);
+
+
+ int index124_21 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_21);
+ if ( s>=0 ) return s;
+ break;
+ case 21 :
+ int LA124_22 = input.LA(1);
+
+
+ int index124_22 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_22);
+ if ( s>=0 ) return s;
+ break;
+ case 22 :
+ int LA124_23 = input.LA(1);
+
+
+ int index124_23 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_23);
+ if ( s>=0 ) return s;
+ break;
+ case 23 :
+ int LA124_24 = input.LA(1);
+
+
+ int index124_24 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_24);
+ if ( s>=0 ) return s;
+ break;
+ case 24 :
+ int LA124_25 = input.LA(1);
+
+
+ int index124_25 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_25);
+ if ( s>=0 ) return s;
+ break;
+ case 25 :
+ int LA124_26 = input.LA(1);
+
+
+ int index124_26 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_26);
+ if ( s>=0 ) return s;
+ break;
+ case 26 :
+ int LA124_27 = input.LA(1);
+
+
+ int index124_27 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_27);
+ if ( s>=0 ) return s;
+ break;
+ case 27 :
+ int LA124_28 = input.LA(1);
+
+
+ int index124_28 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_28);
+ if ( s>=0 ) return s;
+ break;
+ case 28 :
+ int LA124_29 = input.LA(1);
+
+
+ int index124_29 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_29);
+ if ( s>=0 ) return s;
+ break;
+ case 29 :
+ int LA124_30 = input.LA(1);
+
+
+ int index124_30 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_30);
+ if ( s>=0 ) return s;
+ break;
+ case 30 :
+ int LA124_31 = input.LA(1);
+
+
+ int index124_31 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_31);
+ if ( s>=0 ) return s;
+ break;
+ case 31 :
+ int LA124_32 = input.LA(1);
+
+
+ int index124_32 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_32);
+ if ( s>=0 ) return s;
+ break;
+ case 32 :
+ int LA124_33 = input.LA(1);
+
+
+ int index124_33 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_33);
+ if ( s>=0 ) return s;
+ break;
+ case 33 :
+ int LA124_34 = input.LA(1);
+
+
+ int index124_34 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_34);
+ if ( s>=0 ) return s;
+ break;
+ case 34 :
+ int LA124_35 = input.LA(1);
+
+
+ int index124_35 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_35);
+ if ( s>=0 ) return s;
+ break;
+ case 35 :
+ int LA124_36 = input.LA(1);
+
+
+ int index124_36 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_36);
+ if ( s>=0 ) return s;
+ break;
+ case 36 :
+ int LA124_37 = input.LA(1);
+
+
+ int index124_37 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_37);
+ if ( s>=0 ) return s;
+ break;
+ case 37 :
+ int LA124_38 = input.LA(1);
+
+
+ int index124_38 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_38);
+ if ( s>=0 ) return s;
+ break;
+ case 38 :
+ int LA124_39 = input.LA(1);
+
+
+ int index124_39 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_39);
+ if ( s>=0 ) return s;
+ break;
+ case 39 :
+ int LA124_40 = input.LA(1);
+
+
+ int index124_40 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_40);
+ if ( s>=0 ) return s;
+ break;
+ case 40 :
+ int LA124_41 = input.LA(1);
+
+
+ int index124_41 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_41);
+ if ( s>=0 ) return s;
+ break;
+ case 41 :
+ int LA124_42 = input.LA(1);
+
+
+ int index124_42 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_42);
+ if ( s>=0 ) return s;
+ break;
+ case 42 :
+ int LA124_43 = input.LA(1);
+
+
+ int index124_43 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_43);
+ if ( s>=0 ) return s;
+ break;
+ case 43 :
+ int LA124_44 = input.LA(1);
+
+
+ int index124_44 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_44);
+ if ( s>=0 ) return s;
+ break;
+ case 44 :
+ int LA124_45 = input.LA(1);
+
+
+ int index124_45 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_45);
+ if ( s>=0 ) return s;
+ break;
+ case 45 :
+ int LA124_47 = input.LA(1);
+
+
+ int index124_47 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_47);
+ if ( s>=0 ) return s;
+ break;
+ case 46 :
+ int LA124_48 = input.LA(1);
+
+
+ int index124_48 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (synpred125_InternalQVTrelation()) ) {s = 49;}
+
+ else if ( (true) ) {s = 46;}
+
+
+ input.seek(index124_48);
+ if ( s>=0 ) return s;
+ break;
+ }
+ if (state.backtracking>0) {state.failed=true; return -1;}
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 124, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+
+ private static class FollowSets000 {
+ public static final BitSet FOLLOW_ruleTopLevelCS_in_entryRuleTopLevelCS81 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTopLevelCS91 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_ruleTopLevelCS129 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleUnitCS_in_ruleTopLevelCS150 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_18_in_ruleTopLevelCS162 = new BitSet(new long[]{0x0000000000120002L});
+ public static final BitSet FOLLOW_ruleTransformationCS_in_ruleTopLevelCS185 = new BitSet(new long[]{0x0000000000100002L});
+ public static final BitSet FOLLOW_ruleUnitCS_in_entryRuleUnitCS222 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnitCS232 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleUnitCS284 = new BitSet(new long[]{0x0000000000080002L});
+ public static final BitSet FOLLOW_19_in_ruleUnitCS297 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleUnitCS324 = new BitSet(new long[]{0x0000000000080002L});
+ public static final BitSet FOLLOW_ruleTransformationCS_in_entryRuleTransformationCS362 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTransformationCS372 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_ruleTransformationCS409 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTransformationCS430 = new BitSet(new long[]{0x0000000000200000L});
+ public static final BitSet FOLLOW_21_in_ruleTransformationCS442 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleModelDeclCS_in_ruleTransformationCS463 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_22_in_ruleTransformationCS476 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleModelDeclCS_in_ruleTransformationCS497 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_23_in_ruleTransformationCS511 = new BitSet(new long[]{0x0000000003000000L});
+ public static final BitSet FOLLOW_24_in_ruleTransformationCS524 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTransformationCS551 = new BitSet(new long[]{0x0000000002400000L});
+ public static final BitSet FOLLOW_22_in_ruleTransformationCS564 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTransformationCS591 = new BitSet(new long[]{0x0000000002400000L});
+ public static final BitSet FOLLOW_25_in_ruleTransformationCS607 = new BitSet(new long[]{0x0000080074000000L});
+ public static final BitSet FOLLOW_ruleKeyDeclCS_in_ruleTransformationCS628 = new BitSet(new long[]{0x0000080074000000L});
+ public static final BitSet FOLLOW_ruleRelationCS_in_ruleTransformationCS651 = new BitSet(new long[]{0x0000080064000000L});
+ public static final BitSet FOLLOW_ruleQueryCS_in_ruleTransformationCS678 = new BitSet(new long[]{0x0000080064000000L});
+ public static final BitSet FOLLOW_26_in_ruleTransformationCS692 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleModelDeclCS_in_entryRuleModelDeclCS728 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleModelDeclCS738 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleModelDeclCS784 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_ruleModelDeclCS796 = new BitSet(new long[]{0x0000D8FFF3120030L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleModelDeclCS824 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_25_in_ruleModelDeclCS843 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleModelDeclCS870 = new BitSet(new long[]{0x0000000004400000L});
+ public static final BitSet FOLLOW_22_in_ruleModelDeclCS883 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleModelDeclCS910 = new BitSet(new long[]{0x0000000004400000L});
+ public static final BitSet FOLLOW_26_in_ruleModelDeclCS924 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleKeyDeclCS_in_entryRuleKeyDeclCS962 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleKeyDeclCS972 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_28_in_ruleKeyDeclCS1009 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_ruleKeyDeclCS1030 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleKeyDeclCS1042 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleKeyDeclCS1069 = new BitSet(new long[]{0x0000000004400000L});
+ public static final BitSet FOLLOW_22_in_ruleKeyDeclCS1082 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleKeyDeclCS1109 = new BitSet(new long[]{0x0000000004400000L});
+ public static final BitSet FOLLOW_26_in_ruleKeyDeclCS1123 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_18_in_ruleKeyDeclCS1135 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRelationCS_in_entryRuleRelationCS1171 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRelationCS1181 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_29_in_ruleRelationCS1224 = new BitSet(new long[]{0x0000000040000000L});
+ public static final BitSet FOLLOW_30_in_ruleRelationCS1250 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleRelationCS1271 = new BitSet(new long[]{0x0000000082000000L});
+ public static final BitSet FOLLOW_31_in_ruleRelationCS1284 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleRelationCS1311 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleRelationCS1325 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleVarDeclarationCS_in_ruleRelationCS1346 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleDomainCS_in_ruleRelationCS1369 = new BitSet(new long[]{0x0000D8FFF5120030L});
+ public static final BitSet FOLLOW_rulePrimitiveTypeDomainCS_in_ruleRelationCS1396 = new BitSet(new long[]{0x0000D8FFF5120030L});
+ public static final BitSet FOLLOW_ruleWhenCS_in_ruleRelationCS1419 = new BitSet(new long[]{0x0000000204000000L});
+ public static final BitSet FOLLOW_ruleWhereCS_in_ruleRelationCS1441 = new BitSet(new long[]{0x0000000004000000L});
+ public static final BitSet FOLLOW_26_in_ruleRelationCS1454 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleWhenCS_in_entryRuleWhenCS1490 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleWhenCS1500 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_32_in_ruleWhenCS1549 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleWhenCS1561 = new BitSet(new long[]{0x4006F8FFF53200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleWhenCS1583 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_18_in_ruleWhenCS1595 = new BitSet(new long[]{0x4006F8FFF53200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_26_in_ruleWhenCS1609 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleWhereCS_in_entryRuleWhereCS1645 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleWhereCS1655 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_33_in_ruleWhereCS1704 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleWhereCS1716 = new BitSet(new long[]{0x4006F8FFF53200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleWhereCS1738 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_18_in_ruleWhereCS1750 = new BitSet(new long[]{0x4006F8FFF53200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_26_in_ruleWhereCS1764 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleVarDeclarationCS_in_entryRuleVarDeclarationCS1800 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleVarDeclarationCS1810 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleVarDeclarationCS1862 = new BitSet(new long[]{0x0000000008400000L});
+ public static final BitSet FOLLOW_22_in_ruleVarDeclarationCS1875 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleVarDeclarationCS1902 = new BitSet(new long[]{0x0000000008400000L});
+ public static final BitSet FOLLOW_27_in_ruleVarDeclarationCS1916 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleVarDeclarationCS1937 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_18_in_ruleVarDeclarationCS1949 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDomainCS_in_entryRuleDomainCS1985 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDomainCS1995 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_34_in_ruleDomainCS2039 = new BitSet(new long[]{0x0000001000000000L});
+ public static final BitSet FOLLOW_35_in_ruleDomainCS2076 = new BitSet(new long[]{0x0000001000000000L});
+ public static final BitSet FOLLOW_36_in_ruleDomainCS2103 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleDomainCS2130 = new BitSet(new long[]{0x0000D8FFF9120030L});
+ public static final BitSet FOLLOW_ruleTemplateCS_in_ruleDomainCS2151 = new BitSet(new long[]{0x0000006000040000L});
+ public static final BitSet FOLLOW_37_in_ruleDomainCS2164 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleDomainCS2185 = new BitSet(new long[]{0x0000004000040000L});
+ public static final BitSet FOLLOW_38_in_ruleDomainCS2200 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleDomainCS2212 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleDefaultValueCS_in_ruleDomainCS2233 = new BitSet(new long[]{0x0000D8FFF5120030L});
+ public static final BitSet FOLLOW_26_in_ruleDomainCS2246 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_18_in_ruleDomainCS2260 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveTypeDomainCS_in_entryRulePrimitiveTypeDomainCS2296 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveTypeDomainCS2306 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_39_in_rulePrimitiveTypeDomainCS2343 = new BitSet(new long[]{0x0000001000000000L});
+ public static final BitSet FOLLOW_36_in_rulePrimitiveTypeDomainCS2355 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rulePrimitiveTypeDomainCS2376 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_rulePrimitiveTypeDomainCS2388 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleTypedRefCS_in_rulePrimitiveTypeDomainCS2409 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_18_in_rulePrimitiveTypeDomainCS2421 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTemplateCS_in_entryRuleTemplateCS2457 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTemplateCS2467 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleObjectTemplateCS_in_ruleTemplateCS2518 = new BitSet(new long[]{0x0000000002000002L});
+ public static final BitSet FOLLOW_ruleCollectionTemplateCS_in_ruleTemplateCS2548 = new BitSet(new long[]{0x0000000002000002L});
+ public static final BitSet FOLLOW_25_in_ruleTemplateCS2561 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleTemplateCS2582 = new BitSet(new long[]{0x0000000004000000L});
+ public static final BitSet FOLLOW_26_in_ruleTemplateCS2594 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleObjectTemplateCS_in_entryRuleObjectTemplateCS2632 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleObjectTemplateCS2642 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleObjectTemplateCS2694 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_ruleObjectTemplateCS2707 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleObjectTemplateCS2728 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleObjectTemplateCS2740 = new BitSet(new long[]{0x0000D8FFF5120030L});
+ public static final BitSet FOLLOW_rulePropertyTemplateCS_in_ruleObjectTemplateCS2762 = new BitSet(new long[]{0x0000000004400000L});
+ public static final BitSet FOLLOW_22_in_ruleObjectTemplateCS2775 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_rulePropertyTemplateCS_in_ruleObjectTemplateCS2796 = new BitSet(new long[]{0x0000000004400000L});
+ public static final BitSet FOLLOW_26_in_ruleObjectTemplateCS2812 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePropertyTemplateCS_in_entryRulePropertyTemplateCS2848 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePropertyTemplateCS2858 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_rulePropertyTemplateCS2910 = new BitSet(new long[]{0x0000010000000000L});
+ public static final BitSet FOLLOW_40_in_rulePropertyTemplateCS2922 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_rulePropertyTemplateCS2943 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTemplateCS_in_entryRuleCollectionTemplateCS2979 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCollectionTemplateCS2989 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleCollectionTemplateCS3041 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_ruleCollectionTemplateCS3054 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleCollectionTypedRefCS_in_ruleCollectionTemplateCS3075 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleCollectionTemplateCS3087 = new BitSet(new long[]{0x0000DCFFFD120030L});
+ public static final BitSet FOLLOW_ruleNameExpCS_in_ruleCollectionTemplateCS3111 = new BitSet(new long[]{0x0000020000400000L});
+ public static final BitSet FOLLOW_ruleTemplateCS_in_ruleCollectionTemplateCS3130 = new BitSet(new long[]{0x0000020000400000L});
+ public static final BitSet FOLLOW_ruleAnyElementCS_in_ruleCollectionTemplateCS3149 = new BitSet(new long[]{0x0000020000400000L});
+ public static final BitSet FOLLOW_22_in_ruleCollectionTemplateCS3165 = new BitSet(new long[]{0x0000DCFFF9120030L});
+ public static final BitSet FOLLOW_ruleNameExpCS_in_ruleCollectionTemplateCS3188 = new BitSet(new long[]{0x0000020000400000L});
+ public static final BitSet FOLLOW_ruleTemplateCS_in_ruleCollectionTemplateCS3207 = new BitSet(new long[]{0x0000020000400000L});
+ public static final BitSet FOLLOW_ruleAnyElementCS_in_ruleCollectionTemplateCS3226 = new BitSet(new long[]{0x0000020000400000L});
+ public static final BitSet FOLLOW_41_in_ruleCollectionTemplateCS3243 = new BitSet(new long[]{0x0000DCFFFD120030L});
+ public static final BitSet FOLLOW_ruleNameExpCS_in_ruleCollectionTemplateCS3266 = new BitSet(new long[]{0x0000000004000000L});
+ public static final BitSet FOLLOW_ruleAnyElementCS_in_ruleCollectionTemplateCS3285 = new BitSet(new long[]{0x0000000004000000L});
+ public static final BitSet FOLLOW_26_in_ruleCollectionTemplateCS3303 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNameExpCS_in_entryRuleNameExpCS3339 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNameExpCS3349 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_ruleNameExpCS3394 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAnyElementCS_in_entryRuleAnyElementCS3429 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAnyElementCS3439 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_42_in_ruleAnyElementCS3488 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDefaultValueCS_in_entryRuleDefaultValueCS3524 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDefaultValueCS3534 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleDefaultValueCS3586 = new BitSet(new long[]{0x0000010000000000L});
+ public static final BitSet FOLLOW_40_in_ruleDefaultValueCS3598 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleDefaultValueCS3619 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_18_in_ruleDefaultValueCS3631 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQueryCS_in_entryRuleQueryCS3667 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleQueryCS3677 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_43_in_ruleQueryCS3714 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_ruleQueryCS3735 = new BitSet(new long[]{0x0000000000200000L});
+ public static final BitSet FOLLOW_21_in_ruleQueryCS3747 = new BitSet(new long[]{0x0000D8FFF1920030L});
+ public static final BitSet FOLLOW_ruleParamDeclarationCS_in_ruleQueryCS3769 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_22_in_ruleQueryCS3782 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleParamDeclarationCS_in_ruleQueryCS3803 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_23_in_ruleQueryCS3819 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_ruleQueryCS3831 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleQueryCS3852 = new BitSet(new long[]{0x0000000002040000L});
+ public static final BitSet FOLLOW_18_in_ruleQueryCS3865 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_25_in_ruleQueryCS3884 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleQueryCS3905 = new BitSet(new long[]{0x0000000004000000L});
+ public static final BitSet FOLLOW_26_in_ruleQueryCS3917 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleParamDeclarationCS_in_entryRuleParamDeclarationCS3955 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleParamDeclarationCS3965 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleParamDeclarationCS4011 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_ruleParamDeclarationCS4023 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleParamDeclarationCS4044 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypedRefCS_in_entryRuleCollectionTypedRefCS4080 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCollectionTypedRefCS4090 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_ruleCollectionTypedRefCS4135 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypedRefCS_in_entryRuleTypedRefCS4170 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTypedRefCS4180 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_ruleTypedRefCS4225 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_entryRuleUnrestrictedName4261 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnrestrictedName4272 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLUnrestrictedName_in_ruleUnrestrictedName4319 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_34_in_ruleUnrestrictedName4343 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_38_in_ruleUnrestrictedName4362 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_36_in_ruleUnrestrictedName4381 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_35_in_ruleUnrestrictedName4400 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_ruleUnrestrictedName4419 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_37_in_ruleUnrestrictedName4438 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_ruleUnrestrictedName4457 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_28_in_ruleUnrestrictedName4476 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_31_in_ruleUnrestrictedName4495 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_39_in_ruleUnrestrictedName4514 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_43_in_ruleUnrestrictedName4533 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_30_in_ruleUnrestrictedName4552 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_44_in_ruleUnrestrictedName4571 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_29_in_ruleUnrestrictedName4590 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_ruleUnrestrictedName4609 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_32_in_ruleUnrestrictedName4628 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_33_in_ruleUnrestrictedName4647 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleID_in_entryRuleID4690 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleID4701 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_SIMPLE_ID_in_ruleID4741 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ESCAPED_ID_in_ruleID4767 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLOWER_in_entryRuleLOWER4813 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLOWER4824 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleLOWER4863 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUPPER_in_entryRuleUPPER4908 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUPPER4919 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleUPPER4959 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_45_in_ruleUPPER4983 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNUMBER_LITERAL_in_entryRuleNUMBER_LITERAL5024 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNUMBER_LITERAL5035 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleNUMBER_LITERAL5075 = new BitSet(new long[]{0x0000C00000080002L});
+ public static final BitSet FOLLOW_19_in_ruleNUMBER_LITERAL5094 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleNUMBER_LITERAL5109 = new BitSet(new long[]{0x0000C00000000002L});
+ public static final BitSet FOLLOW_46_in_ruleNUMBER_LITERAL5131 = new BitSet(new long[]{0x0003000000000040L});
+ public static final BitSet FOLLOW_47_in_ruleNUMBER_LITERAL5150 = new BitSet(new long[]{0x0003000000000040L});
+ public static final BitSet FOLLOW_48_in_ruleNUMBER_LITERAL5165 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_49_in_ruleNUMBER_LITERAL5184 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleNUMBER_LITERAL5201 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLUnrestrictedIdentifier_in_entryRuleEssentialOCLUnrestrictedIdentifier5253 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnrestrictedIdentifier5264 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_ruleEssentialOCLUnrestrictedIdentifier5302 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_47_in_ruleEssentialOCLUnrestrictedIdentifier5321 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLPrefixOperator_in_entryRuleEssentialOCLPrefixOperator5362 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLPrefixOperator5373 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_49_in_ruleEssentialOCLPrefixOperator5411 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_50_in_ruleEssentialOCLPrefixOperator5430 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLInfixOperator_in_entryRuleEssentialOCLInfixOperator5471 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLInfixOperator5482 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_45_in_ruleEssentialOCLInfixOperator5520 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_51_in_ruleEssentialOCLInfixOperator5539 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_48_in_ruleEssentialOCLInfixOperator5558 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_49_in_ruleEssentialOCLInfixOperator5577 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_52_in_ruleEssentialOCLInfixOperator5596 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_53_in_ruleEssentialOCLInfixOperator5615 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_54_in_ruleEssentialOCLInfixOperator5634 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_55_in_ruleEssentialOCLInfixOperator5653 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_40_in_ruleEssentialOCLInfixOperator5672 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_56_in_ruleEssentialOCLInfixOperator5691 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_57_in_ruleEssentialOCLInfixOperator5710 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_58_in_ruleEssentialOCLInfixOperator5729 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_59_in_ruleEssentialOCLInfixOperator5748 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_60_in_ruleEssentialOCLInfixOperator5767 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLNavigationOperator_in_entryRuleEssentialOCLNavigationOperator5808 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLNavigationOperator5819 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_ruleEssentialOCLNavigationOperator5857 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_61_in_ruleEssentialOCLNavigationOperator5876 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIdentifier_in_entryRuleIdentifier5917 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleIdentifier5928 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleID_in_ruleIdentifier5975 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLUnrestrictedIdentifier_in_ruleIdentifier6008 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral6054 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral6065 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStringLiteral6104 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrefixOperator_in_entryRulePrefixOperator6149 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrefixOperator6160 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLPrefixOperator_in_rulePrefixOperator6206 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInfixOperator_in_entryRuleInfixOperator6251 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInfixOperator6262 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLInfixOperator_in_ruleInfixOperator6308 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigationOperator_in_entryRuleNavigationOperator6353 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNavigationOperator6364 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLNavigationOperator_in_ruleNavigationOperator6410 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLUnrestrictedName_in_entryRuleEssentialOCLUnrestrictedName6455 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnrestrictedName6466 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIdentifier_in_ruleEssentialOCLUnrestrictedName6512 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLUnreservedName_in_entryRuleEssentialOCLUnreservedName6557 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnreservedName6568 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleEssentialOCLUnreservedName6615 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_ruleEssentialOCLUnreservedName6648 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_ruleEssentialOCLUnreservedName6681 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_62_in_ruleEssentialOCLUnreservedName6705 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnreservedName_in_entryRuleUnreservedName6746 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnreservedName6757 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEssentialOCLUnreservedName_in_ruleUnreservedName6803 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_entryRulePathNameCS6847 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePathNameCS6857 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleFirstPathElementCS_in_rulePathNameCS6903 = new BitSet(new long[]{0x8000000000000002L});
+ public static final BitSet FOLLOW_63_in_rulePathNameCS6916 = new BitSet(new long[]{0x4000D8FFF1120030L,0x0000000000001FFFL});
+ public static final BitSet FOLLOW_ruleNextPathElementCS_in_rulePathNameCS6937 = new BitSet(new long[]{0x8000000000000002L});
+ public static final BitSet FOLLOW_ruleFirstPathElementCS_in_entryRuleFirstPathElementCS6975 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleFirstPathElementCS6985 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleFirstPathElementCS7036 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNextPathElementCS_in_entryRuleNextPathElementCS7071 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNextPathElementCS7081 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnreservedName_in_ruleNextPathElementCS7132 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_entryRulePrimitiveTypeIdentifier7168 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveTypeIdentifier7179 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_64_in_rulePrimitiveTypeIdentifier7217 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_65_in_rulePrimitiveTypeIdentifier7236 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_66_in_rulePrimitiveTypeIdentifier7255 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_67_in_rulePrimitiveTypeIdentifier7274 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_68_in_rulePrimitiveTypeIdentifier7293 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_69_in_rulePrimitiveTypeIdentifier7312 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_70_in_rulePrimitiveTypeIdentifier7331 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_rulePrimitiveTypeIdentifier7350 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveTypeCS_in_entryRulePrimitiveTypeCS7390 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveTypeCS7400 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_rulePrimitiveTypeCS7445 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_entryRuleCollectionTypeIdentifier7481 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCollectionTypeIdentifier7492 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_ruleCollectionTypeIdentifier7530 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_73_in_ruleCollectionTypeIdentifier7549 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_ruleCollectionTypeIdentifier7568 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_75_in_ruleCollectionTypeIdentifier7587 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_76_in_ruleCollectionTypeIdentifier7606 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypeCS_in_entryRuleCollectionTypeCS7646 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCollectionTypeCS7656 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_ruleCollectionTypeCS7702 = new BitSet(new long[]{0x0000000000200002L});
+ public static final BitSet FOLLOW_21_in_ruleCollectionTypeCS7715 = new BitSet(new long[]{0x4000D8FFF1120030L,0x0000000000001FFFL});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleCollectionTypeCS7736 = new BitSet(new long[]{0x0000000000800000L});
+ public static final BitSet FOLLOW_23_in_ruleCollectionTypeCS7748 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMultiplicityBoundsCS_in_entryRuleMultiplicityBoundsCS7786 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityBoundsCS7796 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLOWER_in_ruleMultiplicityBoundsCS7842 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002000L});
+ public static final BitSet FOLLOW_77_in_ruleMultiplicityBoundsCS7855 = new BitSet(new long[]{0x0000200000000040L});
+ public static final BitSet FOLLOW_ruleUPPER_in_ruleMultiplicityBoundsCS7876 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMultiplicityCS_in_entryRuleMultiplicityCS7914 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityCS7924 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_78_in_ruleMultiplicityCS7961 = new BitSet(new long[]{0x0001200000000040L,0x0000000000010000L});
+ public static final BitSet FOLLOW_ruleMultiplicityBoundsCS_in_ruleMultiplicityCS7987 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
+ public static final BitSet FOLLOW_ruleMultiplicityStringCS_in_ruleMultiplicityCS8017 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
+ public static final BitSet FOLLOW_79_in_ruleMultiplicityCS8029 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMultiplicityStringCS_in_entryRuleMultiplicityStringCS8065 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityStringCS8075 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_45_in_ruleMultiplicityStringCS8119 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_48_in_ruleMultiplicityStringCS8148 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_80_in_ruleMultiplicityStringCS8177 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleTypeCS_in_entryRuleTupleTypeCS8228 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTupleTypeCS8238 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_62_in_ruleTupleTypeCS8281 = new BitSet(new long[]{0x0000000000200002L});
+ public static final BitSet FOLLOW_21_in_ruleTupleTypeCS8307 = new BitSet(new long[]{0x0000D8FFF1920030L});
+ public static final BitSet FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS8329 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_22_in_ruleTupleTypeCS8342 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS8363 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_23_in_ruleTupleTypeCS8379 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTuplePartCS_in_entryRuleTuplePartCS8417 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTuplePartCS8427 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTuplePartCS8473 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_ruleTuplePartCS8485 = new BitSet(new long[]{0x4000D8FFF1120030L,0x0000000000001FFFL});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleTuplePartCS8506 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_entryRuleCollectionLiteralExpCS8542 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCollectionLiteralExpCS8552 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypeCS_in_ruleCollectionLiteralExpCS8598 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleCollectionLiteralExpCS8610 = new BitSet(new long[]{0x4006F8FFF53200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS8632 = new BitSet(new long[]{0x0000000004400000L});
+ public static final BitSet FOLLOW_22_in_ruleCollectionLiteralExpCS8645 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS8666 = new BitSet(new long[]{0x0000000004400000L});
+ public static final BitSet FOLLOW_26_in_ruleCollectionLiteralExpCS8682 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_entryRuleCollectionLiteralPartCS8718 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCollectionLiteralPartCS8728 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS8774 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002000L});
+ public static final BitSet FOLLOW_77_in_ruleCollectionLiteralPartCS8787 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS8808 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleConstructorPartCS_in_entryRuleConstructorPartCS8846 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleConstructorPartCS8856 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleConstructorPartCS8908 = new BitSet(new long[]{0x0000010000000000L});
+ public static final BitSet FOLLOW_40_in_ruleConstructorPartCS8920 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleConstructorPartCS8941 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveLiteralExpCS_in_entryRulePrimitiveLiteralExpCS8977 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveLiteralExpCS8987 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNumberLiteralExpCS_in_rulePrimitiveLiteralExpCS9037 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStringLiteralExpCS_in_rulePrimitiveLiteralExpCS9067 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBooleanLiteralExpCS_in_rulePrimitiveLiteralExpCS9097 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_rulePrimitiveLiteralExpCS9127 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInvalidLiteralExpCS_in_rulePrimitiveLiteralExpCS9157 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNullLiteralExpCS_in_rulePrimitiveLiteralExpCS9187 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_entryRuleTupleLiteralExpCS9222 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTupleLiteralExpCS9232 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_62_in_ruleTupleLiteralExpCS9269 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleTupleLiteralExpCS9281 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS9302 = new BitSet(new long[]{0x0000000004400000L});
+ public static final BitSet FOLLOW_22_in_ruleTupleLiteralExpCS9315 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS9336 = new BitSet(new long[]{0x0000000004400000L});
+ public static final BitSet FOLLOW_26_in_ruleTupleLiteralExpCS9350 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_entryRuleTupleLiteralPartCS9386 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTupleLiteralPartCS9396 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTupleLiteralPartCS9442 = new BitSet(new long[]{0x0000010008000000L});
+ public static final BitSet FOLLOW_27_in_ruleTupleLiteralPartCS9455 = new BitSet(new long[]{0x4000D8FFF1120030L,0x0000000000001FFFL});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleTupleLiteralPartCS9476 = new BitSet(new long[]{0x0000010000000000L});
+ public static final BitSet FOLLOW_40_in_ruleTupleLiteralPartCS9490 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleTupleLiteralPartCS9511 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNumberLiteralExpCS_in_entryRuleNumberLiteralExpCS9547 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteralExpCS9557 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNUMBER_LITERAL_in_ruleNumberLiteralExpCS9602 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStringLiteralExpCS_in_entryRuleStringLiteralExpCS9637 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteralExpCS9647 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStringLiteral_in_ruleStringLiteralExpCS9692 = new BitSet(new long[]{0x0000000000000082L});
+ public static final BitSet FOLLOW_ruleBooleanLiteralExpCS_in_entryRuleBooleanLiteralExpCS9728 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteralExpCS9738 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_81_in_ruleBooleanLiteralExpCS9781 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_82_in_ruleBooleanLiteralExpCS9818 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_entryRuleUnlimitedNaturalLiteralExpCS9867 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnlimitedNaturalLiteralExpCS9877 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_45_in_ruleUnlimitedNaturalLiteralExpCS9926 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInvalidLiteralExpCS_in_entryRuleInvalidLiteralExpCS9962 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInvalidLiteralExpCS9972 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_83_in_ruleInvalidLiteralExpCS10021 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNullLiteralExpCS_in_entryRuleNullLiteralExpCS10057 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNullLiteralExpCS10067 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_84_in_ruleNullLiteralExpCS10116 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeLiteralCS_in_entryRuleTypeLiteralCS10152 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTypeLiteralCS10162 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveTypeCS_in_ruleTypeLiteralCS10212 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionTypeCS_in_ruleTypeLiteralCS10242 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleTypeCS_in_ruleTypeLiteralCS10272 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_entryRuleTypeLiteralExpCS10307 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTypeLiteralExpCS10317 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeLiteralCS_in_ruleTypeLiteralExpCS10362 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeNameExpCS_in_entryRuleTypeNameExpCS10397 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTypeNameExpCS10407 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_ruleTypeNameExpCS10452 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_entryRuleTypeExpCS10487 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTypeExpCS10497 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeNameExpCS_in_ruleTypeExpCS10548 = new BitSet(new long[]{0x0000000000000002L,0x0000000000004000L});
+ public static final BitSet FOLLOW_ruleTypeLiteralCS_in_ruleTypeExpCS10578 = new BitSet(new long[]{0x0000000000000002L,0x0000000000004000L});
+ public static final BitSet FOLLOW_ruleMultiplicityCS_in_ruleTypeExpCS10599 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_entryRuleExpCS10636 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleExpCS10646 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrefixedExpCS_in_ruleExpCS10706 = new BitSet(new long[]{0x3FFB210000080000L});
+ public static final BitSet FOLLOW_ruleBinaryOperatorCS_in_ruleExpCS10727 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_rulePrefixedExpOrLetExpCS_in_ruleExpCS10750 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperatorCS_in_ruleExpCS10791 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_rulePrimaryExpOrLetExpCS_in_ruleExpCS10813 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpOrLetExpCS_in_ruleExpCS10845 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBinaryOperatorCS_in_entryRuleBinaryOperatorCS10880 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleBinaryOperatorCS10890 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInfixOperatorCS_in_ruleBinaryOperatorCS10940 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigationOperatorCS_in_ruleBinaryOperatorCS10970 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInfixOperatorCS_in_entryRuleInfixOperatorCS11005 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInfixOperatorCS11015 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInfixOperator_in_ruleInfixOperatorCS11060 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigationOperatorCS_in_entryRuleNavigationOperatorCS11095 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNavigationOperatorCS11105 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigationOperator_in_ruleNavigationOperatorCS11150 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrefixedExpCS_in_entryRulePrefixedExpCS11185 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrefixedExpCS11195 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpCS_in_rulePrefixedExpCS11245 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperatorCS_in_rulePrefixedExpCS11284 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000411E1FFFL});
+ public static final BitSet FOLLOW_rulePrimaryExpCS_in_rulePrefixedExpCS11306 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrefixedExpOrLetExpCS_in_entryRulePrefixedExpOrLetExpCS11343 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrefixedExpOrLetExpCS11353 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpOrLetExpCS_in_rulePrefixedExpOrLetExpCS11403 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperatorCS_in_rulePrefixedExpOrLetExpCS11442 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_rulePrimaryExpOrLetExpCS_in_rulePrefixedExpOrLetExpCS11464 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperatorCS_in_entryRuleUnaryOperatorCS11501 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnaryOperatorCS11511 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrefixOperator_in_ruleUnaryOperatorCS11556 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpCS_in_entryRulePrimaryExpCS11591 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimaryExpCS11601 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_rulePrimaryExpCS11660 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
+ public static final BitSet FOLLOW_78_in_rulePrimaryExpCS11672 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_rulePrimaryExpCS11693 = new BitSet(new long[]{0x0000000000400000L,0x0000000000008000L});
+ public static final BitSet FOLLOW_22_in_rulePrimaryExpCS11706 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_rulePrimaryExpCS11727 = new BitSet(new long[]{0x0000000000400000L,0x0000000000008000L});
+ public static final BitSet FOLLOW_79_in_rulePrimaryExpCS11741 = new BitSet(new long[]{0x0000000000000002L,0x0000000000204000L});
+ public static final BitSet FOLLOW_78_in_rulePrimaryExpCS11754 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_rulePrimaryExpCS11775 = new BitSet(new long[]{0x0000000000400000L,0x0000000000008000L});
+ public static final BitSet FOLLOW_22_in_rulePrimaryExpCS11788 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_rulePrimaryExpCS11809 = new BitSet(new long[]{0x0000000000400000L,0x0000000000008000L});
+ public static final BitSet FOLLOW_79_in_rulePrimaryExpCS11823 = new BitSet(new long[]{0x0000000000000002L,0x0000000000200000L});
+ public static final BitSet FOLLOW_85_in_rulePrimaryExpCS11844 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+ public static final BitSet FOLLOW_86_in_rulePrimaryExpCS11869 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_rulePrimaryExpCS11912 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_rulePrimaryExpCS11924 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleConstructorPartCS_in_rulePrimaryExpCS11945 = new BitSet(new long[]{0x0000000004400000L});
+ public static final BitSet FOLLOW_22_in_rulePrimaryExpCS11958 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleConstructorPartCS_in_rulePrimaryExpCS11979 = new BitSet(new long[]{0x0000000004400000L});
+ public static final BitSet FOLLOW_26_in_rulePrimaryExpCS11993 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_rulePrimaryExpCS12034 = new BitSet(new long[]{0x0000000000200000L,0x0000000000200000L});
+ public static final BitSet FOLLOW_85_in_rulePrimaryExpCS12053 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+ public static final BitSet FOLLOW_86_in_rulePrimaryExpCS12078 = new BitSet(new long[]{0x0000000000200000L});
+ public static final BitSet FOLLOW_21_in_rulePrimaryExpCS12092 = new BitSet(new long[]{0x4006F8FFF1B200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleNavigatingArgCS_in_rulePrimaryExpCS12114 = new BitSet(new long[]{0x0000000000C40000L,0x0000000000800000L});
+ public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_rulePrimaryExpCS12135 = new BitSet(new long[]{0x0000000000C40000L,0x0000000000800000L});
+ public static final BitSet FOLLOW_ruleNavigatingSemiArgCS_in_rulePrimaryExpCS12158 = new BitSet(new long[]{0x0000000000C00000L,0x0000000000800000L});
+ public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_rulePrimaryExpCS12179 = new BitSet(new long[]{0x0000000000C00000L,0x0000000000800000L});
+ public static final BitSet FOLLOW_ruleNavigatingBarArgCS_in_rulePrimaryExpCS12204 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_rulePrimaryExpCS12225 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_23_in_rulePrimaryExpCS12242 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_rulePrimaryExpCS12283 = new BitSet(new long[]{0x0000000000000002L,0x0000000000200000L});
+ public static final BitSet FOLLOW_85_in_rulePrimaryExpCS12302 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+ public static final BitSet FOLLOW_86_in_rulePrimaryExpCS12327 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSelfExpCS_in_rulePrimaryExpCS12361 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimitiveLiteralExpCS_in_rulePrimaryExpCS12391 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_rulePrimaryExpCS12421 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_rulePrimaryExpCS12451 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_rulePrimaryExpCS12481 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIfExpCS_in_rulePrimaryExpCS12511 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNestedExpCS_in_rulePrimaryExpCS12541 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpOrLetExpCS_in_entryRulePrimaryExpOrLetExpCS12576 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimaryExpOrLetExpCS12586 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpCS_in_rulePrimaryExpOrLetExpCS12636 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLetExpCS_in_rulePrimaryExpOrLetExpCS12666 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingArgCS_in_entryRuleNavigatingArgCS12701 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingArgCS12711 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingArgCS12757 = new BitSet(new long[]{0x0000000008000002L});
+ public static final BitSet FOLLOW_27_in_ruleNavigatingArgCS12770 = new BitSet(new long[]{0x4000D8FFF1120030L,0x0000000000001FFFL});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingArgCS12791 = new BitSet(new long[]{0x0000010000000002L});
+ public static final BitSet FOLLOW_40_in_ruleNavigatingArgCS12804 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingArgCS12825 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingBarArgCS_in_entryRuleNavigatingBarArgCS12865 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingBarArgCS12875 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_87_in_ruleNavigatingBarArgCS12918 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingBarArgCS12952 = new BitSet(new long[]{0x0000000008000002L});
+ public static final BitSet FOLLOW_27_in_ruleNavigatingBarArgCS12965 = new BitSet(new long[]{0x4000D8FFF1120030L,0x0000000000001FFFL});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingBarArgCS12986 = new BitSet(new long[]{0x0000010000000002L});
+ public static final BitSet FOLLOW_40_in_ruleNavigatingBarArgCS12999 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingBarArgCS13020 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_entryRuleNavigatingCommaArgCS13060 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingCommaArgCS13070 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_22_in_ruleNavigatingCommaArgCS13113 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingCommaArgCS13147 = new BitSet(new long[]{0x0000000008000002L});
+ public static final BitSet FOLLOW_27_in_ruleNavigatingCommaArgCS13160 = new BitSet(new long[]{0x4000D8FFF1120030L,0x0000000000001FFFL});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingCommaArgCS13181 = new BitSet(new long[]{0x0000010000000002L});
+ public static final BitSet FOLLOW_40_in_ruleNavigatingCommaArgCS13194 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingCommaArgCS13215 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingSemiArgCS_in_entryRuleNavigatingSemiArgCS13255 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingSemiArgCS13265 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_18_in_ruleNavigatingSemiArgCS13308 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingSemiArgCS13342 = new BitSet(new long[]{0x0000000008000002L});
+ public static final BitSet FOLLOW_27_in_ruleNavigatingSemiArgCS13355 = new BitSet(new long[]{0x4000D8FFF1120030L,0x0000000000001FFFL});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingSemiArgCS13376 = new BitSet(new long[]{0x0000010000000002L});
+ public static final BitSet FOLLOW_40_in_ruleNavigatingSemiArgCS13389 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingSemiArgCS13410 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_entryRuleNavigatingArgExpCS13450 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingArgExpCS13460 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingArgExpCS13509 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIfExpCS_in_entryRuleIfExpCS13543 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleIfExpCS13553 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_88_in_ruleIfExpCS13590 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleIfExpCS13611 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
+ public static final BitSet FOLLOW_89_in_ruleIfExpCS13623 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleIfExpCS13644 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
+ public static final BitSet FOLLOW_90_in_ruleIfExpCS13656 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleIfExpCS13677 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L});
+ public static final BitSet FOLLOW_91_in_ruleIfExpCS13689 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLetExpCS_in_entryRuleLetExpCS13725 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLetExpCS13735 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_92_in_ruleLetExpCS13772 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleLetVariableCS_in_ruleLetExpCS13793 = new BitSet(new long[]{0x0000000000400000L,0x0000000020000000L});
+ public static final BitSet FOLLOW_22_in_ruleLetExpCS13806 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleLetVariableCS_in_ruleLetExpCS13827 = new BitSet(new long[]{0x0000000000400000L,0x0000000020000000L});
+ public static final BitSet FOLLOW_93_in_ruleLetExpCS13841 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleLetExpCS13862 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLetVariableCS_in_entryRuleLetVariableCS13898 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLetVariableCS13908 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleLetVariableCS13954 = new BitSet(new long[]{0x0000010008000000L});
+ public static final BitSet FOLLOW_27_in_ruleLetVariableCS13967 = new BitSet(new long[]{0x4000D8FFF1120030L,0x0000000000001FFFL});
+ public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleLetVariableCS13988 = new BitSet(new long[]{0x0000010000000000L});
+ public static final BitSet FOLLOW_40_in_ruleLetVariableCS14002 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleLetVariableCS14023 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNestedExpCS_in_entryRuleNestedExpCS14059 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNestedExpCS14069 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_21_in_ruleNestedExpCS14106 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_ruleNestedExpCS14127 = new BitSet(new long[]{0x0000000000800000L});
+ public static final BitSet FOLLOW_23_in_ruleNestedExpCS14139 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSelfExpCS_in_entryRuleSelfExpCS14175 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSelfExpCS14185 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_94_in_ruleSelfExpCS14234 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleObjectTemplateCS_in_synpred28_InternalQVTrelation2518 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_synpred64_InternalQVTrelation5094 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_INT_in_synpred64_InternalQVTrelation5109 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrefixedExpCS_in_synpred125_InternalQVTrelation10706 = new BitSet(new long[]{0x3FFB210000080000L});
+ public static final BitSet FOLLOW_ruleBinaryOperatorCS_in_synpred125_InternalQVTrelation10727 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrefixedExpCS_in_synpred126_InternalQVTrelation10706 = new BitSet(new long[]{0x3FFB210000080000L});
+ public static final BitSet FOLLOW_ruleBinaryOperatorCS_in_synpred126_InternalQVTrelation10727 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_rulePrefixedExpOrLetExpCS_in_synpred126_InternalQVTrelation10750 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperatorCS_in_synpred128_InternalQVTrelation10791 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_rulePrimaryExpOrLetExpCS_in_synpred128_InternalQVTrelation10813 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_synpred138_InternalQVTrelation11660 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
+ public static final BitSet FOLLOW_78_in_synpred138_InternalQVTrelation11672 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_synpred138_InternalQVTrelation11693 = new BitSet(new long[]{0x0000000000400000L,0x0000000000008000L});
+ public static final BitSet FOLLOW_22_in_synpred138_InternalQVTrelation11706 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_synpred138_InternalQVTrelation11727 = new BitSet(new long[]{0x0000000000400000L,0x0000000000008000L});
+ public static final BitSet FOLLOW_79_in_synpred138_InternalQVTrelation11741 = new BitSet(new long[]{0x0000000000000002L,0x0000000000204000L});
+ public static final BitSet FOLLOW_78_in_synpred138_InternalQVTrelation11754 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_synpred138_InternalQVTrelation11775 = new BitSet(new long[]{0x0000000000400000L,0x0000000000008000L});
+ public static final BitSet FOLLOW_22_in_synpred138_InternalQVTrelation11788 = new BitSet(new long[]{0x4006F8FFF13200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleExpCS_in_synpred138_InternalQVTrelation11809 = new BitSet(new long[]{0x0000000000400000L,0x0000000000008000L});
+ public static final BitSet FOLLOW_79_in_synpred138_InternalQVTrelation11823 = new BitSet(new long[]{0x0000000000000002L,0x0000000000200000L});
+ public static final BitSet FOLLOW_85_in_synpred138_InternalQVTrelation11844 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+ public static final BitSet FOLLOW_86_in_synpred138_InternalQVTrelation11869 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_synpred140_InternalQVTrelation11912 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_synpred140_InternalQVTrelation11924 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleConstructorPartCS_in_synpred140_InternalQVTrelation11945 = new BitSet(new long[]{0x0000000004400000L});
+ public static final BitSet FOLLOW_22_in_synpred140_InternalQVTrelation11958 = new BitSet(new long[]{0x0000D8FFF1120030L});
+ public static final BitSet FOLLOW_ruleConstructorPartCS_in_synpred140_InternalQVTrelation11979 = new BitSet(new long[]{0x0000000004400000L});
+ public static final BitSet FOLLOW_26_in_synpred140_InternalQVTrelation11993 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_synpred148_InternalQVTrelation12034 = new BitSet(new long[]{0x0000000000200000L,0x0000000000200000L});
+ public static final BitSet FOLLOW_85_in_synpred148_InternalQVTrelation12053 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+ public static final BitSet FOLLOW_86_in_synpred148_InternalQVTrelation12078 = new BitSet(new long[]{0x0000000000200000L});
+ public static final BitSet FOLLOW_21_in_synpred148_InternalQVTrelation12092 = new BitSet(new long[]{0x4006F8FFF1B200F0L,0x00000000511E1FFFL});
+ public static final BitSet FOLLOW_ruleNavigatingArgCS_in_synpred148_InternalQVTrelation12114 = new BitSet(new long[]{0x0000000000C40000L,0x0000000000800000L});
+ public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_synpred148_InternalQVTrelation12135 = new BitSet(new long[]{0x0000000000C40000L,0x0000000000800000L});
+ public static final BitSet FOLLOW_ruleNavigatingSemiArgCS_in_synpred148_InternalQVTrelation12158 = new BitSet(new long[]{0x0000000000C00000L,0x0000000000800000L});
+ public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_synpred148_InternalQVTrelation12179 = new BitSet(new long[]{0x0000000000C00000L,0x0000000000800000L});
+ public static final BitSet FOLLOW_ruleNavigatingBarArgCS_in_synpred148_InternalQVTrelation12204 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_synpred148_InternalQVTrelation12225 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_23_in_synpred148_InternalQVTrelation12242 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePathNameCS_in_synpred150_InternalQVTrelation12283 = new BitSet(new long[]{0x0000000000000002L,0x0000000000200000L});
+ public static final BitSet FOLLOW_85_in_synpred150_InternalQVTrelation12302 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+ public static final BitSet FOLLOW_86_in_synpred150_InternalQVTrelation12327 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_synpred153_InternalQVTrelation12421 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_synpred154_InternalQVTrelation12451 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_synpred155_InternalQVTrelation12481 = new BitSet(new long[]{0x0000000000000002L});
+ }
+
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/services/QVTrelationGrammarAccess.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/services/QVTrelationGrammarAccess.java
new file mode 100644
index 000000000..75bc99230
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/services/QVTrelationGrammarAccess.java
@@ -0,0 +1,2713 @@
+/*
+* generated by Xtext
+*/
+
+package org.eclipse.qvtd.xtext.qvtrelation.services;
+
+import com.google.inject.Singleton;
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.service.GrammarProvider;
+import org.eclipse.xtext.service.AbstractElementFinder.*;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.services.EssentialOCLGrammarAccess;
+
+@Singleton
+public class QVTrelationGrammarAccess extends AbstractGrammarElementFinder {
+
+
+ public class TopLevelCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TopLevelCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
+ private final Keyword cImportKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
+ private final Assignment cImportClauseAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
+ private final RuleCall cImportClauseUnitCSParserRuleCall_0_1_0 = (RuleCall)cImportClauseAssignment_0_1.eContents().get(0);
+ private final Keyword cSemicolonKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2);
+ private final Assignment cTransformationAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cTransformationTransformationCSParserRuleCall_1_0 = (RuleCall)cTransformationAssignment_1.eContents().get(0);
+
+ //TopLevelCS:
+ //
+ // ("import" importClause+=UnitCS ";")* transformation+=TransformationCS*;
+ public ParserRule getRule() { return rule; }
+
+ //("import" importClause+=UnitCS ";")* transformation+=TransformationCS*
+ public Group getGroup() { return cGroup; }
+
+ //("import" importClause+=UnitCS ";")*
+ public Group getGroup_0() { return cGroup_0; }
+
+ //"import"
+ public Keyword getImportKeyword_0_0() { return cImportKeyword_0_0; }
+
+ //importClause+=UnitCS
+ public Assignment getImportClauseAssignment_0_1() { return cImportClauseAssignment_0_1; }
+
+ //UnitCS
+ public RuleCall getImportClauseUnitCSParserRuleCall_0_1_0() { return cImportClauseUnitCSParserRuleCall_0_1_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_0_2() { return cSemicolonKeyword_0_2; }
+
+ //transformation+=TransformationCS*
+ public Assignment getTransformationAssignment_1() { return cTransformationAssignment_1; }
+
+ //TransformationCS
+ public RuleCall getTransformationTransformationCSParserRuleCall_1_0() { return cTransformationTransformationCSParserRuleCall_1_0; }
+ }
+
+ public class UnitCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "UnitCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cIdentifierAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final CrossReference cIdentifierElementCrossReference_0_0 = (CrossReference)cIdentifierAssignment_0.eContents().get(0);
+ private final RuleCall cIdentifierElementUnrestrictedNameParserRuleCall_0_0_1 = (RuleCall)cIdentifierElementCrossReference_0_0.eContents().get(1);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cIdentifierAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final CrossReference cIdentifierElementCrossReference_1_1_0 = (CrossReference)cIdentifierAssignment_1_1.eContents().get(0);
+ private final RuleCall cIdentifierElementUnrestrictedNameParserRuleCall_1_1_0_1 = (RuleCall)cIdentifierElementCrossReference_1_1_0.eContents().get(1);
+
+ //UnitCS:
+ //
+ // identifier+=[pivot::Element|UnrestrictedName] ("." identifier+=[pivot::Element|UnrestrictedName])*;
+ public ParserRule getRule() { return rule; }
+
+ //identifier+=[pivot::Element|UnrestrictedName] ("." identifier+=[pivot::Element|UnrestrictedName])*
+ public Group getGroup() { return cGroup; }
+
+ //identifier+=[pivot::Element|UnrestrictedName]
+ public Assignment getIdentifierAssignment_0() { return cIdentifierAssignment_0; }
+
+ //[pivot::Element|UnrestrictedName]
+ public CrossReference getIdentifierElementCrossReference_0_0() { return cIdentifierElementCrossReference_0_0; }
+
+ //UnrestrictedName
+ public RuleCall getIdentifierElementUnrestrictedNameParserRuleCall_0_0_1() { return cIdentifierElementUnrestrictedNameParserRuleCall_0_0_1; }
+
+ //("." identifier+=[pivot::Element|UnrestrictedName])*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"."
+ public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
+
+ //identifier+=[pivot::Element|UnrestrictedName]
+ public Assignment getIdentifierAssignment_1_1() { return cIdentifierAssignment_1_1; }
+
+ //[pivot::Element|UnrestrictedName]
+ public CrossReference getIdentifierElementCrossReference_1_1_0() { return cIdentifierElementCrossReference_1_1_0; }
+
+ //UnrestrictedName
+ public RuleCall getIdentifierElementUnrestrictedNameParserRuleCall_1_1_0_1() { return cIdentifierElementUnrestrictedNameParserRuleCall_1_1_0_1; }
+ }
+
+ public class TransformationCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TransformationCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cTransformationKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameUnrestrictedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cModelDeclAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cModelDeclModelDeclCSParserRuleCall_3_0 = (RuleCall)cModelDeclAssignment_3.eContents().get(0);
+ private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+ private final Keyword cCommaKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+ private final Assignment cModelDeclAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+ private final RuleCall cModelDeclModelDeclCSParserRuleCall_4_1_0 = (RuleCall)cModelDeclAssignment_4_1.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
+ private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
+ private final Keyword cExtendsKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
+ private final Assignment cExtendsAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
+ private final CrossReference cExtendsTransformationCrossReference_6_1_0 = (CrossReference)cExtendsAssignment_6_1.eContents().get(0);
+ private final RuleCall cExtendsTransformationUnrestrictedNameParserRuleCall_6_1_0_1 = (RuleCall)cExtendsTransformationCrossReference_6_1_0.eContents().get(1);
+ private final Group cGroup_6_2 = (Group)cGroup_6.eContents().get(2);
+ private final Keyword cCommaKeyword_6_2_0 = (Keyword)cGroup_6_2.eContents().get(0);
+ private final Assignment cExtendsAssignment_6_2_1 = (Assignment)cGroup_6_2.eContents().get(1);
+ private final CrossReference cExtendsTransformationCrossReference_6_2_1_0 = (CrossReference)cExtendsAssignment_6_2_1.eContents().get(0);
+ private final RuleCall cExtendsTransformationUnrestrictedNameParserRuleCall_6_2_1_0_1 = (RuleCall)cExtendsTransformationCrossReference_6_2_1_0.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
+ private final Assignment cKeyDeclAssignment_8 = (Assignment)cGroup.eContents().get(8);
+ private final RuleCall cKeyDeclKeyDeclCSParserRuleCall_8_0 = (RuleCall)cKeyDeclAssignment_8.eContents().get(0);
+ private final Alternatives cAlternatives_9 = (Alternatives)cGroup.eContents().get(9);
+ private final Assignment cRelationAssignment_9_0 = (Assignment)cAlternatives_9.eContents().get(0);
+ private final RuleCall cRelationRelationCSParserRuleCall_9_0_0 = (RuleCall)cRelationAssignment_9_0.eContents().get(0);
+ private final Assignment cQueryAssignment_9_1 = (Assignment)cAlternatives_9.eContents().get(1);
+ private final RuleCall cQueryQueryCSParserRuleCall_9_1_0 = (RuleCall)cQueryAssignment_9_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_10 = (Keyword)cGroup.eContents().get(10);
+
+ //TransformationCS:
+ //
+ // "transformation" name=UnrestrictedName "(" modelDecl+=ModelDeclCS ("," modelDecl+=ModelDeclCS)* ")" ("extends"
+ //
+ // extends+=[qvtbase::Transformation|UnrestrictedName] ("," extends+=[qvtbase::Transformation|UnrestrictedName])*)? "{"
+ //
+ // keyDecl+=KeyDeclCS* (relation+=RelationCS | query+=QueryCS)* "}";
+ public ParserRule getRule() { return rule; }
+
+ //"transformation" name=UnrestrictedName "(" modelDecl+=ModelDeclCS ("," modelDecl+=ModelDeclCS)* ")" ("extends"
+ //
+ //extends+=[qvtbase::Transformation|UnrestrictedName] ("," extends+=[qvtbase::Transformation|UnrestrictedName])*)? "{"
+ //
+ //keyDecl+=KeyDeclCS* (relation+=RelationCS | query+=QueryCS)* "}"
+ public Group getGroup() { return cGroup; }
+
+ //"transformation"
+ public Keyword getTransformationKeyword_0() { return cTransformationKeyword_0; }
+
+ //name=UnrestrictedName
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //UnrestrictedName
+ public RuleCall getNameUnrestrictedNameParserRuleCall_1_0() { return cNameUnrestrictedNameParserRuleCall_1_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
+
+ //modelDecl+=ModelDeclCS
+ public Assignment getModelDeclAssignment_3() { return cModelDeclAssignment_3; }
+
+ //ModelDeclCS
+ public RuleCall getModelDeclModelDeclCSParserRuleCall_3_0() { return cModelDeclModelDeclCSParserRuleCall_3_0; }
+
+ //("," modelDecl+=ModelDeclCS)*
+ public Group getGroup_4() { return cGroup_4; }
+
+ //","
+ public Keyword getCommaKeyword_4_0() { return cCommaKeyword_4_0; }
+
+ //modelDecl+=ModelDeclCS
+ public Assignment getModelDeclAssignment_4_1() { return cModelDeclAssignment_4_1; }
+
+ //ModelDeclCS
+ public RuleCall getModelDeclModelDeclCSParserRuleCall_4_1_0() { return cModelDeclModelDeclCSParserRuleCall_4_1_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
+
+ //("extends" extends+=[qvtbase::Transformation|UnrestrictedName] (","
+ //
+ //extends+=[qvtbase::Transformation|UnrestrictedName])*)?
+ public Group getGroup_6() { return cGroup_6; }
+
+ //"extends"
+ public Keyword getExtendsKeyword_6_0() { return cExtendsKeyword_6_0; }
+
+ //extends+=[qvtbase::Transformation|UnrestrictedName]
+ public Assignment getExtendsAssignment_6_1() { return cExtendsAssignment_6_1; }
+
+ //[qvtbase::Transformation|UnrestrictedName]
+ public CrossReference getExtendsTransformationCrossReference_6_1_0() { return cExtendsTransformationCrossReference_6_1_0; }
+
+ //UnrestrictedName
+ public RuleCall getExtendsTransformationUnrestrictedNameParserRuleCall_6_1_0_1() { return cExtendsTransformationUnrestrictedNameParserRuleCall_6_1_0_1; }
+
+ //("," extends+=[qvtbase::Transformation|UnrestrictedName])*
+ public Group getGroup_6_2() { return cGroup_6_2; }
+
+ //","
+ public Keyword getCommaKeyword_6_2_0() { return cCommaKeyword_6_2_0; }
+
+ //extends+=[qvtbase::Transformation|UnrestrictedName]
+ public Assignment getExtendsAssignment_6_2_1() { return cExtendsAssignment_6_2_1; }
+
+ //[qvtbase::Transformation|UnrestrictedName]
+ public CrossReference getExtendsTransformationCrossReference_6_2_1_0() { return cExtendsTransformationCrossReference_6_2_1_0; }
+
+ //UnrestrictedName
+ public RuleCall getExtendsTransformationUnrestrictedNameParserRuleCall_6_2_1_0_1() { return cExtendsTransformationUnrestrictedNameParserRuleCall_6_2_1_0_1; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_7() { return cLeftCurlyBracketKeyword_7; }
+
+ //keyDecl+=KeyDeclCS*
+ public Assignment getKeyDeclAssignment_8() { return cKeyDeclAssignment_8; }
+
+ //KeyDeclCS
+ public RuleCall getKeyDeclKeyDeclCSParserRuleCall_8_0() { return cKeyDeclKeyDeclCSParserRuleCall_8_0; }
+
+ //(relation+=RelationCS | query+=QueryCS)*
+ public Alternatives getAlternatives_9() { return cAlternatives_9; }
+
+ //relation+=RelationCS
+ public Assignment getRelationAssignment_9_0() { return cRelationAssignment_9_0; }
+
+ //RelationCS
+ public RuleCall getRelationRelationCSParserRuleCall_9_0_0() { return cRelationRelationCSParserRuleCall_9_0_0; }
+
+ //query+=QueryCS
+ public Assignment getQueryAssignment_9_1() { return cQueryAssignment_9_1; }
+
+ //QueryCS
+ public RuleCall getQueryQueryCSParserRuleCall_9_1_0() { return cQueryQueryCSParserRuleCall_9_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_10() { return cRightCurlyBracketKeyword_10; }
+ }
+
+ public class ModelDeclCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ModelDeclCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cNameUnrestrictedNameParserRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
+ private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
+ private final Assignment cMetaModelIdAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0);
+ private final CrossReference cMetaModelIdPackageCrossReference_2_0_0 = (CrossReference)cMetaModelIdAssignment_2_0.eContents().get(0);
+ private final RuleCall cMetaModelIdPackageUnrestrictedNameParserRuleCall_2_0_0_1 = (RuleCall)cMetaModelIdPackageCrossReference_2_0_0.eContents().get(1);
+ private final Group cGroup_2_1 = (Group)cAlternatives_2.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0);
+ private final Assignment cMetaModelIdAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1);
+ private final CrossReference cMetaModelIdPackageCrossReference_2_1_1_0 = (CrossReference)cMetaModelIdAssignment_2_1_1.eContents().get(0);
+ private final RuleCall cMetaModelIdPackageUnrestrictedNameParserRuleCall_2_1_1_0_1 = (RuleCall)cMetaModelIdPackageCrossReference_2_1_1_0.eContents().get(1);
+ private final Group cGroup_2_1_2 = (Group)cGroup_2_1.eContents().get(2);
+ private final Keyword cCommaKeyword_2_1_2_0 = (Keyword)cGroup_2_1_2.eContents().get(0);
+ private final Assignment cMetaModelIdAssignment_2_1_2_1 = (Assignment)cGroup_2_1_2.eContents().get(1);
+ private final CrossReference cMetaModelIdPackageCrossReference_2_1_2_1_0 = (CrossReference)cMetaModelIdAssignment_2_1_2_1.eContents().get(0);
+ private final RuleCall cMetaModelIdPackageUnrestrictedNameParserRuleCall_2_1_2_1_0_1 = (RuleCall)cMetaModelIdPackageCrossReference_2_1_2_1_0.eContents().get(1);
+ private final Keyword cRightCurlyBracketKeyword_2_1_3 = (Keyword)cGroup_2_1.eContents().get(3);
+
+ //ModelDeclCS:
+ //
+ // name=UnrestrictedName ":" (metaModelId+=[pivot::Package|UnrestrictedName] | "{"
+ //
+ // metaModelId+=[pivot::Package|UnrestrictedName] ("," metaModelId+=[pivot::Package|UnrestrictedName])* "}");
+ public ParserRule getRule() { return rule; }
+
+ //name=UnrestrictedName ":" (metaModelId+=[pivot::Package|UnrestrictedName] | "{"
+ //
+ //metaModelId+=[pivot::Package|UnrestrictedName] ("," metaModelId+=[pivot::Package|UnrestrictedName])* "}")
+ public Group getGroup() { return cGroup; }
+
+ //name=UnrestrictedName
+ public Assignment getNameAssignment_0() { return cNameAssignment_0; }
+
+ //UnrestrictedName
+ public RuleCall getNameUnrestrictedNameParserRuleCall_0_0() { return cNameUnrestrictedNameParserRuleCall_0_0; }
+
+ //":"
+ public Keyword getColonKeyword_1() { return cColonKeyword_1; }
+
+ //metaModelId+=[pivot::Package|UnrestrictedName] | "{" metaModelId+=[pivot::Package|UnrestrictedName] (","
+ //
+ //metaModelId+=[pivot::Package|UnrestrictedName])* "}"
+ public Alternatives getAlternatives_2() { return cAlternatives_2; }
+
+ //metaModelId+=[pivot::Package|UnrestrictedName]
+ public Assignment getMetaModelIdAssignment_2_0() { return cMetaModelIdAssignment_2_0; }
+
+ //[pivot::Package|UnrestrictedName]
+ public CrossReference getMetaModelIdPackageCrossReference_2_0_0() { return cMetaModelIdPackageCrossReference_2_0_0; }
+
+ //UnrestrictedName
+ public RuleCall getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_0_0_1() { return cMetaModelIdPackageUnrestrictedNameParserRuleCall_2_0_0_1; }
+
+ //"{" metaModelId+=[pivot::Package|UnrestrictedName] ("," metaModelId+=[pivot::Package|UnrestrictedName])* "}"
+ public Group getGroup_2_1() { return cGroup_2_1; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2_1_0() { return cLeftCurlyBracketKeyword_2_1_0; }
+
+ //metaModelId+=[pivot::Package|UnrestrictedName]
+ public Assignment getMetaModelIdAssignment_2_1_1() { return cMetaModelIdAssignment_2_1_1; }
+
+ //[pivot::Package|UnrestrictedName]
+ public CrossReference getMetaModelIdPackageCrossReference_2_1_1_0() { return cMetaModelIdPackageCrossReference_2_1_1_0; }
+
+ //UnrestrictedName
+ public RuleCall getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_1_1_0_1() { return cMetaModelIdPackageUnrestrictedNameParserRuleCall_2_1_1_0_1; }
+
+ //("," metaModelId+=[pivot::Package|UnrestrictedName])*
+ public Group getGroup_2_1_2() { return cGroup_2_1_2; }
+
+ //","
+ public Keyword getCommaKeyword_2_1_2_0() { return cCommaKeyword_2_1_2_0; }
+
+ //metaModelId+=[pivot::Package|UnrestrictedName]
+ public Assignment getMetaModelIdAssignment_2_1_2_1() { return cMetaModelIdAssignment_2_1_2_1; }
+
+ //[pivot::Package|UnrestrictedName]
+ public CrossReference getMetaModelIdPackageCrossReference_2_1_2_1_0() { return cMetaModelIdPackageCrossReference_2_1_2_1_0; }
+
+ //UnrestrictedName
+ public RuleCall getMetaModelIdPackageUnrestrictedNameParserRuleCall_2_1_2_1_0_1() { return cMetaModelIdPackageUnrestrictedNameParserRuleCall_2_1_2_1_0_1; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_2_1_3() { return cRightCurlyBracketKeyword_2_1_3; }
+ }
+
+ public class KeyDeclCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "KeyDeclCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cKeyKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cPathNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cPathNamePathNameCSParserRuleCall_1_0 = (RuleCall)cPathNameAssignment_1.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cPropertyIdAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final CrossReference cPropertyIdPropertyCrossReference_3_0 = (CrossReference)cPropertyIdAssignment_3.eContents().get(0);
+ private final RuleCall cPropertyIdPropertyUnrestrictedNameParserRuleCall_3_0_1 = (RuleCall)cPropertyIdPropertyCrossReference_3_0.eContents().get(1);
+ private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+ private final Keyword cCommaKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+ private final Assignment cPropertyIdAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+ private final CrossReference cPropertyIdPropertyCrossReference_4_1_0 = (CrossReference)cPropertyIdAssignment_4_1.eContents().get(0);
+ private final RuleCall cPropertyIdPropertyUnrestrictedNameParserRuleCall_4_1_0_1 = (RuleCall)cPropertyIdPropertyCrossReference_4_1_0.eContents().get(1);
+ private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+ private final Keyword cSemicolonKeyword_6 = (Keyword)cGroup.eContents().get(6);
+
+ //KeyDeclCS:
+ //
+ // "key" pathName=PathNameCS "{" propertyId+=[pivot::Property|UnrestrictedName] (","
+ //
+ // propertyId+=[pivot::Property|UnrestrictedName])* "}" ";";
+ public ParserRule getRule() { return rule; }
+
+ //"key" pathName=PathNameCS "{" propertyId+=[pivot::Property|UnrestrictedName] (","
+ //
+ //propertyId+=[pivot::Property|UnrestrictedName])* "}" ";"
+ public Group getGroup() { return cGroup; }
+
+ //"key"
+ public Keyword getKeyKeyword_0() { return cKeyKeyword_0; }
+
+ //pathName=PathNameCS
+ public Assignment getPathNameAssignment_1() { return cPathNameAssignment_1; }
+
+ //PathNameCS
+ public RuleCall getPathNamePathNameCSParserRuleCall_1_0() { return cPathNamePathNameCSParserRuleCall_1_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+ //propertyId+=[pivot::Property|UnrestrictedName]
+ public Assignment getPropertyIdAssignment_3() { return cPropertyIdAssignment_3; }
+
+ //[pivot::Property|UnrestrictedName]
+ public CrossReference getPropertyIdPropertyCrossReference_3_0() { return cPropertyIdPropertyCrossReference_3_0; }
+
+ //UnrestrictedName
+ public RuleCall getPropertyIdPropertyUnrestrictedNameParserRuleCall_3_0_1() { return cPropertyIdPropertyUnrestrictedNameParserRuleCall_3_0_1; }
+
+ //("," propertyId+=[pivot::Property|UnrestrictedName])*
+ public Group getGroup_4() { return cGroup_4; }
+
+ //","
+ public Keyword getCommaKeyword_4_0() { return cCommaKeyword_4_0; }
+
+ //propertyId+=[pivot::Property|UnrestrictedName]
+ public Assignment getPropertyIdAssignment_4_1() { return cPropertyIdAssignment_4_1; }
+
+ //[pivot::Property|UnrestrictedName]
+ public CrossReference getPropertyIdPropertyCrossReference_4_1_0() { return cPropertyIdPropertyCrossReference_4_1_0; }
+
+ //UnrestrictedName
+ public RuleCall getPropertyIdPropertyUnrestrictedNameParserRuleCall_4_1_0_1() { return cPropertyIdPropertyUnrestrictedNameParserRuleCall_4_1_0_1; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+
+ //";"
+ public Keyword getSemicolonKeyword_6() { return cSemicolonKeyword_6; }
+ }
+
+ public class RelationCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RelationCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cTopAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final Keyword cTopTopKeyword_0_0 = (Keyword)cTopAssignment_0.eContents().get(0);
+ private final Keyword cRelationKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cNameUnrestrictedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Keyword cOverridesKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+ private final Assignment cOverridesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+ private final CrossReference cOverridesRelationCrossReference_3_1_0 = (CrossReference)cOverridesAssignment_3_1.eContents().get(0);
+ private final RuleCall cOverridesRelationUnrestrictedNameParserRuleCall_3_1_0_1 = (RuleCall)cOverridesRelationCrossReference_3_1_0.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final Assignment cVarDeclarationAssignment_5 = (Assignment)cGroup.eContents().get(5);
+ private final RuleCall cVarDeclarationVarDeclarationCSParserRuleCall_5_0 = (RuleCall)cVarDeclarationAssignment_5.eContents().get(0);
+ private final Alternatives cAlternatives_6 = (Alternatives)cGroup.eContents().get(6);
+ private final Assignment cDomainAssignment_6_0 = (Assignment)cAlternatives_6.eContents().get(0);
+ private final RuleCall cDomainDomainCSParserRuleCall_6_0_0 = (RuleCall)cDomainAssignment_6_0.eContents().get(0);
+ private final Assignment cDomainAssignment_6_1 = (Assignment)cAlternatives_6.eContents().get(1);
+ private final RuleCall cDomainPrimitiveTypeDomainCSParserRuleCall_6_1_0 = (RuleCall)cDomainAssignment_6_1.eContents().get(0);
+ private final Assignment cWhenAssignment_7 = (Assignment)cGroup.eContents().get(7);
+ private final RuleCall cWhenWhenCSParserRuleCall_7_0 = (RuleCall)cWhenAssignment_7.eContents().get(0);
+ private final Assignment cWhereAssignment_8 = (Assignment)cGroup.eContents().get(8);
+ private final RuleCall cWhereWhereCSParserRuleCall_8_0 = (RuleCall)cWhereAssignment_8.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
+
+ //RelationCS:
+ //
+ // top?="top"? "relation" name=UnrestrictedName ("overrides" overrides=[qvtrelation::Relation|UnrestrictedName])? "{"
+ //
+ // varDeclaration+=VarDeclarationCS* (domain+=DomainCS | domain+=PrimitiveTypeDomainCS)+ when=WhenCS? where=WhereCS?
+ //
+ // "}";
+ public ParserRule getRule() { return rule; }
+
+ //top?="top"? "relation" name=UnrestrictedName ("overrides" overrides=[qvtrelation::Relation|UnrestrictedName])? "{"
+ //
+ //varDeclaration+=VarDeclarationCS* (domain+=DomainCS | domain+=PrimitiveTypeDomainCS)+ when=WhenCS? where=WhereCS? "}"
+ public Group getGroup() { return cGroup; }
+
+ //top?="top"?
+ public Assignment getTopAssignment_0() { return cTopAssignment_0; }
+
+ //"top"
+ public Keyword getTopTopKeyword_0_0() { return cTopTopKeyword_0_0; }
+
+ //"relation"
+ public Keyword getRelationKeyword_1() { return cRelationKeyword_1; }
+
+ //name=UnrestrictedName
+ public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+ //UnrestrictedName
+ public RuleCall getNameUnrestrictedNameParserRuleCall_2_0() { return cNameUnrestrictedNameParserRuleCall_2_0; }
+
+ //("overrides" overrides=[qvtrelation::Relation|UnrestrictedName])?
+ public Group getGroup_3() { return cGroup_3; }
+
+ //"overrides"
+ public Keyword getOverridesKeyword_3_0() { return cOverridesKeyword_3_0; }
+
+ //overrides=[qvtrelation::Relation|UnrestrictedName]
+ public Assignment getOverridesAssignment_3_1() { return cOverridesAssignment_3_1; }
+
+ //[qvtrelation::Relation|UnrestrictedName]
+ public CrossReference getOverridesRelationCrossReference_3_1_0() { return cOverridesRelationCrossReference_3_1_0; }
+
+ //UnrestrictedName
+ public RuleCall getOverridesRelationUnrestrictedNameParserRuleCall_3_1_0_1() { return cOverridesRelationUnrestrictedNameParserRuleCall_3_1_0_1; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
+
+ //varDeclaration+=VarDeclarationCS*
+ public Assignment getVarDeclarationAssignment_5() { return cVarDeclarationAssignment_5; }
+
+ //VarDeclarationCS
+ public RuleCall getVarDeclarationVarDeclarationCSParserRuleCall_5_0() { return cVarDeclarationVarDeclarationCSParserRuleCall_5_0; }
+
+ //(domain+=DomainCS | domain+=PrimitiveTypeDomainCS)+
+ public Alternatives getAlternatives_6() { return cAlternatives_6; }
+
+ //domain+=DomainCS
+ public Assignment getDomainAssignment_6_0() { return cDomainAssignment_6_0; }
+
+ //DomainCS
+ public RuleCall getDomainDomainCSParserRuleCall_6_0_0() { return cDomainDomainCSParserRuleCall_6_0_0; }
+
+ //domain+=PrimitiveTypeDomainCS
+ public Assignment getDomainAssignment_6_1() { return cDomainAssignment_6_1; }
+
+ //PrimitiveTypeDomainCS
+ public RuleCall getDomainPrimitiveTypeDomainCSParserRuleCall_6_1_0() { return cDomainPrimitiveTypeDomainCSParserRuleCall_6_1_0; }
+
+ //when=WhenCS?
+ public Assignment getWhenAssignment_7() { return cWhenAssignment_7; }
+
+ //WhenCS
+ public RuleCall getWhenWhenCSParserRuleCall_7_0() { return cWhenWhenCSParserRuleCall_7_0; }
+
+ //where=WhereCS?
+ public Assignment getWhereAssignment_8() { return cWhereAssignment_8; }
+
+ //WhereCS
+ public RuleCall getWhereWhereCSParserRuleCall_8_0() { return cWhereWhereCSParserRuleCall_8_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+ }
+
+ public class WhenCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "WhenCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cWhenCSAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cWhenKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Assignment cExprAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
+ private final RuleCall cExprExpCSParserRuleCall_3_0_0 = (RuleCall)cExprAssignment_3_0.eContents().get(0);
+ private final Keyword cSemicolonKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
+ private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+
+ //WhenCS:
+ //
+ // {WhenCS} "when" "{" (expr+=ExpCS ";")* "}";
+ public ParserRule getRule() { return rule; }
+
+ //{WhenCS} "when" "{" (expr+=ExpCS ";")* "}"
+ public Group getGroup() { return cGroup; }
+
+ //{WhenCS}
+ public Action getWhenCSAction_0() { return cWhenCSAction_0; }
+
+ //"when"
+ public Keyword getWhenKeyword_1() { return cWhenKeyword_1; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+ //(expr+=ExpCS ";")*
+ public Group getGroup_3() { return cGroup_3; }
+
+ //expr+=ExpCS
+ public Assignment getExprAssignment_3_0() { return cExprAssignment_3_0; }
+
+ //ExpCS
+ public RuleCall getExprExpCSParserRuleCall_3_0_0() { return cExprExpCSParserRuleCall_3_0_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_3_1() { return cSemicolonKeyword_3_1; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
+ }
+
+ public class WhereCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "WhereCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cWhereCSAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cWhereKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Assignment cExprAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
+ private final RuleCall cExprExpCSParserRuleCall_3_0_0 = (RuleCall)cExprAssignment_3_0.eContents().get(0);
+ private final Keyword cSemicolonKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
+ private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+
+ //WhereCS:
+ //
+ // {WhereCS} "where" "{" (expr+=ExpCS ";")* "}";
+ public ParserRule getRule() { return rule; }
+
+ //{WhereCS} "where" "{" (expr+=ExpCS ";")* "}"
+ public Group getGroup() { return cGroup; }
+
+ //{WhereCS}
+ public Action getWhereCSAction_0() { return cWhereCSAction_0; }
+
+ //"where"
+ public Keyword getWhereKeyword_1() { return cWhereKeyword_1; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+ //(expr+=ExpCS ";")*
+ public Group getGroup_3() { return cGroup_3; }
+
+ //expr+=ExpCS
+ public Assignment getExprAssignment_3_0() { return cExprAssignment_3_0; }
+
+ //ExpCS
+ public RuleCall getExprExpCSParserRuleCall_3_0_0() { return cExprExpCSParserRuleCall_3_0_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_3_1() { return cSemicolonKeyword_3_1; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
+ }
+
+ public class VarDeclarationCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "VarDeclarationCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cVarDeclarationIdAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final CrossReference cVarDeclarationIdPropertyCrossReference_0_0 = (CrossReference)cVarDeclarationIdAssignment_0.eContents().get(0);
+ private final RuleCall cVarDeclarationIdPropertyUnrestrictedNameParserRuleCall_0_0_1 = (RuleCall)cVarDeclarationIdPropertyCrossReference_0_0.eContents().get(1);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cVarDeclarationIdAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final CrossReference cVarDeclarationIdPropertyCrossReference_1_1_0 = (CrossReference)cVarDeclarationIdAssignment_1_1.eContents().get(0);
+ private final RuleCall cVarDeclarationIdPropertyUnrestrictedNameParserRuleCall_1_1_0_1 = (RuleCall)cVarDeclarationIdPropertyCrossReference_1_1_0.eContents().get(1);
+ private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cTypeTypedRefCSParserRuleCall_3_0 = (RuleCall)cTypeAssignment_3.eContents().get(0);
+ private final Keyword cSemicolonKeyword_4 = (Keyword)cGroup.eContents().get(4);
+
+ //VarDeclarationCS:
+ //
+ // varDeclarationId+=[pivot::Property|UnrestrictedName] ("," varDeclarationId+=[pivot::Property|UnrestrictedName])* ":"
+ //
+ // type=TypedRefCS ";";
+ public ParserRule getRule() { return rule; }
+
+ //varDeclarationId+=[pivot::Property|UnrestrictedName] ("," varDeclarationId+=[pivot::Property|UnrestrictedName])* ":"
+ //
+ //type=TypedRefCS ";"
+ public Group getGroup() { return cGroup; }
+
+ //varDeclarationId+=[pivot::Property|UnrestrictedName]
+ public Assignment getVarDeclarationIdAssignment_0() { return cVarDeclarationIdAssignment_0; }
+
+ //[pivot::Property|UnrestrictedName]
+ public CrossReference getVarDeclarationIdPropertyCrossReference_0_0() { return cVarDeclarationIdPropertyCrossReference_0_0; }
+
+ //UnrestrictedName
+ public RuleCall getVarDeclarationIdPropertyUnrestrictedNameParserRuleCall_0_0_1() { return cVarDeclarationIdPropertyUnrestrictedNameParserRuleCall_0_0_1; }
+
+ //("," varDeclarationId+=[pivot::Property|UnrestrictedName])*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //","
+ public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; }
+
+ //varDeclarationId+=[pivot::Property|UnrestrictedName]
+ public Assignment getVarDeclarationIdAssignment_1_1() { return cVarDeclarationIdAssignment_1_1; }
+
+ //[pivot::Property|UnrestrictedName]
+ public CrossReference getVarDeclarationIdPropertyCrossReference_1_1_0() { return cVarDeclarationIdPropertyCrossReference_1_1_0; }
+
+ //UnrestrictedName
+ public RuleCall getVarDeclarationIdPropertyUnrestrictedNameParserRuleCall_1_1_0_1() { return cVarDeclarationIdPropertyUnrestrictedNameParserRuleCall_1_1_0_1; }
+
+ //":"
+ public Keyword getColonKeyword_2() { return cColonKeyword_2; }
+
+ //type=TypedRefCS
+ public Assignment getTypeAssignment_3() { return cTypeAssignment_3; }
+
+ //TypedRefCS
+ public RuleCall getTypeTypedRefCSParserRuleCall_3_0() { return cTypeTypedRefCSParserRuleCall_3_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_4() { return cSemicolonKeyword_4; }
+ }
+
+ public class DomainCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DomainCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
+ private final Assignment cCheckonlyAssignment_0_0 = (Assignment)cAlternatives_0.eContents().get(0);
+ private final Keyword cCheckonlyCheckonlyKeyword_0_0_0 = (Keyword)cCheckonlyAssignment_0_0.eContents().get(0);
+ private final Assignment cEnforceAssignment_0_1 = (Assignment)cAlternatives_0.eContents().get(1);
+ private final Keyword cEnforceEnforceKeyword_0_1_0 = (Keyword)cEnforceAssignment_0_1.eContents().get(0);
+ private final Keyword cDomainKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cModelIdAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final CrossReference cModelIdTypedModelCrossReference_2_0 = (CrossReference)cModelIdAssignment_2.eContents().get(0);
+ private final RuleCall cModelIdTypedModelUnrestrictedNameParserRuleCall_2_0_1 = (RuleCall)cModelIdTypedModelCrossReference_2_0.eContents().get(1);
+ private final Assignment cTemplateAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cTemplateTemplateCSParserRuleCall_3_0 = (RuleCall)cTemplateAssignment_3.eContents().get(0);
+ private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+ private final Keyword cImplementedbyKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+ private final Assignment cImplementedByAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+ private final RuleCall cImplementedByExpCSParserRuleCall_4_1_0 = (RuleCall)cImplementedByAssignment_4_1.eContents().get(0);
+ private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+ private final Keyword cDefault_valuesKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
+ private final Assignment cDefaultValueAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
+ private final RuleCall cDefaultValueDefaultValueCSParserRuleCall_5_2_0 = (RuleCall)cDefaultValueAssignment_5_2.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_5_3 = (Keyword)cGroup_5.eContents().get(3);
+ private final Keyword cSemicolonKeyword_6 = (Keyword)cGroup.eContents().get(6);
+
+ //DomainCS:
+ //
+ // (checkonly?="checkonly" | enforce?="enforce")? "domain" modelId=[qvtbase::TypedModel|UnrestrictedName]
+ //
+ // template=TemplateCS ("implementedby" implementedBy=ExpCS)? ("default_values" "{" defaultValue+=DefaultValueCS+ "}")?
+ //
+ // ";";
+ public ParserRule getRule() { return rule; }
+
+ //(checkonly?="checkonly" | enforce?="enforce")? "domain" modelId=[qvtbase::TypedModel|UnrestrictedName]
+ //
+ //template=TemplateCS ("implementedby" implementedBy=ExpCS)? ("default_values" "{" defaultValue+=DefaultValueCS+ "}")?
+ //
+ //";"
+ public Group getGroup() { return cGroup; }
+
+ //(checkonly?="checkonly" | enforce?="enforce")?
+ public Alternatives getAlternatives_0() { return cAlternatives_0; }
+
+ //checkonly?="checkonly"
+ public Assignment getCheckonlyAssignment_0_0() { return cCheckonlyAssignment_0_0; }
+
+ //"checkonly"
+ public Keyword getCheckonlyCheckonlyKeyword_0_0_0() { return cCheckonlyCheckonlyKeyword_0_0_0; }
+
+ //enforce?="enforce"
+ public Assignment getEnforceAssignment_0_1() { return cEnforceAssignment_0_1; }
+
+ //"enforce"
+ public Keyword getEnforceEnforceKeyword_0_1_0() { return cEnforceEnforceKeyword_0_1_0; }
+
+ //"domain"
+ public Keyword getDomainKeyword_1() { return cDomainKeyword_1; }
+
+ //modelId=[qvtbase::TypedModel|UnrestrictedName]
+ public Assignment getModelIdAssignment_2() { return cModelIdAssignment_2; }
+
+ //[qvtbase::TypedModel|UnrestrictedName]
+ public CrossReference getModelIdTypedModelCrossReference_2_0() { return cModelIdTypedModelCrossReference_2_0; }
+
+ //UnrestrictedName
+ public RuleCall getModelIdTypedModelUnrestrictedNameParserRuleCall_2_0_1() { return cModelIdTypedModelUnrestrictedNameParserRuleCall_2_0_1; }
+
+ //template=TemplateCS
+ public Assignment getTemplateAssignment_3() { return cTemplateAssignment_3; }
+
+ //TemplateCS
+ public RuleCall getTemplateTemplateCSParserRuleCall_3_0() { return cTemplateTemplateCSParserRuleCall_3_0; }
+
+ //("implementedby" implementedBy=ExpCS)?
+ public Group getGroup_4() { return cGroup_4; }
+
+ //"implementedby"
+ public Keyword getImplementedbyKeyword_4_0() { return cImplementedbyKeyword_4_0; }
+
+ //implementedBy=ExpCS
+ public Assignment getImplementedByAssignment_4_1() { return cImplementedByAssignment_4_1; }
+
+ //ExpCS
+ public RuleCall getImplementedByExpCSParserRuleCall_4_1_0() { return cImplementedByExpCSParserRuleCall_4_1_0; }
+
+ //("default_values" "{" defaultValue+=DefaultValueCS+ "}")?
+ public Group getGroup_5() { return cGroup_5; }
+
+ //"default_values"
+ public Keyword getDefault_valuesKeyword_5_0() { return cDefault_valuesKeyword_5_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; }
+
+ //defaultValue+=DefaultValueCS+
+ public Assignment getDefaultValueAssignment_5_2() { return cDefaultValueAssignment_5_2; }
+
+ //DefaultValueCS
+ public RuleCall getDefaultValueDefaultValueCSParserRuleCall_5_2_0() { return cDefaultValueDefaultValueCSParserRuleCall_5_2_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_5_3() { return cRightCurlyBracketKeyword_5_3; }
+
+ //";"
+ public Keyword getSemicolonKeyword_6() { return cSemicolonKeyword_6; }
+ }
+
+ public class PrimitiveTypeDomainCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PrimitiveTypeDomainCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cPrimitiveKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cDomainKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cNameUnrestrictedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
+ private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cTypeAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cTypeTypedRefCSParserRuleCall_4_0 = (RuleCall)cTypeAssignment_4.eContents().get(0);
+ private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5);
+
+ //PrimitiveTypeDomainCS:
+ //
+ // "primitive" "domain" name=UnrestrictedName ":" type=TypedRefCS ";";
+ public ParserRule getRule() { return rule; }
+
+ //"primitive" "domain" name=UnrestrictedName ":" type=TypedRefCS ";"
+ public Group getGroup() { return cGroup; }
+
+ //"primitive"
+ public Keyword getPrimitiveKeyword_0() { return cPrimitiveKeyword_0; }
+
+ //"domain"
+ public Keyword getDomainKeyword_1() { return cDomainKeyword_1; }
+
+ //name=UnrestrictedName
+ public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+ //UnrestrictedName
+ public RuleCall getNameUnrestrictedNameParserRuleCall_2_0() { return cNameUnrestrictedNameParserRuleCall_2_0; }
+
+ //":"
+ public Keyword getColonKeyword_3() { return cColonKeyword_3; }
+
+ //type=TypedRefCS
+ public Assignment getTypeAssignment_4() { return cTypeAssignment_4; }
+
+ //TypedRefCS
+ public RuleCall getTypeTypedRefCSParserRuleCall_4_0() { return cTypeTypedRefCSParserRuleCall_4_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; }
+ }
+
+ public class TemplateCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TemplateCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
+ private final RuleCall cObjectTemplateCSParserRuleCall_0_0 = (RuleCall)cAlternatives_0.eContents().get(0);
+ private final RuleCall cCollectionTemplateCSParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cGuardExpressionAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cGuardExpressionExpCSParserRuleCall_1_1_0 = (RuleCall)cGuardExpressionAssignment_1_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
+
+ //TemplateCS:
+ //
+ // (ObjectTemplateCS | CollectionTemplateCS) ("{" guardExpression=ExpCS "}")?;
+ public ParserRule getRule() { return rule; }
+
+ //(ObjectTemplateCS | CollectionTemplateCS) ("{" guardExpression=ExpCS "}")?
+ public Group getGroup() { return cGroup; }
+
+ //ObjectTemplateCS | CollectionTemplateCS
+ public Alternatives getAlternatives_0() { return cAlternatives_0; }
+
+ //ObjectTemplateCS
+ public RuleCall getObjectTemplateCSParserRuleCall_0_0() { return cObjectTemplateCSParserRuleCall_0_0; }
+
+ //CollectionTemplateCS
+ public RuleCall getCollectionTemplateCSParserRuleCall_0_1() { return cCollectionTemplateCSParserRuleCall_0_1; }
+
+ //("{" guardExpression=ExpCS "}")?
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_1_0() { return cLeftCurlyBracketKeyword_1_0; }
+
+ //guardExpression=ExpCS
+ public Assignment getGuardExpressionAssignment_1_1() { return cGuardExpressionAssignment_1_1; }
+
+ //ExpCS
+ public RuleCall getGuardExpressionExpCSParserRuleCall_1_1_0() { return cGuardExpressionExpCSParserRuleCall_1_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_1_2() { return cRightCurlyBracketKeyword_1_2; }
+ }
+
+ public class ObjectTemplateCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ObjectTemplateCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cPropertyIdAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final CrossReference cPropertyIdPropertyCrossReference_0_0 = (CrossReference)cPropertyIdAssignment_0.eContents().get(0);
+ private final RuleCall cPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1 = (RuleCall)cPropertyIdPropertyCrossReference_0_0.eContents().get(1);
+ private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cTypeAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cTypeTypedRefCSParserRuleCall_2_0 = (RuleCall)cTypeAssignment_2.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+ private final Assignment cPropertyTemplateAssignment_4_0 = (Assignment)cGroup_4.eContents().get(0);
+ private final RuleCall cPropertyTemplatePropertyTemplateCSParserRuleCall_4_0_0 = (RuleCall)cPropertyTemplateAssignment_4_0.eContents().get(0);
+ private final Group cGroup_4_1 = (Group)cGroup_4.eContents().get(1);
+ private final Keyword cCommaKeyword_4_1_0 = (Keyword)cGroup_4_1.eContents().get(0);
+ private final Assignment cPropertyTemplateAssignment_4_1_1 = (Assignment)cGroup_4_1.eContents().get(1);
+ private final RuleCall cPropertyTemplatePropertyTemplateCSParserRuleCall_4_1_1_0 = (RuleCall)cPropertyTemplateAssignment_4_1_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+
+ //ObjectTemplateCS:
+ //
+ // propertyId=[pivot::Property|UnrestrictedName]? ":" type=TypedRefCS "{" (propertyTemplate+=PropertyTemplateCS (","
+ //
+ // propertyTemplate+=PropertyTemplateCS)*)? "}";
+ public ParserRule getRule() { return rule; }
+
+ //propertyId=[pivot::Property|UnrestrictedName]? ":" type=TypedRefCS "{" (propertyTemplate+=PropertyTemplateCS (","
+ //
+ //propertyTemplate+=PropertyTemplateCS)*)? "}"
+ public Group getGroup() { return cGroup; }
+
+ //propertyId=[pivot::Property|UnrestrictedName]?
+ public Assignment getPropertyIdAssignment_0() { return cPropertyIdAssignment_0; }
+
+ //[pivot::Property|UnrestrictedName]
+ public CrossReference getPropertyIdPropertyCrossReference_0_0() { return cPropertyIdPropertyCrossReference_0_0; }
+
+ //UnrestrictedName
+ public RuleCall getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1() { return cPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1; }
+
+ //":"
+ public Keyword getColonKeyword_1() { return cColonKeyword_1; }
+
+ //type=TypedRefCS
+ public Assignment getTypeAssignment_2() { return cTypeAssignment_2; }
+
+ //TypedRefCS
+ public RuleCall getTypeTypedRefCSParserRuleCall_2_0() { return cTypeTypedRefCSParserRuleCall_2_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
+
+ //(propertyTemplate+=PropertyTemplateCS ("," propertyTemplate+=PropertyTemplateCS)*)?
+ public Group getGroup_4() { return cGroup_4; }
+
+ //propertyTemplate+=PropertyTemplateCS
+ public Assignment getPropertyTemplateAssignment_4_0() { return cPropertyTemplateAssignment_4_0; }
+
+ //PropertyTemplateCS
+ public RuleCall getPropertyTemplatePropertyTemplateCSParserRuleCall_4_0_0() { return cPropertyTemplatePropertyTemplateCSParserRuleCall_4_0_0; }
+
+ //("," propertyTemplate+=PropertyTemplateCS)*
+ public Group getGroup_4_1() { return cGroup_4_1; }
+
+ //","
+ public Keyword getCommaKeyword_4_1_0() { return cCommaKeyword_4_1_0; }
+
+ //propertyTemplate+=PropertyTemplateCS
+ public Assignment getPropertyTemplateAssignment_4_1_1() { return cPropertyTemplateAssignment_4_1_1; }
+
+ //PropertyTemplateCS
+ public RuleCall getPropertyTemplatePropertyTemplateCSParserRuleCall_4_1_1_0() { return cPropertyTemplatePropertyTemplateCSParserRuleCall_4_1_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+ }
+
+ public class PropertyTemplateCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyTemplateCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cPropertyIdAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final CrossReference cPropertyIdPropertyCrossReference_0_0 = (CrossReference)cPropertyIdAssignment_0.eContents().get(0);
+ private final RuleCall cPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1 = (RuleCall)cPropertyIdPropertyCrossReference_0_0.eContents().get(1);
+ private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cOclExpressionAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cOclExpressionExpCSParserRuleCall_2_0 = (RuleCall)cOclExpressionAssignment_2.eContents().get(0);
+
+ //PropertyTemplateCS:
+ //
+ // propertyId=[pivot::Property|UnrestrictedName] "=" oclExpression=ExpCS;
+ public ParserRule getRule() { return rule; }
+
+ //propertyId=[pivot::Property|UnrestrictedName] "=" oclExpression=ExpCS
+ public Group getGroup() { return cGroup; }
+
+ //propertyId=[pivot::Property|UnrestrictedName]
+ public Assignment getPropertyIdAssignment_0() { return cPropertyIdAssignment_0; }
+
+ //[pivot::Property|UnrestrictedName]
+ public CrossReference getPropertyIdPropertyCrossReference_0_0() { return cPropertyIdPropertyCrossReference_0_0; }
+
+ //UnrestrictedName
+ public RuleCall getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1() { return cPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1; }
+
+ //"="
+ public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; }
+
+ //oclExpression=ExpCS
+ public Assignment getOclExpressionAssignment_2() { return cOclExpressionAssignment_2; }
+
+ //ExpCS
+ public RuleCall getOclExpressionExpCSParserRuleCall_2_0() { return cOclExpressionExpCSParserRuleCall_2_0; }
+ }
+
+ public class CollectionTemplateCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CollectionTemplateCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cPropertyIdAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final CrossReference cPropertyIdPropertyCrossReference_0_0 = (CrossReference)cPropertyIdAssignment_0.eContents().get(0);
+ private final RuleCall cPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1 = (RuleCall)cPropertyIdPropertyCrossReference_0_0.eContents().get(1);
+ private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cTypeAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cTypeCollectionTypedRefCSParserRuleCall_2_0 = (RuleCall)cTypeAssignment_2.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+ private final Assignment cMemberIdentifierAssignment_4_0 = (Assignment)cGroup_4.eContents().get(0);
+ private final Alternatives cMemberIdentifierAlternatives_4_0_0 = (Alternatives)cMemberIdentifierAssignment_4_0.eContents().get(0);
+ private final RuleCall cMemberIdentifierNameExpCSParserRuleCall_4_0_0_0 = (RuleCall)cMemberIdentifierAlternatives_4_0_0.eContents().get(0);
+ private final RuleCall cMemberIdentifierTemplateCSParserRuleCall_4_0_0_1 = (RuleCall)cMemberIdentifierAlternatives_4_0_0.eContents().get(1);
+ private final RuleCall cMemberIdentifierAnyElementCSParserRuleCall_4_0_0_2 = (RuleCall)cMemberIdentifierAlternatives_4_0_0.eContents().get(2);
+ private final Group cGroup_4_1 = (Group)cGroup_4.eContents().get(1);
+ private final Keyword cCommaKeyword_4_1_0 = (Keyword)cGroup_4_1.eContents().get(0);
+ private final Assignment cMemberIdentifierAssignment_4_1_1 = (Assignment)cGroup_4_1.eContents().get(1);
+ private final Alternatives cMemberIdentifierAlternatives_4_1_1_0 = (Alternatives)cMemberIdentifierAssignment_4_1_1.eContents().get(0);
+ private final RuleCall cMemberIdentifierNameExpCSParserRuleCall_4_1_1_0_0 = (RuleCall)cMemberIdentifierAlternatives_4_1_1_0.eContents().get(0);
+ private final RuleCall cMemberIdentifierTemplateCSParserRuleCall_4_1_1_0_1 = (RuleCall)cMemberIdentifierAlternatives_4_1_1_0.eContents().get(1);
+ private final RuleCall cMemberIdentifierAnyElementCSParserRuleCall_4_1_1_0_2 = (RuleCall)cMemberIdentifierAlternatives_4_1_1_0.eContents().get(2);
+ private final Keyword cPlusSignPlusSignKeyword_4_2 = (Keyword)cGroup_4.eContents().get(2);
+ private final Assignment cRestIdentifierAssignment_4_3 = (Assignment)cGroup_4.eContents().get(3);
+ private final Alternatives cRestIdentifierAlternatives_4_3_0 = (Alternatives)cRestIdentifierAssignment_4_3.eContents().get(0);
+ private final RuleCall cRestIdentifierNameExpCSParserRuleCall_4_3_0_0 = (RuleCall)cRestIdentifierAlternatives_4_3_0.eContents().get(0);
+ private final RuleCall cRestIdentifierAnyElementCSParserRuleCall_4_3_0_1 = (RuleCall)cRestIdentifierAlternatives_4_3_0.eContents().get(1);
+ private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+
+ //CollectionTemplateCS:
+ //
+ // propertyId=[pivot::Property|UnrestrictedName]? ":" type=CollectionTypedRefCS "{" (memberIdentifier+=(NameExpCS |
+ //
+ // TemplateCS | AnyElementCS) ("," memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS))* "++"
+ //
+ // restIdentifier=(NameExpCS | AnyElementCS)?)? "}";
+ public ParserRule getRule() { return rule; }
+
+ //propertyId=[pivot::Property|UnrestrictedName]? ":" type=CollectionTypedRefCS "{" (memberIdentifier+=(NameExpCS |
+ //
+ //TemplateCS | AnyElementCS) ("," memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS))* "++"
+ //
+ //restIdentifier=(NameExpCS | AnyElementCS)?)? "}"
+ public Group getGroup() { return cGroup; }
+
+ //propertyId=[pivot::Property|UnrestrictedName]?
+ public Assignment getPropertyIdAssignment_0() { return cPropertyIdAssignment_0; }
+
+ //[pivot::Property|UnrestrictedName]
+ public CrossReference getPropertyIdPropertyCrossReference_0_0() { return cPropertyIdPropertyCrossReference_0_0; }
+
+ //UnrestrictedName
+ public RuleCall getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1() { return cPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1; }
+
+ //":"
+ public Keyword getColonKeyword_1() { return cColonKeyword_1; }
+
+ //type=CollectionTypedRefCS
+ public Assignment getTypeAssignment_2() { return cTypeAssignment_2; }
+
+ //CollectionTypedRefCS
+ public RuleCall getTypeCollectionTypedRefCSParserRuleCall_2_0() { return cTypeCollectionTypedRefCSParserRuleCall_2_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
+
+ //(memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS) ("," memberIdentifier+=(NameExpCS | TemplateCS |
+ //
+ //AnyElementCS))* "++" restIdentifier=(NameExpCS | AnyElementCS)?)?
+ public Group getGroup_4() { return cGroup_4; }
+
+ //memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS)
+ public Assignment getMemberIdentifierAssignment_4_0() { return cMemberIdentifierAssignment_4_0; }
+
+ //NameExpCS | TemplateCS | AnyElementCS
+ public Alternatives getMemberIdentifierAlternatives_4_0_0() { return cMemberIdentifierAlternatives_4_0_0; }
+
+ //NameExpCS
+ public RuleCall getMemberIdentifierNameExpCSParserRuleCall_4_0_0_0() { return cMemberIdentifierNameExpCSParserRuleCall_4_0_0_0; }
+
+ //TemplateCS
+ public RuleCall getMemberIdentifierTemplateCSParserRuleCall_4_0_0_1() { return cMemberIdentifierTemplateCSParserRuleCall_4_0_0_1; }
+
+ //AnyElementCS
+ public RuleCall getMemberIdentifierAnyElementCSParserRuleCall_4_0_0_2() { return cMemberIdentifierAnyElementCSParserRuleCall_4_0_0_2; }
+
+ //("," memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS))*
+ public Group getGroup_4_1() { return cGroup_4_1; }
+
+ //","
+ public Keyword getCommaKeyword_4_1_0() { return cCommaKeyword_4_1_0; }
+
+ //memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS)
+ public Assignment getMemberIdentifierAssignment_4_1_1() { return cMemberIdentifierAssignment_4_1_1; }
+
+ //NameExpCS | TemplateCS | AnyElementCS
+ public Alternatives getMemberIdentifierAlternatives_4_1_1_0() { return cMemberIdentifierAlternatives_4_1_1_0; }
+
+ //NameExpCS
+ public RuleCall getMemberIdentifierNameExpCSParserRuleCall_4_1_1_0_0() { return cMemberIdentifierNameExpCSParserRuleCall_4_1_1_0_0; }
+
+ //TemplateCS
+ public RuleCall getMemberIdentifierTemplateCSParserRuleCall_4_1_1_0_1() { return cMemberIdentifierTemplateCSParserRuleCall_4_1_1_0_1; }
+
+ //AnyElementCS
+ public RuleCall getMemberIdentifierAnyElementCSParserRuleCall_4_1_1_0_2() { return cMemberIdentifierAnyElementCSParserRuleCall_4_1_1_0_2; }
+
+ //"++"
+ public Keyword getPlusSignPlusSignKeyword_4_2() { return cPlusSignPlusSignKeyword_4_2; }
+
+ //restIdentifier=(NameExpCS | AnyElementCS)?
+ public Assignment getRestIdentifierAssignment_4_3() { return cRestIdentifierAssignment_4_3; }
+
+ //NameExpCS | AnyElementCS
+ public Alternatives getRestIdentifierAlternatives_4_3_0() { return cRestIdentifierAlternatives_4_3_0; }
+
+ //NameExpCS
+ public RuleCall getRestIdentifierNameExpCSParserRuleCall_4_3_0_0() { return cRestIdentifierNameExpCSParserRuleCall_4_3_0_0; }
+
+ //AnyElementCS
+ public RuleCall getRestIdentifierAnyElementCSParserRuleCall_4_3_0_1() { return cRestIdentifierAnyElementCSParserRuleCall_4_3_0_1; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+ }
+
+ public class NameExpCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NameExpCS");
+ private final Assignment cPathNameAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cPathNamePathNameCSParserRuleCall_0 = (RuleCall)cPathNameAssignment.eContents().get(0);
+
+ //NameExpCS returns essentialocl::NameExpCS:
+ //
+ // pathName=PathNameCS;
+ public ParserRule getRule() { return rule; }
+
+ //pathName=PathNameCS
+ public Assignment getPathNameAssignment() { return cPathNameAssignment; }
+
+ //PathNameCS
+ public RuleCall getPathNamePathNameCSParserRuleCall_0() { return cPathNamePathNameCSParserRuleCall_0; }
+ }
+
+ public class AnyElementCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AnyElementCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cAnyElementCSAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword c_Keyword_1 = (Keyword)cGroup.eContents().get(1);
+
+ //AnyElementCS:
+ //
+ // {AnyElementCS} "_";
+ public ParserRule getRule() { return rule; }
+
+ //{AnyElementCS} "_"
+ public Group getGroup() { return cGroup; }
+
+ //{AnyElementCS}
+ public Action getAnyElementCSAction_0() { return cAnyElementCSAction_0; }
+
+ //"_"
+ public Keyword get_Keyword_1() { return c_Keyword_1; }
+ }
+
+ public class DefaultValueCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DefaultValueCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cPropertyIdAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final CrossReference cPropertyIdPropertyCrossReference_0_0 = (CrossReference)cPropertyIdAssignment_0.eContents().get(0);
+ private final RuleCall cPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1 = (RuleCall)cPropertyIdPropertyCrossReference_0_0.eContents().get(1);
+ private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cInitialiserAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cInitialiserExpCSParserRuleCall_2_0 = (RuleCall)cInitialiserAssignment_2.eContents().get(0);
+ private final Keyword cSemicolonKeyword_3 = (Keyword)cGroup.eContents().get(3);
+
+ //DefaultValueCS:
+ //
+ // propertyId=[pivot::Property|UnrestrictedName] "=" initialiser=ExpCS ";";
+ public ParserRule getRule() { return rule; }
+
+ //propertyId=[pivot::Property|UnrestrictedName] "=" initialiser=ExpCS ";"
+ public Group getGroup() { return cGroup; }
+
+ //propertyId=[pivot::Property|UnrestrictedName]
+ public Assignment getPropertyIdAssignment_0() { return cPropertyIdAssignment_0; }
+
+ //[pivot::Property|UnrestrictedName]
+ public CrossReference getPropertyIdPropertyCrossReference_0_0() { return cPropertyIdPropertyCrossReference_0_0; }
+
+ //UnrestrictedName
+ public RuleCall getPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1() { return cPropertyIdPropertyUnrestrictedNameParserRuleCall_0_0_1; }
+
+ //"="
+ public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; }
+
+ //initialiser=ExpCS
+ public Assignment getInitialiserAssignment_2() { return cInitialiserAssignment_2; }
+
+ //ExpCS
+ public RuleCall getInitialiserExpCSParserRuleCall_2_0() { return cInitialiserExpCSParserRuleCall_2_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_3() { return cSemicolonKeyword_3; }
+ }
+
+ public class QueryCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "QueryCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cQueryKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cPathNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cPathNamePathNameCSParserRuleCall_1_0 = (RuleCall)cPathNameAssignment_1.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Assignment cInputParamDeclarationAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
+ private final RuleCall cInputParamDeclarationParamDeclarationCSParserRuleCall_3_0_0 = (RuleCall)cInputParamDeclarationAssignment_3_0.eContents().get(0);
+ private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1);
+ private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0);
+ private final Assignment cInputParamDeclarationAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
+ private final RuleCall cInputParamDeclarationParamDeclarationCSParserRuleCall_3_1_1_0 = (RuleCall)cInputParamDeclarationAssignment_3_1_1.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final Keyword cColonKeyword_5 = (Keyword)cGroup.eContents().get(5);
+ private final Assignment cTypeAssignment_6 = (Assignment)cGroup.eContents().get(6);
+ private final RuleCall cTypeTypedRefCSParserRuleCall_6_0 = (RuleCall)cTypeAssignment_6.eContents().get(0);
+ private final Alternatives cAlternatives_7 = (Alternatives)cGroup.eContents().get(7);
+ private final Keyword cSemicolonKeyword_7_0 = (Keyword)cAlternatives_7.eContents().get(0);
+ private final Group cGroup_7_1 = (Group)cAlternatives_7.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_7_1_0 = (Keyword)cGroup_7_1.eContents().get(0);
+ private final Assignment cOclExpressionAssignment_7_1_1 = (Assignment)cGroup_7_1.eContents().get(1);
+ private final RuleCall cOclExpressionExpCSParserRuleCall_7_1_1_0 = (RuleCall)cOclExpressionAssignment_7_1_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_7_1_2 = (Keyword)cGroup_7_1.eContents().get(2);
+
+ //QueryCS:
+ //
+ // "query" pathName=PathNameCS "(" (inputParamDeclaration+=ParamDeclarationCS (","
+ //
+ // inputParamDeclaration+=ParamDeclarationCS)*)? ")" ":" type=TypedRefCS (";" | "{" oclExpression=ExpCS "}");
+ public ParserRule getRule() { return rule; }
+
+ //"query" pathName=PathNameCS "(" (inputParamDeclaration+=ParamDeclarationCS (","
+ //
+ //inputParamDeclaration+=ParamDeclarationCS)*)? ")" ":" type=TypedRefCS (";" | "{" oclExpression=ExpCS "}")
+ public Group getGroup() { return cGroup; }
+
+ //"query"
+ public Keyword getQueryKeyword_0() { return cQueryKeyword_0; }
+
+ //pathName=PathNameCS
+ public Assignment getPathNameAssignment_1() { return cPathNameAssignment_1; }
+
+ //PathNameCS
+ public RuleCall getPathNamePathNameCSParserRuleCall_1_0() { return cPathNamePathNameCSParserRuleCall_1_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
+
+ //(inputParamDeclaration+=ParamDeclarationCS ("," inputParamDeclaration+=ParamDeclarationCS)*)?
+ public Group getGroup_3() { return cGroup_3; }
+
+ //inputParamDeclaration+=ParamDeclarationCS
+ public Assignment getInputParamDeclarationAssignment_3_0() { return cInputParamDeclarationAssignment_3_0; }
+
+ //ParamDeclarationCS
+ public RuleCall getInputParamDeclarationParamDeclarationCSParserRuleCall_3_0_0() { return cInputParamDeclarationParamDeclarationCSParserRuleCall_3_0_0; }
+
+ //("," inputParamDeclaration+=ParamDeclarationCS)*
+ public Group getGroup_3_1() { return cGroup_3_1; }
+
+ //","
+ public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; }
+
+ //inputParamDeclaration+=ParamDeclarationCS
+ public Assignment getInputParamDeclarationAssignment_3_1_1() { return cInputParamDeclarationAssignment_3_1_1; }
+
+ //ParamDeclarationCS
+ public RuleCall getInputParamDeclarationParamDeclarationCSParserRuleCall_3_1_1_0() { return cInputParamDeclarationParamDeclarationCSParserRuleCall_3_1_1_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
+
+ //":"
+ public Keyword getColonKeyword_5() { return cColonKeyword_5; }
+
+ //type=TypedRefCS
+ public Assignment getTypeAssignment_6() { return cTypeAssignment_6; }
+
+ //TypedRefCS
+ public RuleCall getTypeTypedRefCSParserRuleCall_6_0() { return cTypeTypedRefCSParserRuleCall_6_0; }
+
+ //";" | "{" oclExpression=ExpCS "}"
+ public Alternatives getAlternatives_7() { return cAlternatives_7; }
+
+ //";"
+ public Keyword getSemicolonKeyword_7_0() { return cSemicolonKeyword_7_0; }
+
+ //"{" oclExpression=ExpCS "}"
+ public Group getGroup_7_1() { return cGroup_7_1; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_7_1_0() { return cLeftCurlyBracketKeyword_7_1_0; }
+
+ //oclExpression=ExpCS
+ public Assignment getOclExpressionAssignment_7_1_1() { return cOclExpressionAssignment_7_1_1; }
+
+ //ExpCS
+ public RuleCall getOclExpressionExpCSParserRuleCall_7_1_1_0() { return cOclExpressionExpCSParserRuleCall_7_1_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_7_1_2() { return cRightCurlyBracketKeyword_7_1_2; }
+ }
+
+ public class ParamDeclarationCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ParamDeclarationCS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cNameUnrestrictedNameParserRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
+ private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cTypeAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cTypeTypedRefCSParserRuleCall_2_0 = (RuleCall)cTypeAssignment_2.eContents().get(0);
+
+ //ParamDeclarationCS:
+ //
+ // name=UnrestrictedName ":" type=TypedRefCS;
+ public ParserRule getRule() { return rule; }
+
+ //name=UnrestrictedName ":" type=TypedRefCS
+ public Group getGroup() { return cGroup; }
+
+ //name=UnrestrictedName
+ public Assignment getNameAssignment_0() { return cNameAssignment_0; }
+
+ //UnrestrictedName
+ public RuleCall getNameUnrestrictedNameParserRuleCall_0_0() { return cNameUnrestrictedNameParserRuleCall_0_0; }
+
+ //":"
+ public Keyword getColonKeyword_1() { return cColonKeyword_1; }
+
+ //type=TypedRefCS
+ public Assignment getTypeAssignment_2() { return cTypeAssignment_2; }
+
+ //TypedRefCS
+ public RuleCall getTypeTypedRefCSParserRuleCall_2_0() { return cTypeTypedRefCSParserRuleCall_2_0; }
+ }
+
+ public class CollectionTypedRefCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CollectionTypedRefCS");
+ private final Assignment cPathNameAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cPathNamePathNameCSParserRuleCall_0 = (RuleCall)cPathNameAssignment.eContents().get(0);
+
+ ////<OclExpressionCS> ::= <PropertyCallExpCS>
+ // // | <VariableExpCS>
+ //
+ //
+ //// | <LiteralExpCS>
+ // // | <LetExpCS>
+ // // | <IfExpCS>
+ //
+ //
+ //// | '(' <OclExpressionCS> ')'
+ // // | <template>
+ //
+ //
+ //// notNameExpressionCS -> templateCS
+ // CollectionTypedRefCS returns base::TypedTypeRefCS:
+ //
+ // pathName=PathNameCS;
+ public ParserRule getRule() { return rule; }
+
+ //pathName=PathNameCS
+ public Assignment getPathNameAssignment() { return cPathNameAssignment; }
+
+ //PathNameCS
+ public RuleCall getPathNamePathNameCSParserRuleCall_0() { return cPathNamePathNameCSParserRuleCall_0; }
+ }
+
+ public class TypedRefCSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TypedRefCS");
+ private final Assignment cPathNameAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cPathNamePathNameCSParserRuleCall_0 = (RuleCall)cPathNameAssignment.eContents().get(0);
+
+ //TypedRefCS returns base::TypedTypeRefCS:
+ //
+ // pathName=PathNameCS;
+ public ParserRule getRule() { return rule; }
+
+ //pathName=PathNameCS
+ public Assignment getPathNameAssignment() { return cPathNameAssignment; }
+
+ //PathNameCS
+ public RuleCall getPathNamePathNameCSParserRuleCall_0() { return cPathNamePathNameCSParserRuleCall_0; }
+ }
+
+ public class UnrestrictedNameElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "UnrestrictedName");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cEssentialOCLUnrestrictedNameParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final Keyword cCheckonlyKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
+ private final Keyword cDefault_valuesKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
+ private final Keyword cDomainKeyword_3 = (Keyword)cAlternatives.eContents().get(3);
+ private final Keyword cEnforceKeyword_4 = (Keyword)cAlternatives.eContents().get(4);
+ private final Keyword cExtendsKeyword_5 = (Keyword)cAlternatives.eContents().get(5);
+ private final Keyword cImplementedbyKeyword_6 = (Keyword)cAlternatives.eContents().get(6);
+ private final Keyword cImportKeyword_7 = (Keyword)cAlternatives.eContents().get(7);
+ private final Keyword cKeyKeyword_8 = (Keyword)cAlternatives.eContents().get(8);
+ private final Keyword cOverridesKeyword_9 = (Keyword)cAlternatives.eContents().get(9);
+ private final Keyword cPrimitiveKeyword_10 = (Keyword)cAlternatives.eContents().get(10);
+ private final Keyword cQueryKeyword_11 = (Keyword)cAlternatives.eContents().get(11);
+ private final Keyword cRelationKeyword_12 = (Keyword)cAlternatives.eContents().get(12);
+ private final Keyword cReplaceKeyword_13 = (Keyword)cAlternatives.eContents().get(13);
+ private final Keyword cTopKeyword_14 = (Keyword)cAlternatives.eContents().get(14);
+ private final Keyword cTransformationKeyword_15 = (Keyword)cAlternatives.eContents().get(15);
+ private final Keyword cWhenKeyword_16 = (Keyword)cAlternatives.eContents().get(16);
+ private final Keyword cWhereKeyword_17 = (Keyword)cAlternatives.eContents().get(17);
+
+ ////ExpCS returns essentialocl::ExpCS:
+ // // InfixedExpCS
+ // //| TemplateCS;
+ // //-- relationIdentifier -> '_'
+ //
+ //
+ //UnrestrictedName returns ecore::EString:
+ //
+ // EssentialOCLUnrestrictedName | "checkonly" | "default_values" | "domain" | "enforce" | "extends" | "implementedby" |
+ //
+ // "import" | "key" | "overrides" | "primitive" | "query" | "relation" | "replace" | "top" | "transformation" | "when" |
+ //
+ // "where";
+ public ParserRule getRule() { return rule; }
+
+ //EssentialOCLUnrestrictedName | "checkonly" | "default_values" | "domain" | "enforce" | "extends" | "implementedby" |
+ //
+ //"import" | "key" | "overrides" | "primitive" | "query" | "relation" | "replace" | "top" | "transformation" | "when" |
+ //
+ //"where"
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //EssentialOCLUnrestrictedName
+ public RuleCall getEssentialOCLUnrestrictedNameParserRuleCall_0() { return cEssentialOCLUnrestrictedNameParserRuleCall_0; }
+
+ //"checkonly"
+ public Keyword getCheckonlyKeyword_1() { return cCheckonlyKeyword_1; }
+
+ //"default_values"
+ public Keyword getDefault_valuesKeyword_2() { return cDefault_valuesKeyword_2; }
+
+ //"domain"
+ public Keyword getDomainKeyword_3() { return cDomainKeyword_3; }
+
+ //"enforce"
+ public Keyword getEnforceKeyword_4() { return cEnforceKeyword_4; }
+
+ //"extends"
+ public Keyword getExtendsKeyword_5() { return cExtendsKeyword_5; }
+
+ //"implementedby"
+ public Keyword getImplementedbyKeyword_6() { return cImplementedbyKeyword_6; }
+
+ //"import"
+ public Keyword getImportKeyword_7() { return cImportKeyword_7; }
+
+ //"key"
+ public Keyword getKeyKeyword_8() { return cKeyKeyword_8; }
+
+ //"overrides"
+ public Keyword getOverridesKeyword_9() { return cOverridesKeyword_9; }
+
+ //"primitive"
+ public Keyword getPrimitiveKeyword_10() { return cPrimitiveKeyword_10; }
+
+ //"query"
+ public Keyword getQueryKeyword_11() { return cQueryKeyword_11; }
+
+ //"relation"
+ public Keyword getRelationKeyword_12() { return cRelationKeyword_12; }
+
+ //"replace"
+ public Keyword getReplaceKeyword_13() { return cReplaceKeyword_13; }
+
+ //"top"
+ public Keyword getTopKeyword_14() { return cTopKeyword_14; }
+
+ //"transformation"
+ public Keyword getTransformationKeyword_15() { return cTransformationKeyword_15; }
+
+ //"when"
+ public Keyword getWhenKeyword_16() { return cWhenKeyword_16; }
+
+ //"where"
+ public Keyword getWhereKeyword_17() { return cWhereKeyword_17; }
+ }
+
+
+ private TopLevelCSElements pTopLevelCS;
+ private UnitCSElements pUnitCS;
+ private TransformationCSElements pTransformationCS;
+ private ModelDeclCSElements pModelDeclCS;
+ private KeyDeclCSElements pKeyDeclCS;
+ private RelationCSElements pRelationCS;
+ private WhenCSElements pWhenCS;
+ private WhereCSElements pWhereCS;
+ private VarDeclarationCSElements pVarDeclarationCS;
+ private DomainCSElements pDomainCS;
+ private PrimitiveTypeDomainCSElements pPrimitiveTypeDomainCS;
+ private TemplateCSElements pTemplateCS;
+ private ObjectTemplateCSElements pObjectTemplateCS;
+ private PropertyTemplateCSElements pPropertyTemplateCS;
+ private CollectionTemplateCSElements pCollectionTemplateCS;
+ private NameExpCSElements pNameExpCS;
+ private AnyElementCSElements pAnyElementCS;
+ private DefaultValueCSElements pDefaultValueCS;
+ private QueryCSElements pQueryCS;
+ private ParamDeclarationCSElements pParamDeclarationCS;
+ private CollectionTypedRefCSElements pCollectionTypedRefCS;
+ private TypedRefCSElements pTypedRefCS;
+ private UnrestrictedNameElements pUnrestrictedName;
+
+ private final GrammarProvider grammarProvider;
+
+ private EssentialOCLGrammarAccess gaEssentialOCL;
+
+ @Inject
+ public QVTrelationGrammarAccess(GrammarProvider grammarProvider,
+ EssentialOCLGrammarAccess gaEssentialOCL) {
+ this.grammarProvider = grammarProvider;
+ this.gaEssentialOCL = gaEssentialOCL;
+ }
+
+ public Grammar getGrammar() {
+ return grammarProvider.getGrammar(this);
+ }
+
+
+ public EssentialOCLGrammarAccess getEssentialOCLGrammarAccess() {
+ return gaEssentialOCL;
+ }
+
+
+ //TopLevelCS:
+ //
+ // ("import" importClause+=UnitCS ";")* transformation+=TransformationCS*;
+ public TopLevelCSElements getTopLevelCSAccess() {
+ return (pTopLevelCS != null) ? pTopLevelCS : (pTopLevelCS = new TopLevelCSElements());
+ }
+
+ public ParserRule getTopLevelCSRule() {
+ return getTopLevelCSAccess().getRule();
+ }
+
+ //UnitCS:
+ //
+ // identifier+=[pivot::Element|UnrestrictedName] ("." identifier+=[pivot::Element|UnrestrictedName])*;
+ public UnitCSElements getUnitCSAccess() {
+ return (pUnitCS != null) ? pUnitCS : (pUnitCS = new UnitCSElements());
+ }
+
+ public ParserRule getUnitCSRule() {
+ return getUnitCSAccess().getRule();
+ }
+
+ //TransformationCS:
+ //
+ // "transformation" name=UnrestrictedName "(" modelDecl+=ModelDeclCS ("," modelDecl+=ModelDeclCS)* ")" ("extends"
+ //
+ // extends+=[qvtbase::Transformation|UnrestrictedName] ("," extends+=[qvtbase::Transformation|UnrestrictedName])*)? "{"
+ //
+ // keyDecl+=KeyDeclCS* (relation+=RelationCS | query+=QueryCS)* "}";
+ public TransformationCSElements getTransformationCSAccess() {
+ return (pTransformationCS != null) ? pTransformationCS : (pTransformationCS = new TransformationCSElements());
+ }
+
+ public ParserRule getTransformationCSRule() {
+ return getTransformationCSAccess().getRule();
+ }
+
+ //ModelDeclCS:
+ //
+ // name=UnrestrictedName ":" (metaModelId+=[pivot::Package|UnrestrictedName] | "{"
+ //
+ // metaModelId+=[pivot::Package|UnrestrictedName] ("," metaModelId+=[pivot::Package|UnrestrictedName])* "}");
+ public ModelDeclCSElements getModelDeclCSAccess() {
+ return (pModelDeclCS != null) ? pModelDeclCS : (pModelDeclCS = new ModelDeclCSElements());
+ }
+
+ public ParserRule getModelDeclCSRule() {
+ return getModelDeclCSAccess().getRule();
+ }
+
+ //KeyDeclCS:
+ //
+ // "key" pathName=PathNameCS "{" propertyId+=[pivot::Property|UnrestrictedName] (","
+ //
+ // propertyId+=[pivot::Property|UnrestrictedName])* "}" ";";
+ public KeyDeclCSElements getKeyDeclCSAccess() {
+ return (pKeyDeclCS != null) ? pKeyDeclCS : (pKeyDeclCS = new KeyDeclCSElements());
+ }
+
+ public ParserRule getKeyDeclCSRule() {
+ return getKeyDeclCSAccess().getRule();
+ }
+
+ //RelationCS:
+ //
+ // top?="top"? "relation" name=UnrestrictedName ("overrides" overrides=[qvtrelation::Relation|UnrestrictedName])? "{"
+ //
+ // varDeclaration+=VarDeclarationCS* (domain+=DomainCS | domain+=PrimitiveTypeDomainCS)+ when=WhenCS? where=WhereCS?
+ //
+ // "}";
+ public RelationCSElements getRelationCSAccess() {
+ return (pRelationCS != null) ? pRelationCS : (pRelationCS = new RelationCSElements());
+ }
+
+ public ParserRule getRelationCSRule() {
+ return getRelationCSAccess().getRule();
+ }
+
+ //WhenCS:
+ //
+ // {WhenCS} "when" "{" (expr+=ExpCS ";")* "}";
+ public WhenCSElements getWhenCSAccess() {
+ return (pWhenCS != null) ? pWhenCS : (pWhenCS = new WhenCSElements());
+ }
+
+ public ParserRule getWhenCSRule() {
+ return getWhenCSAccess().getRule();
+ }
+
+ //WhereCS:
+ //
+ // {WhereCS} "where" "{" (expr+=ExpCS ";")* "}";
+ public WhereCSElements getWhereCSAccess() {
+ return (pWhereCS != null) ? pWhereCS : (pWhereCS = new WhereCSElements());
+ }
+
+ public ParserRule getWhereCSRule() {
+ return getWhereCSAccess().getRule();
+ }
+
+ //VarDeclarationCS:
+ //
+ // varDeclarationId+=[pivot::Property|UnrestrictedName] ("," varDeclarationId+=[pivot::Property|UnrestrictedName])* ":"
+ //
+ // type=TypedRefCS ";";
+ public VarDeclarationCSElements getVarDeclarationCSAccess() {
+ return (pVarDeclarationCS != null) ? pVarDeclarationCS : (pVarDeclarationCS = new VarDeclarationCSElements());
+ }
+
+ public ParserRule getVarDeclarationCSRule() {
+ return getVarDeclarationCSAccess().getRule();
+ }
+
+ //DomainCS:
+ //
+ // (checkonly?="checkonly" | enforce?="enforce")? "domain" modelId=[qvtbase::TypedModel|UnrestrictedName]
+ //
+ // template=TemplateCS ("implementedby" implementedBy=ExpCS)? ("default_values" "{" defaultValue+=DefaultValueCS+ "}")?
+ //
+ // ";";
+ public DomainCSElements getDomainCSAccess() {
+ return (pDomainCS != null) ? pDomainCS : (pDomainCS = new DomainCSElements());
+ }
+
+ public ParserRule getDomainCSRule() {
+ return getDomainCSAccess().getRule();
+ }
+
+ //PrimitiveTypeDomainCS:
+ //
+ // "primitive" "domain" name=UnrestrictedName ":" type=TypedRefCS ";";
+ public PrimitiveTypeDomainCSElements getPrimitiveTypeDomainCSAccess() {
+ return (pPrimitiveTypeDomainCS != null) ? pPrimitiveTypeDomainCS : (pPrimitiveTypeDomainCS = new PrimitiveTypeDomainCSElements());
+ }
+
+ public ParserRule getPrimitiveTypeDomainCSRule() {
+ return getPrimitiveTypeDomainCSAccess().getRule();
+ }
+
+ //TemplateCS:
+ //
+ // (ObjectTemplateCS | CollectionTemplateCS) ("{" guardExpression=ExpCS "}")?;
+ public TemplateCSElements getTemplateCSAccess() {
+ return (pTemplateCS != null) ? pTemplateCS : (pTemplateCS = new TemplateCSElements());
+ }
+
+ public ParserRule getTemplateCSRule() {
+ return getTemplateCSAccess().getRule();
+ }
+
+ //ObjectTemplateCS:
+ //
+ // propertyId=[pivot::Property|UnrestrictedName]? ":" type=TypedRefCS "{" (propertyTemplate+=PropertyTemplateCS (","
+ //
+ // propertyTemplate+=PropertyTemplateCS)*)? "}";
+ public ObjectTemplateCSElements getObjectTemplateCSAccess() {
+ return (pObjectTemplateCS != null) ? pObjectTemplateCS : (pObjectTemplateCS = new ObjectTemplateCSElements());
+ }
+
+ public ParserRule getObjectTemplateCSRule() {
+ return getObjectTemplateCSAccess().getRule();
+ }
+
+ //PropertyTemplateCS:
+ //
+ // propertyId=[pivot::Property|UnrestrictedName] "=" oclExpression=ExpCS;
+ public PropertyTemplateCSElements getPropertyTemplateCSAccess() {
+ return (pPropertyTemplateCS != null) ? pPropertyTemplateCS : (pPropertyTemplateCS = new PropertyTemplateCSElements());
+ }
+
+ public ParserRule getPropertyTemplateCSRule() {
+ return getPropertyTemplateCSAccess().getRule();
+ }
+
+ //CollectionTemplateCS:
+ //
+ // propertyId=[pivot::Property|UnrestrictedName]? ":" type=CollectionTypedRefCS "{" (memberIdentifier+=(NameExpCS |
+ //
+ // TemplateCS | AnyElementCS) ("," memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS))* "++"
+ //
+ // restIdentifier=(NameExpCS | AnyElementCS)?)? "}";
+ public CollectionTemplateCSElements getCollectionTemplateCSAccess() {
+ return (pCollectionTemplateCS != null) ? pCollectionTemplateCS : (pCollectionTemplateCS = new CollectionTemplateCSElements());
+ }
+
+ public ParserRule getCollectionTemplateCSRule() {
+ return getCollectionTemplateCSAccess().getRule();
+ }
+
+ //NameExpCS returns essentialocl::NameExpCS:
+ //
+ // pathName=PathNameCS;
+ public NameExpCSElements getNameExpCSAccess() {
+ return (pNameExpCS != null) ? pNameExpCS : (pNameExpCS = new NameExpCSElements());
+ }
+
+ public ParserRule getNameExpCSRule() {
+ return getNameExpCSAccess().getRule();
+ }
+
+ //AnyElementCS:
+ //
+ // {AnyElementCS} "_";
+ public AnyElementCSElements getAnyElementCSAccess() {
+ return (pAnyElementCS != null) ? pAnyElementCS : (pAnyElementCS = new AnyElementCSElements());
+ }
+
+ public ParserRule getAnyElementCSRule() {
+ return getAnyElementCSAccess().getRule();
+ }
+
+ //DefaultValueCS:
+ //
+ // propertyId=[pivot::Property|UnrestrictedName] "=" initialiser=ExpCS ";";
+ public DefaultValueCSElements getDefaultValueCSAccess() {
+ return (pDefaultValueCS != null) ? pDefaultValueCS : (pDefaultValueCS = new DefaultValueCSElements());
+ }
+
+ public ParserRule getDefaultValueCSRule() {
+ return getDefaultValueCSAccess().getRule();
+ }
+
+ //QueryCS:
+ //
+ // "query" pathName=PathNameCS "(" (inputParamDeclaration+=ParamDeclarationCS (","
+ //
+ // inputParamDeclaration+=ParamDeclarationCS)*)? ")" ":" type=TypedRefCS (";" | "{" oclExpression=ExpCS "}");
+ public QueryCSElements getQueryCSAccess() {
+ return (pQueryCS != null) ? pQueryCS : (pQueryCS = new QueryCSElements());
+ }
+
+ public ParserRule getQueryCSRule() {
+ return getQueryCSAccess().getRule();
+ }
+
+ //ParamDeclarationCS:
+ //
+ // name=UnrestrictedName ":" type=TypedRefCS;
+ public ParamDeclarationCSElements getParamDeclarationCSAccess() {
+ return (pParamDeclarationCS != null) ? pParamDeclarationCS : (pParamDeclarationCS = new ParamDeclarationCSElements());
+ }
+
+ public ParserRule getParamDeclarationCSRule() {
+ return getParamDeclarationCSAccess().getRule();
+ }
+
+ ////<OclExpressionCS> ::= <PropertyCallExpCS>
+ // // | <VariableExpCS>
+ //
+ //
+ //// | <LiteralExpCS>
+ // // | <LetExpCS>
+ // // | <IfExpCS>
+ //
+ //
+ //// | '(' <OclExpressionCS> ')'
+ // // | <template>
+ //
+ //
+ //// notNameExpressionCS -> templateCS
+ // CollectionTypedRefCS returns base::TypedTypeRefCS:
+ //
+ // pathName=PathNameCS;
+ public CollectionTypedRefCSElements getCollectionTypedRefCSAccess() {
+ return (pCollectionTypedRefCS != null) ? pCollectionTypedRefCS : (pCollectionTypedRefCS = new CollectionTypedRefCSElements());
+ }
+
+ public ParserRule getCollectionTypedRefCSRule() {
+ return getCollectionTypedRefCSAccess().getRule();
+ }
+
+ //TypedRefCS returns base::TypedTypeRefCS:
+ //
+ // pathName=PathNameCS;
+ public TypedRefCSElements getTypedRefCSAccess() {
+ return (pTypedRefCS != null) ? pTypedRefCS : (pTypedRefCS = new TypedRefCSElements());
+ }
+
+ public ParserRule getTypedRefCSRule() {
+ return getTypedRefCSAccess().getRule();
+ }
+
+ ////ExpCS returns essentialocl::ExpCS:
+ // // InfixedExpCS
+ // //| TemplateCS;
+ // //-- relationIdentifier -> '_'
+ //
+ //
+ //UnrestrictedName returns ecore::EString:
+ //
+ // EssentialOCLUnrestrictedName | "checkonly" | "default_values" | "domain" | "enforce" | "extends" | "implementedby" |
+ //
+ // "import" | "key" | "overrides" | "primitive" | "query" | "relation" | "replace" | "top" | "transformation" | "when" |
+ //
+ // "where";
+ public UnrestrictedNameElements getUnrestrictedNameAccess() {
+ return (pUnrestrictedName != null) ? pUnrestrictedName : (pUnrestrictedName = new UnrestrictedNameElements());
+ }
+
+ public ParserRule getUnrestrictedNameRule() {
+ return getUnrestrictedNameAccess().getRule();
+ }
+
+ ////generate essentialOCLCST "http://www.eclipse.org/ocl/3.0.0/EssentialOCLCST"
+ // Model returns ContextCS:
+ //
+ // ownedExpression=ExpCS;
+ public EssentialOCLGrammarAccess.ModelElements getModelAccess() {
+ return gaEssentialOCL.getModelAccess();
+ }
+
+ public ParserRule getModelRule() {
+ return getModelAccess().getRule();
+ }
+
+ //terminal fragment ESCAPED_CHARACTER:
+ //
+ // "\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\");
+ public TerminalRule getESCAPED_CHARACTERRule() {
+ return gaEssentialOCL.getESCAPED_CHARACTERRule();
+ }
+
+ //terminal fragment LETTER_CHARACTER:
+ //
+ // "a".."z" | "A".."Z" | "_";
+ public TerminalRule getLETTER_CHARACTERRule() {
+ return gaEssentialOCL.getLETTER_CHARACTERRule();
+ }
+
+ //terminal fragment DIGIT_CHARACTER:
+ //
+ // "0".."9";
+ public TerminalRule getDIGIT_CHARACTERRule() {
+ return gaEssentialOCL.getDIGIT_CHARACTERRule();
+ }
+
+ //terminal DOUBLE_QUOTED_STRING:
+ //
+ // "\"" (ESCAPED_CHARACTER | !("\\" | "\""))* "\"";
+ public TerminalRule getDOUBLE_QUOTED_STRINGRule() {
+ return gaEssentialOCL.getDOUBLE_QUOTED_STRINGRule();
+ }
+
+ //terminal SINGLE_QUOTED_STRING:
+ //
+ // "\'" (ESCAPED_CHARACTER | !("\\" | "\'"))* "\'";
+ public TerminalRule getSINGLE_QUOTED_STRINGRule() {
+ return gaEssentialOCL.getSINGLE_QUOTED_STRINGRule();
+ }
+
+ //terminal ML_SINGLE_QUOTED_STRING:
+ //
+ // "/\'"->"\'/";
+ public TerminalRule getML_SINGLE_QUOTED_STRINGRule() {
+ return gaEssentialOCL.getML_SINGLE_QUOTED_STRINGRule();
+ }
+
+ //terminal SIMPLE_ID:
+ //
+ // LETTER_CHARACTER (LETTER_CHARACTER | DIGIT_CHARACTER)*;
+ public TerminalRule getSIMPLE_IDRule() {
+ return gaEssentialOCL.getSIMPLE_IDRule();
+ }
+
+ //terminal ESCAPED_ID:
+ //
+ // "_" SINGLE_QUOTED_STRING;
+ public TerminalRule getESCAPED_IDRule() {
+ return gaEssentialOCL.getESCAPED_IDRule();
+ }
+
+ //ID:
+ //
+ // SIMPLE_ID | ESCAPED_ID;
+ public EssentialOCLGrammarAccess.IDElements getIDAccess() {
+ return gaEssentialOCL.getIDAccess();
+ }
+
+ public ParserRule getIDRule() {
+ return getIDAccess().getRule();
+ }
+
+ //// String to allow diverse re-use
+ // terminal INT:
+ //
+ // DIGIT_CHARACTER+;
+ public TerminalRule getINTRule() {
+ return gaEssentialOCL.getINTRule();
+ }
+
+ //LOWER returns ecore::EInt:
+ //
+ // INT;
+ public EssentialOCLGrammarAccess.LOWERElements getLOWERAccess() {
+ return gaEssentialOCL.getLOWERAccess();
+ }
+
+ public ParserRule getLOWERRule() {
+ return getLOWERAccess().getRule();
+ }
+
+ //UPPER returns ecore::EInt:
+ //
+ // INT | "*";
+ public EssentialOCLGrammarAccess.UPPERElements getUPPERAccess() {
+ return gaEssentialOCL.getUPPERAccess();
+ }
+
+ public ParserRule getUPPERRule() {
+ return getUPPERAccess().getRule();
+ }
+
+ //// Not terminal to allow parser backtracking to sort out "5..7"
+ // NUMBER_LITERAL returns BigNumber:
+ //
+ // INT ("." INT)? (("e" | "E") ("+" | "-")? INT)?;
+ public EssentialOCLGrammarAccess.NUMBER_LITERALElements getNUMBER_LITERALAccess() {
+ return gaEssentialOCL.getNUMBER_LITERALAccess();
+ }
+
+ public ParserRule getNUMBER_LITERALRule() {
+ return getNUMBER_LITERALAccess().getRule();
+ }
+
+ //terminal ML_COMMENT:
+ //
+ // "/ *"->"* /";
+ public TerminalRule getML_COMMENTRule() {
+ return gaEssentialOCL.getML_COMMENTRule();
+ }
+
+ //terminal SL_COMMENT:
+ //
+ // "--" !("\n" | "\r")* ("\r"? "\n")?;
+ public TerminalRule getSL_COMMENTRule() {
+ return gaEssentialOCL.getSL_COMMENTRule();
+ }
+
+ //terminal WS:
+ //
+ // (" " | "\t" | "\r" | "\n")+;
+ public TerminalRule getWSRule() {
+ return gaEssentialOCL.getWSRule();
+ }
+
+ //terminal ANY_OTHER:
+ //
+ // .;
+ public TerminalRule getANY_OTHERRule() {
+ return gaEssentialOCL.getANY_OTHERRule();
+ }
+
+ //URI:
+ //
+ // SINGLE_QUOTED_STRING;
+ public EssentialOCLGrammarAccess.URIElements getURIAccess() {
+ return gaEssentialOCL.getURIAccess();
+ }
+
+ public ParserRule getURIRule() {
+ return getURIAccess().getRule();
+ }
+
+ //EssentialOCLReservedKeyword:
+ //
+ // "and" | "else" | "endif" | "if" | "implies" | "in" | "let" | "not" | "or" | "then" | "xor";
+ public EssentialOCLGrammarAccess.EssentialOCLReservedKeywordElements getEssentialOCLReservedKeywordAccess() {
+ return gaEssentialOCL.getEssentialOCLReservedKeywordAccess();
+ }
+
+ public ParserRule getEssentialOCLReservedKeywordRule() {
+ return getEssentialOCLReservedKeywordAccess().getRule();
+ }
+
+ //EssentialOCLUnrestrictedIdentifier:
+ //
+ // "e" | "E";
+ public EssentialOCLGrammarAccess.EssentialOCLUnrestrictedIdentifierElements getEssentialOCLUnrestrictedIdentifierAccess() {
+ return gaEssentialOCL.getEssentialOCLUnrestrictedIdentifierAccess();
+ }
+
+ public ParserRule getEssentialOCLUnrestrictedIdentifierRule() {
+ return getEssentialOCLUnrestrictedIdentifierAccess().getRule();
+ }
+
+ //EssentialOCLPrefixOperator:
+ //
+ // "-" | "not";
+ public EssentialOCLGrammarAccess.EssentialOCLPrefixOperatorElements getEssentialOCLPrefixOperatorAccess() {
+ return gaEssentialOCL.getEssentialOCLPrefixOperatorAccess();
+ }
+
+ public ParserRule getEssentialOCLPrefixOperatorRule() {
+ return getEssentialOCLPrefixOperatorAccess().getRule();
+ }
+
+ //EssentialOCLInfixOperator:
+ //
+ // "*" | "/" | "+" | "-" | ">" | "<" | ">=" | "<=" | "=" | "<>" | "and" | "or" | "xor" | "implies";
+ public EssentialOCLGrammarAccess.EssentialOCLInfixOperatorElements getEssentialOCLInfixOperatorAccess() {
+ return gaEssentialOCL.getEssentialOCLInfixOperatorAccess();
+ }
+
+ public ParserRule getEssentialOCLInfixOperatorRule() {
+ return getEssentialOCLInfixOperatorAccess().getRule();
+ }
+
+ //EssentialOCLNavigationOperator:
+ //
+ // "." | "->";
+ public EssentialOCLGrammarAccess.EssentialOCLNavigationOperatorElements getEssentialOCLNavigationOperatorAccess() {
+ return gaEssentialOCL.getEssentialOCLNavigationOperatorAccess();
+ }
+
+ public ParserRule getEssentialOCLNavigationOperatorRule() {
+ return getEssentialOCLNavigationOperatorAccess().getRule();
+ }
+
+ //Identifier:
+ //
+ // ID | EssentialOCLUnrestrictedIdentifier;
+ public EssentialOCLGrammarAccess.IdentifierElements getIdentifierAccess() {
+ return gaEssentialOCL.getIdentifierAccess();
+ }
+
+ public ParserRule getIdentifierRule() {
+ return getIdentifierAccess().getRule();
+ }
+
+ //StringLiteral:
+ //
+ // SINGLE_QUOTED_STRING;
+ public EssentialOCLGrammarAccess.StringLiteralElements getStringLiteralAccess() {
+ return gaEssentialOCL.getStringLiteralAccess();
+ }
+
+ public ParserRule getStringLiteralRule() {
+ return getStringLiteralAccess().getRule();
+ }
+
+ //// Intended to be overridden
+ // PrefixOperator:
+ //
+ // EssentialOCLPrefixOperator;
+ public EssentialOCLGrammarAccess.PrefixOperatorElements getPrefixOperatorAccess() {
+ return gaEssentialOCL.getPrefixOperatorAccess();
+ }
+
+ public ParserRule getPrefixOperatorRule() {
+ return getPrefixOperatorAccess().getRule();
+ }
+
+ //// Intended to be overridden
+ // InfixOperator:
+ //
+ // EssentialOCLInfixOperator;
+ public EssentialOCLGrammarAccess.InfixOperatorElements getInfixOperatorAccess() {
+ return gaEssentialOCL.getInfixOperatorAccess();
+ }
+
+ public ParserRule getInfixOperatorRule() {
+ return getInfixOperatorAccess().getRule();
+ }
+
+ //// Intended to be overridden
+ // NavigationOperator:
+ //
+ // EssentialOCLNavigationOperator;
+ public EssentialOCLGrammarAccess.NavigationOperatorElements getNavigationOperatorAccess() {
+ return gaEssentialOCL.getNavigationOperatorAccess();
+ }
+
+ public ParserRule getNavigationOperatorRule() {
+ return getNavigationOperatorAccess().getRule();
+ }
+
+ ////---------------------------------------------------------------------
+ // // Names
+ //
+ //
+ ////---------------------------------------------------------------------
+ // EssentialOCLUnrestrictedName returns
+ //
+ //ecore::EString:
+ //
+ // Identifier;
+ public EssentialOCLGrammarAccess.EssentialOCLUnrestrictedNameElements getEssentialOCLUnrestrictedNameAccess() {
+ return gaEssentialOCL.getEssentialOCLUnrestrictedNameAccess();
+ }
+
+ public ParserRule getEssentialOCLUnrestrictedNameRule() {
+ return getEssentialOCLUnrestrictedNameAccess().getRule();
+ }
+
+ //EssentialOCLUnreservedName returns ecore::EString:
+ //
+ // UnrestrictedName | CollectionTypeIdentifier | PrimitiveTypeIdentifier | "Tuple";
+ public EssentialOCLGrammarAccess.EssentialOCLUnreservedNameElements getEssentialOCLUnreservedNameAccess() {
+ return gaEssentialOCL.getEssentialOCLUnreservedNameAccess();
+ }
+
+ public ParserRule getEssentialOCLUnreservedNameRule() {
+ return getEssentialOCLUnreservedNameAccess().getRule();
+ }
+
+ //// Intended to be overridden
+ // UnreservedName returns ecore::EString:
+ //
+ // EssentialOCLUnreservedName;
+ public EssentialOCLGrammarAccess.UnreservedNameElements getUnreservedNameAccess() {
+ return gaEssentialOCL.getUnreservedNameAccess();
+ }
+
+ public ParserRule getUnreservedNameRule() {
+ return getUnreservedNameAccess().getRule();
+ }
+
+ //PathNameCS returns base::PathNameCS:
+ //
+ // path+=FirstPathElementCS ("::" path+=NextPathElementCS)*;
+ public EssentialOCLGrammarAccess.PathNameCSElements getPathNameCSAccess() {
+ return gaEssentialOCL.getPathNameCSAccess();
+ }
+
+ public ParserRule getPathNameCSRule() {
+ return getPathNameCSAccess().getRule();
+ }
+
+ //FirstPathElementCS returns base::PathElementCS:
+ //
+ // element=[pivot::NamedElement|UnrestrictedName];
+ public EssentialOCLGrammarAccess.FirstPathElementCSElements getFirstPathElementCSAccess() {
+ return gaEssentialOCL.getFirstPathElementCSAccess();
+ }
+
+ public ParserRule getFirstPathElementCSRule() {
+ return getFirstPathElementCSAccess().getRule();
+ }
+
+ //NextPathElementCS returns base::PathElementCS:
+ //
+ // element=[pivot::NamedElement|UnreservedName];
+ public EssentialOCLGrammarAccess.NextPathElementCSElements getNextPathElementCSAccess() {
+ return gaEssentialOCL.getNextPathElementCSAccess();
+ }
+
+ public ParserRule getNextPathElementCSRule() {
+ return getNextPathElementCSAccess().getRule();
+ }
+
+ ////---------------------------------------------------------------------
+ // // Types
+ //
+ //
+ ////---------------------------------------------------------------------
+ // PrimitiveTypeIdentifier:
+ //
+ // "Boolean" | "Integer" | "Real" | "String" | "UnlimitedNatural" | "OclAny" | "OclInvalid" | "OclVoid";
+ public EssentialOCLGrammarAccess.PrimitiveTypeIdentifierElements getPrimitiveTypeIdentifierAccess() {
+ return gaEssentialOCL.getPrimitiveTypeIdentifierAccess();
+ }
+
+ public ParserRule getPrimitiveTypeIdentifierRule() {
+ return getPrimitiveTypeIdentifierAccess().getRule();
+ }
+
+ //PrimitiveTypeCS returns base::PrimitiveTypeRefCS:
+ //
+ // name=PrimitiveTypeIdentifier;
+ public EssentialOCLGrammarAccess.PrimitiveTypeCSElements getPrimitiveTypeCSAccess() {
+ return gaEssentialOCL.getPrimitiveTypeCSAccess();
+ }
+
+ public ParserRule getPrimitiveTypeCSRule() {
+ return getPrimitiveTypeCSAccess().getRule();
+ }
+
+ //CollectionTypeIdentifier returns ecore::EString:
+ //
+ // "Set" | "Bag" | "Sequence" | "Collection" | "OrderedSet";
+ public EssentialOCLGrammarAccess.CollectionTypeIdentifierElements getCollectionTypeIdentifierAccess() {
+ return gaEssentialOCL.getCollectionTypeIdentifierAccess();
+ }
+
+ public ParserRule getCollectionTypeIdentifierRule() {
+ return getCollectionTypeIdentifierAccess().getRule();
+ }
+
+ //CollectionTypeCS:
+ //
+ // name=CollectionTypeIdentifier ("(" ownedType=TypeExpCS ")")?;
+ public EssentialOCLGrammarAccess.CollectionTypeCSElements getCollectionTypeCSAccess() {
+ return gaEssentialOCL.getCollectionTypeCSAccess();
+ }
+
+ public ParserRule getCollectionTypeCSRule() {
+ return getCollectionTypeCSAccess().getRule();
+ }
+
+ //MultiplicityBoundsCS returns base::MultiplicityBoundsCS:
+ //
+ // lowerBound=LOWER (".." upperBound=UPPER)?;
+ public EssentialOCLGrammarAccess.MultiplicityBoundsCSElements getMultiplicityBoundsCSAccess() {
+ return gaEssentialOCL.getMultiplicityBoundsCSAccess();
+ }
+
+ public ParserRule getMultiplicityBoundsCSRule() {
+ return getMultiplicityBoundsCSAccess().getRule();
+ }
+
+ //MultiplicityCS returns base::MultiplicityCS:
+ //
+ // "[" (MultiplicityBoundsCS | MultiplicityStringCS) "]";
+ public EssentialOCLGrammarAccess.MultiplicityCSElements getMultiplicityCSAccess() {
+ return gaEssentialOCL.getMultiplicityCSAccess();
+ }
+
+ public ParserRule getMultiplicityCSRule() {
+ return getMultiplicityCSAccess().getRule();
+ }
+
+ //MultiplicityStringCS returns base::MultiplicityStringCS:
+ //
+ // stringBounds=("*" | "+" | "?");
+ public EssentialOCLGrammarAccess.MultiplicityStringCSElements getMultiplicityStringCSAccess() {
+ return gaEssentialOCL.getMultiplicityStringCSAccess();
+ }
+
+ public ParserRule getMultiplicityStringCSRule() {
+ return getMultiplicityStringCSAccess().getRule();
+ }
+
+ //TupleTypeCS returns base::TupleTypeCS:
+ //
+ // name="Tuple" ("(" (ownedParts+=TuplePartCS ("," ownedParts+=TuplePartCS)*)? ")")?;
+ public EssentialOCLGrammarAccess.TupleTypeCSElements getTupleTypeCSAccess() {
+ return gaEssentialOCL.getTupleTypeCSAccess();
+ }
+
+ public ParserRule getTupleTypeCSRule() {
+ return getTupleTypeCSAccess().getRule();
+ }
+
+ //TuplePartCS returns base::TuplePartCS:
+ //
+ // name=UnrestrictedName ":" ownedType=TypeExpCS;
+ public EssentialOCLGrammarAccess.TuplePartCSElements getTuplePartCSAccess() {
+ return gaEssentialOCL.getTuplePartCSAccess();
+ }
+
+ public ParserRule getTuplePartCSRule() {
+ return getTuplePartCSAccess().getRule();
+ }
+
+ ////---------------------------------------------------------------------
+ // // Literals
+ //
+ //
+ ////---------------------------------------------------------------------
+ // CollectionLiteralExpCS:
+ //
+ // ownedType=CollectionTypeCS "{" (ownedParts+=CollectionLiteralPartCS ("," ownedParts+=CollectionLiteralPartCS)*)? "}";
+ public EssentialOCLGrammarAccess.CollectionLiteralExpCSElements getCollectionLiteralExpCSAccess() {
+ return gaEssentialOCL.getCollectionLiteralExpCSAccess();
+ }
+
+ public ParserRule getCollectionLiteralExpCSRule() {
+ return getCollectionLiteralExpCSAccess().getRule();
+ }
+
+ //CollectionLiteralPartCS:
+ //
+ // expressionCS=ExpCS (".." lastExpressionCS=ExpCS)?;
+ public EssentialOCLGrammarAccess.CollectionLiteralPartCSElements getCollectionLiteralPartCSAccess() {
+ return gaEssentialOCL.getCollectionLiteralPartCSAccess();
+ }
+
+ public ParserRule getCollectionLiteralPartCSRule() {
+ return getCollectionLiteralPartCSAccess().getRule();
+ }
+
+ //ConstructorPartCS:
+ //
+ // property=[pivot::Property|UnrestrictedName] "=" initExpression=ExpCS;
+ public EssentialOCLGrammarAccess.ConstructorPartCSElements getConstructorPartCSAccess() {
+ return gaEssentialOCL.getConstructorPartCSAccess();
+ }
+
+ public ParserRule getConstructorPartCSRule() {
+ return getConstructorPartCSAccess().getRule();
+ }
+
+ //PrimitiveLiteralExpCS:
+ //
+ // NumberLiteralExpCS | StringLiteralExpCS | BooleanLiteralExpCS | UnlimitedNaturalLiteralExpCS | InvalidLiteralExpCS |
+ //
+ // NullLiteralExpCS;
+ public EssentialOCLGrammarAccess.PrimitiveLiteralExpCSElements getPrimitiveLiteralExpCSAccess() {
+ return gaEssentialOCL.getPrimitiveLiteralExpCSAccess();
+ }
+
+ public ParserRule getPrimitiveLiteralExpCSRule() {
+ return getPrimitiveLiteralExpCSAccess().getRule();
+ }
+
+ //TupleLiteralExpCS:
+ //
+ // "Tuple" "{" ownedParts+=TupleLiteralPartCS ("," ownedParts+=TupleLiteralPartCS)* "}";
+ public EssentialOCLGrammarAccess.TupleLiteralExpCSElements getTupleLiteralExpCSAccess() {
+ return gaEssentialOCL.getTupleLiteralExpCSAccess();
+ }
+
+ public ParserRule getTupleLiteralExpCSRule() {
+ return getTupleLiteralExpCSAccess().getRule();
+ }
+
+ //TupleLiteralPartCS:
+ //
+ // name=UnrestrictedName (":" ownedType=TypeExpCS)? "=" initExpression=ExpCS;
+ public EssentialOCLGrammarAccess.TupleLiteralPartCSElements getTupleLiteralPartCSAccess() {
+ return gaEssentialOCL.getTupleLiteralPartCSAccess();
+ }
+
+ public ParserRule getTupleLiteralPartCSRule() {
+ return getTupleLiteralPartCSAccess().getRule();
+ }
+
+ //NumberLiteralExpCS:
+ //
+ // name=NUMBER_LITERAL;
+ public EssentialOCLGrammarAccess.NumberLiteralExpCSElements getNumberLiteralExpCSAccess() {
+ return gaEssentialOCL.getNumberLiteralExpCSAccess();
+ }
+
+ public ParserRule getNumberLiteralExpCSRule() {
+ return getNumberLiteralExpCSAccess().getRule();
+ }
+
+ //StringLiteralExpCS:
+ //
+ // name+=StringLiteral+;
+ public EssentialOCLGrammarAccess.StringLiteralExpCSElements getStringLiteralExpCSAccess() {
+ return gaEssentialOCL.getStringLiteralExpCSAccess();
+ }
+
+ public ParserRule getStringLiteralExpCSRule() {
+ return getStringLiteralExpCSAccess().getRule();
+ }
+
+ //BooleanLiteralExpCS:
+ //
+ // name="true" | name="false";
+ public EssentialOCLGrammarAccess.BooleanLiteralExpCSElements getBooleanLiteralExpCSAccess() {
+ return gaEssentialOCL.getBooleanLiteralExpCSAccess();
+ }
+
+ public ParserRule getBooleanLiteralExpCSRule() {
+ return getBooleanLiteralExpCSAccess().getRule();
+ }
+
+ //UnlimitedNaturalLiteralExpCS:
+ //
+ // {UnlimitedNaturalLiteralExpCS} "*";
+ public EssentialOCLGrammarAccess.UnlimitedNaturalLiteralExpCSElements getUnlimitedNaturalLiteralExpCSAccess() {
+ return gaEssentialOCL.getUnlimitedNaturalLiteralExpCSAccess();
+ }
+
+ public ParserRule getUnlimitedNaturalLiteralExpCSRule() {
+ return getUnlimitedNaturalLiteralExpCSAccess().getRule();
+ }
+
+ //InvalidLiteralExpCS:
+ //
+ // {InvalidLiteralExpCS} "invalid";
+ public EssentialOCLGrammarAccess.InvalidLiteralExpCSElements getInvalidLiteralExpCSAccess() {
+ return gaEssentialOCL.getInvalidLiteralExpCSAccess();
+ }
+
+ public ParserRule getInvalidLiteralExpCSRule() {
+ return getInvalidLiteralExpCSAccess().getRule();
+ }
+
+ //NullLiteralExpCS:
+ //
+ // {NullLiteralExpCS} "null";
+ public EssentialOCLGrammarAccess.NullLiteralExpCSElements getNullLiteralExpCSAccess() {
+ return gaEssentialOCL.getNullLiteralExpCSAccess();
+ }
+
+ public ParserRule getNullLiteralExpCSRule() {
+ return getNullLiteralExpCSAccess().getRule();
+ }
+
+ //TypeLiteralCS returns base::TypedRefCS:
+ //
+ // PrimitiveTypeCS | CollectionTypeCS | TupleTypeCS;
+ public EssentialOCLGrammarAccess.TypeLiteralCSElements getTypeLiteralCSAccess() {
+ return gaEssentialOCL.getTypeLiteralCSAccess();
+ }
+
+ public ParserRule getTypeLiteralCSRule() {
+ return getTypeLiteralCSAccess().getRule();
+ }
+
+ //TypeLiteralExpCS:
+ //
+ // ownedType=TypeLiteralCS;
+ public EssentialOCLGrammarAccess.TypeLiteralExpCSElements getTypeLiteralExpCSAccess() {
+ return gaEssentialOCL.getTypeLiteralExpCSAccess();
+ }
+
+ public ParserRule getTypeLiteralExpCSRule() {
+ return getTypeLiteralExpCSAccess().getRule();
+ }
+
+ //TypeNameExpCS:
+ //
+ // pathName=PathNameCS;
+ public EssentialOCLGrammarAccess.TypeNameExpCSElements getTypeNameExpCSAccess() {
+ return gaEssentialOCL.getTypeNameExpCSAccess();
+ }
+
+ public ParserRule getTypeNameExpCSRule() {
+ return getTypeNameExpCSAccess().getRule();
+ }
+
+ //TypeExpCS returns base::TypedRefCS:
+ //
+ // (TypeNameExpCS | TypeLiteralCS) multiplicity=MultiplicityCS?;
+ public EssentialOCLGrammarAccess.TypeExpCSElements getTypeExpCSAccess() {
+ return gaEssentialOCL.getTypeExpCSAccess();
+ }
+
+ public ParserRule getTypeExpCSRule() {
+ return getTypeExpCSAccess().getRule();
+ }
+
+ ////---------------------------------------------------------------------
+ // // Expressions
+ //
+ //
+ ////---------------------------------------------------------------------
+ //
+ //
+ //// An ExpCS permits a LetExpCS only in the final term to ensure
+ //
+ //
+ //// that let is right associative, whereas infix operators are left associative.
+ //
+ //
+ //// a = 64 / 16 / let b : Integer in 8 / let c : Integer in 4
+ // // is
+ //
+ //
+ //// a = (64 / 16) / (let b : Integer in 8 / (let c : Integer in 4 ))
+ // ExpCS:
+ //
+ // {InfixExpCS} (ownedExpression+=PrefixedExpCS ownedOperator+=BinaryOperatorCS)+ ownedExpression+=PrefixedExpOrLetExpCS
+ //
+ // | {PrefixExpCS} ownedOperator+=UnaryOperatorCS+ ownedExpression=PrimaryExpOrLetExpCS | PrimaryExpOrLetExpCS;
+ public EssentialOCLGrammarAccess.ExpCSElements getExpCSAccess() {
+ return gaEssentialOCL.getExpCSAccess();
+ }
+
+ public ParserRule getExpCSRule() {
+ return getExpCSAccess().getRule();
+ }
+
+ //BinaryOperatorCS:
+ //
+ // InfixOperatorCS | NavigationOperatorCS;
+ public EssentialOCLGrammarAccess.BinaryOperatorCSElements getBinaryOperatorCSAccess() {
+ return gaEssentialOCL.getBinaryOperatorCSAccess();
+ }
+
+ public ParserRule getBinaryOperatorCSRule() {
+ return getBinaryOperatorCSAccess().getRule();
+ }
+
+ //InfixOperatorCS returns BinaryOperatorCS:
+ //
+ // name=InfixOperator;
+ public EssentialOCLGrammarAccess.InfixOperatorCSElements getInfixOperatorCSAccess() {
+ return gaEssentialOCL.getInfixOperatorCSAccess();
+ }
+
+ public ParserRule getInfixOperatorCSRule() {
+ return getInfixOperatorCSAccess().getRule();
+ }
+
+ //NavigationOperatorCS:
+ //
+ // name=NavigationOperator;
+ public EssentialOCLGrammarAccess.NavigationOperatorCSElements getNavigationOperatorCSAccess() {
+ return gaEssentialOCL.getNavigationOperatorCSAccess();
+ }
+
+ public ParserRule getNavigationOperatorCSRule() {
+ return getNavigationOperatorCSAccess().getRule();
+ }
+
+ //PrefixedExpCS returns ExpCS:
+ //
+ // PrimaryExpCS | {PrefixExpCS} ownedOperator+=UnaryOperatorCS+ ownedExpression=PrimaryExpCS;
+ public EssentialOCLGrammarAccess.PrefixedExpCSElements getPrefixedExpCSAccess() {
+ return gaEssentialOCL.getPrefixedExpCSAccess();
+ }
+
+ public ParserRule getPrefixedExpCSRule() {
+ return getPrefixedExpCSAccess().getRule();
+ }
+
+ //PrefixedExpOrLetExpCS returns ExpCS:
+ //
+ // PrimaryExpOrLetExpCS | {PrefixExpCS} ownedOperator+=UnaryOperatorCS+ ownedExpression=PrimaryExpOrLetExpCS;
+ public EssentialOCLGrammarAccess.PrefixedExpOrLetExpCSElements getPrefixedExpOrLetExpCSAccess() {
+ return gaEssentialOCL.getPrefixedExpOrLetExpCSAccess();
+ }
+
+ public ParserRule getPrefixedExpOrLetExpCSRule() {
+ return getPrefixedExpOrLetExpCSAccess().getRule();
+ }
+
+ //UnaryOperatorCS:
+ //
+ // name=PrefixOperator;
+ public EssentialOCLGrammarAccess.UnaryOperatorCSElements getUnaryOperatorCSAccess() {
+ return gaEssentialOCL.getUnaryOperatorCSAccess();
+ }
+
+ public ParserRule getUnaryOperatorCSRule() {
+ return getUnaryOperatorCSAccess().getRule();
+ }
+
+ //// These rules are ordered most rejectable first
+ // PrimaryExpCS returns ExpCS:
+ //
+ // {IndexExpCS} pathName=PathNameCS "[" firstIndexes+=ExpCS ("," firstIndexes+=ExpCS)* "]" ("[" secondIndexes+=ExpCS
+ //
+ // ("," secondIndexes+=ExpCS)* "]")? (atPre?="@" "pre")? | {ConstructorExpCS} pathName=PathNameCS "{"
+ //
+ // ownedParts+=ConstructorPartCS ("," ownedParts+=ConstructorPartCS)* "}" | {InvocationExpCS} pathName=PathNameCS
+ //
+ // (atPre?="@" "pre")? "(" (argument+=NavigatingArgCS argument+=NavigatingCommaArgCS* (argument+=NavigatingSemiArgCS
+ //
+ // argument+=NavigatingCommaArgCS*)? (argument+=NavigatingBarArgCS argument+=NavigatingCommaArgCS*)?)? ")" | {NameExpCS}
+ //
+ // pathName=PathNameCS (atPre?="@" "pre")? | SelfExpCS | PrimitiveLiteralExpCS | TupleLiteralExpCS |
+ //
+ // CollectionLiteralExpCS | TypeLiteralExpCS | IfExpCS | NestedExpCS;
+ public EssentialOCLGrammarAccess.PrimaryExpCSElements getPrimaryExpCSAccess() {
+ return gaEssentialOCL.getPrimaryExpCSAccess();
+ }
+
+ public ParserRule getPrimaryExpCSRule() {
+ return getPrimaryExpCSAccess().getRule();
+ }
+
+ //PrimaryExpOrLetExpCS returns ExpCS:
+ //
+ // PrimaryExpCS | LetExpCS;
+ public EssentialOCLGrammarAccess.PrimaryExpOrLetExpCSElements getPrimaryExpOrLetExpCSAccess() {
+ return gaEssentialOCL.getPrimaryExpOrLetExpCSAccess();
+ }
+
+ public ParserRule getPrimaryExpOrLetExpCSRule() {
+ return getPrimaryExpOrLetExpCSAccess().getRule();
+ }
+
+ //// Type-less init is an illegal infix expression
+ // NavigatingArgCS:
+ //
+ // name=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?;
+ public EssentialOCLGrammarAccess.NavigatingArgCSElements getNavigatingArgCSAccess() {
+ return gaEssentialOCL.getNavigatingArgCSAccess();
+ }
+
+ public ParserRule getNavigatingArgCSRule() {
+ return getNavigatingArgCSAccess().getRule();
+ }
+
+ //// Type-less init is an illegal infix expression
+ // NavigatingBarArgCS returns NavigatingArgCS:
+ //
+ // prefix="|" name=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?;
+ public EssentialOCLGrammarAccess.NavigatingBarArgCSElements getNavigatingBarArgCSAccess() {
+ return gaEssentialOCL.getNavigatingBarArgCSAccess();
+ }
+
+ public ParserRule getNavigatingBarArgCSRule() {
+ return getNavigatingBarArgCSAccess().getRule();
+ }
+
+ //// Type-less init is an illegal infix expression
+ // NavigatingCommaArgCS returns NavigatingArgCS:
+ //
+ // prefix="," name=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?;
+ public EssentialOCLGrammarAccess.NavigatingCommaArgCSElements getNavigatingCommaArgCSAccess() {
+ return gaEssentialOCL.getNavigatingCommaArgCSAccess();
+ }
+
+ public ParserRule getNavigatingCommaArgCSRule() {
+ return getNavigatingCommaArgCSAccess().getRule();
+ }
+
+ //// Type-less init is an illegal infix expression
+ // NavigatingSemiArgCS returns NavigatingArgCS:
+ //
+ // prefix=";" name=NavigatingArgExpCS (":" ownedType=TypeExpCS ("=" init=ExpCS)?)?;
+ public EssentialOCLGrammarAccess.NavigatingSemiArgCSElements getNavigatingSemiArgCSAccess() {
+ return gaEssentialOCL.getNavigatingSemiArgCSAccess();
+ }
+
+ public ParserRule getNavigatingSemiArgCSRule() {
+ return getNavigatingSemiArgCSAccess().getRule();
+ }
+
+ //// Intended to be overridden
+ // // '?' -- defined by Complete OCL
+ // NavigatingArgExpCS returns ExpCS:
+ //
+ // ExpCS;
+ public EssentialOCLGrammarAccess.NavigatingArgExpCSElements getNavigatingArgExpCSAccess() {
+ return gaEssentialOCL.getNavigatingArgExpCSAccess();
+ }
+
+ public ParserRule getNavigatingArgExpCSRule() {
+ return getNavigatingArgExpCSAccess().getRule();
+ }
+
+ //IfExpCS:
+ //
+ // "if" condition=ExpCS "then" thenExpression=ExpCS "else" elseExpression=ExpCS "endif";
+ public EssentialOCLGrammarAccess.IfExpCSElements getIfExpCSAccess() {
+ return gaEssentialOCL.getIfExpCSAccess();
+ }
+
+ public ParserRule getIfExpCSRule() {
+ return getIfExpCSAccess().getRule();
+ }
+
+ //LetExpCS:
+ //
+ // "let" variable+=LetVariableCS ("," variable+=LetVariableCS)* "in" in=ExpCS;
+ public EssentialOCLGrammarAccess.LetExpCSElements getLetExpCSAccess() {
+ return gaEssentialOCL.getLetExpCSAccess();
+ }
+
+ public ParserRule getLetExpCSRule() {
+ return getLetExpCSAccess().getRule();
+ }
+
+ //LetVariableCS:
+ //
+ // name=UnrestrictedName (":" ownedType=TypeExpCS)? "=" initExpression=ExpCS;
+ public EssentialOCLGrammarAccess.LetVariableCSElements getLetVariableCSAccess() {
+ return gaEssentialOCL.getLetVariableCSAccess();
+ }
+
+ public ParserRule getLetVariableCSRule() {
+ return getLetVariableCSAccess().getRule();
+ }
+
+ //NestedExpCS:
+ //
+ // "(" source=ExpCS ")";
+ public EssentialOCLGrammarAccess.NestedExpCSElements getNestedExpCSAccess() {
+ return gaEssentialOCL.getNestedExpCSAccess();
+ }
+
+ public ParserRule getNestedExpCSRule() {
+ return getNestedExpCSAccess().getRule();
+ }
+
+ //SelfExpCS:
+ //
+ // {SelfExpCS} "self";
+ public EssentialOCLGrammarAccess.SelfExpCSElements getSelfExpCSAccess() {
+ return gaEssentialOCL.getSelfExpCSAccess();
+ }
+
+ public ParserRule getSelfExpCSRule() {
+ return getSelfExpCSAccess().getRule();
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/validation/AbstractQVTrelationJavaValidator.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/validation/AbstractQVTrelationJavaValidator.java
new file mode 100644
index 000000000..658358722
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src-gen/org/eclipse/qvtd/xtext/qvtrelation/validation/AbstractQVTrelationJavaValidator.java
@@ -0,0 +1,22 @@
+package org.eclipse.qvtd.xtext.qvtrelation.validation;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.ocl.examples.xtext.essentialocl.validation.EssentialOCLJavaValidator;
+import org.eclipse.xtext.validation.ComposedChecks;
+
+@ComposedChecks(validators= {org.eclipse.xtext.validation.ImportUriValidator.class})
+public class AbstractQVTrelationJavaValidator extends EssentialOCLJavaValidator {
+
+ @Override
+ protected List<EPackage> getEPackages() {
+ List<EPackage> result = new ArrayList<EPackage>();
+ result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/qvt/0.9/QVTrelationCST"));
+ result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/ocl/3.1.0/EssentialOCLCST"));
+ result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/ocl/3.1.0/BaseCST"));
+ return result;
+ }
+
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/QVTrelation.xtext b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/QVTrelation.xtext
new file mode 100644
index 000000000..e6b9873c1
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/QVTrelation.xtext
@@ -0,0 +1,123 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2011 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ */
+grammar org.eclipse.qvtd.xtext.qvtrelation.QVTrelation with org.eclipse.ocl.examples.xtext.essentialocl.EssentialOCL
+
+import "http://www.eclipse.org/emf/2002/Ecore" as ecore
+import "platform:/resource/org.eclipse.ocl.examples.xtext.base/model/BaseCST.ecore" as base
+import "platform:/resource/org.eclipse.ocl.examples.xtext.essentialocl/model/EssentialOCLCST.ecore" as essentialocl
+import "platform:/resource/org.eclipse.ocl.examples.pivot/model/Pivot.ecore" as pivot
+import "platform:/resource/org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore" as qvtbase
+import "platform:/resource/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore" as qvtrelation
+import "platform:/resource/org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore"
+
+TopLevelCS: ('import' importClause+=UnitCS ';' )* transformation+=TransformationCS*;
+
+UnitCS: identifier+=[pivot::Element|UnrestrictedName] ('.' identifier+=[pivot::Element|UnrestrictedName])*;
+
+TransformationCS: 'transformation' name=UnrestrictedName
+ '(' modelDecl+=ModelDeclCS (',' modelDecl+=ModelDeclCS)* ')'
+ ('extends' extends+=[qvtbase::Transformation|UnrestrictedName] (',' extends+=[qvtbase::Transformation|UnrestrictedName])*)?
+ '{' keyDecl+=KeyDeclCS* ( relation+=RelationCS | query+=QueryCS )* '}';
+
+ModelDeclCS: name=UnrestrictedName ':' (metaModelId+=[pivot::Package|UnrestrictedName]
+ | '{' metaModelId+=[pivot::Package|UnrestrictedName] (',' metaModelId+=[pivot::Package|UnrestrictedName])* '}');
+
+KeyDeclCS: 'key' pathName=PathNameCS '{' propertyId+=[pivot::Property|UnrestrictedName] (',' propertyId+=[pivot::Property|UnrestrictedName])* '}' ';';
+
+RelationCS: top?='top'? 'relation' name=UnrestrictedName
+ ('overrides' overrides=[qvtrelation::Relation|UnrestrictedName])?
+ '{'
+ varDeclaration+=VarDeclarationCS*
+ (domain+=DomainCS | domain+=PrimitiveTypeDomainCS)+
+ when=WhenCS? where=WhereCS?
+ '}';
+WhenCS: {WhenCS} 'when' '{' (expr+=ExpCS ';')* '}';
+WhereCS: {WhereCS} 'where' '{' (expr+=ExpCS ';')* '}';
+
+VarDeclarationCS: varDeclarationId+=[pivot::Property|UnrestrictedName] (',' varDeclarationId+=[pivot::Property|UnrestrictedName])* ':' type=TypedRefCS ';';
+
+DomainCS: (checkonly?='checkonly' | enforce?='enforce')? 'domain' modelId=[qvtbase::TypedModel|UnrestrictedName] template=TemplateCS
+ ('implementedby' implementedBy=ExpCS)?
+ ('default_values' '{' (defaultValue+=DefaultValueCS)+ '}')?
+ ';';
+
+PrimitiveTypeDomainCS: 'primitive' 'domain' name=UnrestrictedName ':' type=TypedRefCS ';';
+
+TemplateCS: (ObjectTemplateCS | CollectionTemplateCS) ('{' guardExpression=ExpCS '}')?;
+
+ObjectTemplateCS: propertyId=[pivot::Property|UnrestrictedName]? ':' type=TypedRefCS
+ '{' (propertyTemplate+=PropertyTemplateCS (',' propertyTemplate+=PropertyTemplateCS)*)? '}';
+
+PropertyTemplateCS: propertyId=[pivot::Property|UnrestrictedName] '=' oclExpression=ExpCS;
+
+CollectionTemplateCS: propertyId=[pivot::Property|UnrestrictedName]? ':' type=CollectionTypedRefCS
+ '{' (memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS)
+ (',' memberIdentifier+=(NameExpCS | TemplateCS | AnyElementCS))*
+ '++' restIdentifier=(NameExpCS | AnyElementCS)?
+ )? '}';
+
+NameExpCS returns essentialocl::NameExpCS: pathName=PathNameCS;
+
+AnyElementCS: {AnyElementCS} '_';
+
+DefaultValueCS: propertyId=[pivot::Property|UnrestrictedName] '=' initialiser=ExpCS ';';
+
+QueryCS: 'query' pathName=PathNameCS
+ '(' (inputParamDeclaration+=ParamDeclarationCS (',' inputParamDeclaration+=ParamDeclarationCS)*)? ')'
+ ':' type=TypedRefCS
+ (';' | '{' oclExpression=ExpCS '}');
+
+ParamDeclarationCS: name=UnrestrictedName ':' type=TypedRefCS;
+
+//<OclExpressionCS> ::= <PropertyCallExpCS>
+// | <VariableExpCS>
+// | <LiteralExpCS>
+// | <LetExpCS>
+// | <IfExpCS>
+// | '(' <OclExpressionCS> ')'
+// | <template>
+// notNameExpressionCS -> templateCS
+
+CollectionTypedRefCS returns base::TypedTypeRefCS: pathName=PathNameCS;
+
+TypedRefCS returns base::TypedTypeRefCS: pathName=PathNameCS;
+
+//ExpCS returns essentialocl::ExpCS:
+// InfixedExpCS
+//| TemplateCS;
+
+UnrestrictedName returns ecore::EString:
+ EssentialOCLUnrestrictedName
+| 'checkonly'
+| 'default_values'
+| 'domain'
+| 'enforce'
+| 'extends'
+| 'implementedby'
+| 'import'
+| 'key'
+| 'overrides'
+| 'primitive'
+| 'query'
+| 'relation'
+| 'replace'
+| 'top'
+| 'transformation'
+| 'when'
+| 'where'
+;
+//-- relationIdentifier -> '_'
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationRuntimeModule.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationRuntimeModule.java
new file mode 100644
index 000000000..9e9786e59
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationRuntimeModule.java
@@ -0,0 +1,11 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.qvtd.xtext.qvtrelation;
+
+/**
+ * Use this class to register components to be used at runtime / without the Equinox extension registry.
+ */
+public class QVTrelationRuntimeModule extends org.eclipse.qvtd.xtext.qvtrelation.AbstractQVTrelationRuntimeModule {
+
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationStandaloneSetup.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationStandaloneSetup.java
new file mode 100644
index 000000000..98c542378
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/QVTrelationStandaloneSetup.java
@@ -0,0 +1,14 @@
+
+package org.eclipse.qvtd.xtext.qvtrelation;
+
+/**
+ * Initialization support for running Xtext languages
+ * without equinox extension registry
+ */
+public class QVTrelationStandaloneSetup extends QVTrelationStandaloneSetupGenerated{
+
+ public static void doSetup() {
+ new QVTrelationStandaloneSetup().createInjectorAndDoEMFRegistration();
+ }
+}
+
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/formatting/QVTrelationFormatter.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/formatting/QVTrelationFormatter.java
new file mode 100644
index 000000000..64fe8503a
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/formatting/QVTrelationFormatter.java
@@ -0,0 +1,27 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.qvtd.xtext.qvtrelation.formatting;
+
+import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter;
+import org.eclipse.xtext.formatting.impl.FormattingConfig;
+
+/**
+ * This class contains custom formatting description.
+ *
+ * see : http://www.eclipse.org/Xtext/documentation/latest/xtext.html#formatting
+ * on how and when to use it
+ *
+ * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example
+ */
+public class QVTrelationFormatter extends AbstractDeclarativeFormatter {
+
+ @Override
+ protected void configureFormatting(FormattingConfig c) {
+// It's usually a good idea to activate the following three statements.
+// They will add and preserve newlines around comments
+// c.setLinewrap(0, 1, 2).before(getGrammarAccess().getSL_COMMENTRule());
+// c.setLinewrap(0, 1, 2).before(getGrammarAccess().getML_COMMENTRule());
+// c.setLinewrap(0, 1, 1).after(getGrammarAccess().getML_COMMENTRule());
+ }
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/scoping/QVTrelationScopeProvider.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/scoping/QVTrelationScopeProvider.java
new file mode 100644
index 000000000..ff405759c
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/scoping/QVTrelationScopeProvider.java
@@ -0,0 +1,17 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.qvtd.xtext.qvtrelation.scoping;
+
+import org.eclipse.ocl.examples.xtext.essentialocl.scoping.EssentialOCLScopeProvider;
+
+/**
+ * This class contains custom scoping description.
+ *
+ * see : http://www.eclipse.org/Xtext/documentation/latest/xtext.html#scoping
+ * on how and when to use it
+ *
+ */
+public class QVTrelationScopeProvider extends EssentialOCLScopeProvider {
+
+}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/validation/QVTrelationJavaValidator.java b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/validation/QVTrelationJavaValidator.java
new file mode 100644
index 000000000..42553be1a
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.xtext.qvtrelation/src/org/eclipse/qvtd/xtext/qvtrelation/validation/QVTrelationJavaValidator.java
@@ -0,0 +1,13 @@
+package org.eclipse.qvtd.xtext.qvtrelation.validation;
+
+
+public class QVTrelationJavaValidator extends AbstractQVTrelationJavaValidator {
+
+// @Check
+// public void checkGreetingStartsWithCapital(Greeting greeting) {
+// if (!Character.isUpperCase(greeting.getName().charAt(0))) {
+// warning("Name should start with a capital", MyDslPackage.Literals.GREETING__NAME);
+// }
+// }
+
+}
diff --git a/releng/org.eclipse.qvtd.build/.launches/GenerateQVTcoreEditor.mwe2.launch b/releng/org.eclipse.qvtd.build/.launches/GenerateQVTcoreEditor.mwe2.launch
index a005b0664..35305e28a 100644
--- a/releng/org.eclipse.qvtd.build/.launches/GenerateQVTcoreEditor.mwe2.launch
+++ b/releng/org.eclipse.qvtd.build/.launches/GenerateQVTcoreEditor.mwe2.launch
@@ -10,5 +10,5 @@
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/qvtd/build/mwe2/GenerateQVTcoreEditor.mwe2"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.qvtd.build"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512M"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx1G"/>
</launchConfiguration>
diff --git a/releng/org.eclipse.qvtd.build/.launches/GenerateQVTrelationEditor.mwe2.launch b/releng/org.eclipse.qvtd.build/.launches/GenerateQVTrelationEditor.mwe2.launch
new file mode 100644
index 000000000..985055cdd
--- /dev/null
+++ b/releng/org.eclipse.qvtd.build/.launches/GenerateQVTrelationEditor.mwe2.launch
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.qvtd.build"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/qvtd/build/mwe2/GenerateQVTrelationEditor.mwe2"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.qvtd.build"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx1G"/>
+</launchConfiguration>
diff --git a/releng/org.eclipse.qvtd.build/META-INF/MANIFEST.MF b/releng/org.eclipse.qvtd.build/META-INF/MANIFEST.MF
index d6be66919..d878fda97 100644
--- a/releng/org.eclipse.qvtd.build/META-INF/MANIFEST.MF
+++ b/releng/org.eclipse.qvtd.build/META-INF/MANIFEST.MF
@@ -27,7 +27,8 @@ Require-Bundle: org.eclipse.xtext,
org.eclipse.qvtd.xtext.qvtcore;bundle-version="0.9.0";visibility:=reexport,
org.eclipse.ocl.examples.build;bundle-version="3.2.0",
org.eclipse.qvtd.pivot.qvtrelation;visibility:=reexport,
- org.eclipse.ocl.examples.xtext.oclstdlib;bundle-version="3.2.0"
+ org.eclipse.ocl.examples.xtext.oclstdlib;bundle-version="3.2.0",
+ org.eclipse.qvtd.xtext.qvtrelation
Import-Package: org.apache.commons.logging,
org.apache.log4j
Bundle-Vendor: %providerName
diff --git a/releng/org.eclipse.qvtd.build/build.acceleo b/releng/org.eclipse.qvtd.build/build.acceleo
index 583f638ff..6b64e1a11 100644
--- a/releng/org.eclipse.qvtd.build/build.acceleo
+++ b/releng/org.eclipse.qvtd.build/build.acceleo
@@ -18,7 +18,7 @@
<acceleoCompiler
sourceFolder="${target.folder}"
outputFolder="${target.folder}"
- dependencies="${target.folder}/../../org.eclipse.qvtd.xtext.qvtcore;${target.folder}/../../org.eclipse.ocl.examples.xtext.essentialocl;${target.folder}/../../org.eclipse.ocl.examples.xtext.base;${target.folder}/../../org.eclipse.ocl.examples.pivot;${target.folder}/../../org.eclipse.ocl.examples.common;${target.folder}/../../org.eclipse.ocl;${target.folder}/../../org.eclipse.ocl.examples.library;${target.folder}/../../org.eclipse.ocl.examples.domain;${target.folder}/../../org.eclipse.qvtd.pivot.qvtcore;${target.folder}/../../org.eclipse.qvtd.pivot.qvtbase;${target.folder}/../../org.eclipse.ocl.examples.build;${target.folder}/../../org.eclipse.ocl.examples.codegen;${target.folder}/../../org.eclipse.ocl.examples.xtext.completeocl;${target.folder}/../../org.eclipse.ocl.examples.xtext.essentialocl.ui;${target.folder}/../../org.eclipse.ocl.examples.xtext.markup.ui;${target.folder}/../../org.eclipse.ocl.examples.xtext.markup;${target.folder}/../../org.eclipse.ocl.examples.xtext.oclinecore;${target.folder}/../../org.eclipse.ocl.examples.xtext.oclstdlib;${target.folder}/../../org.eclipse.ocl.examples.xtext2lpg;${target.folder}/../../org.eclipse.qvtd.pivot.qvtrelation;${target.folder}/../../org.eclipse.qvtd.pivot.qvttemplate;"
+ dependencies="${target.folder}/../../org.eclipse.qvtd.xtext.qvtcore;${target.folder}/../../org.eclipse.ocl.examples.xtext.essentialocl;${target.folder}/../../org.eclipse.ocl.examples.xtext.base;${target.folder}/../../org.eclipse.ocl.examples.pivot;${target.folder}/../../org.eclipse.ocl.examples.common;${target.folder}/../../org.eclipse.ocl;${target.folder}/../../org.eclipse.ocl.examples.library;${target.folder}/../../org.eclipse.ocl.examples.domain;${target.folder}/../../org.eclipse.qvtd.pivot.qvtcore;${target.folder}/../../org.eclipse.qvtd.pivot.qvtbase;${target.folder}/../../org.eclipse.ocl.examples.build;${target.folder}/../../org.eclipse.ocl.examples.codegen;${target.folder}/../../org.eclipse.ocl.examples.xtext.completeocl;${target.folder}/../../org.eclipse.ocl.examples.xtext.essentialocl.ui;${target.folder}/../../org.eclipse.ocl.examples.xtext.markup.ui;${target.folder}/../../org.eclipse.ocl.examples.xtext.markup;${target.folder}/../../org.eclipse.ocl.examples.xtext.oclinecore;${target.folder}/../../org.eclipse.ocl.examples.xtext.oclstdlib;${target.folder}/../../org.eclipse.ocl.examples.xtext2lpg;${target.folder}/../../org.eclipse.qvtd.pivot.qvtrelation;${target.folder}/../../org.eclipse.qvtd.pivot.qvttemplate;${target.folder}/../../org.eclipse.qvtd.xtext.qvtrelation;"
binaryResource="false">
</acceleoCompiler>
</target>
diff --git a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTXtextModels.mwe2 b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTXtextModels.mwe2
index b163caf96..99ecd6586 100644
--- a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTXtextModels.mwe2
+++ b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTXtextModels.mwe2
@@ -63,6 +63,9 @@ Workflow {
component = GenerateModel { resourceSet = resourceSet skipOnErrors = true
genModel = "/org.eclipse.qvtd.xtext.qvtcore/model/QVTcoreCST.genmodel"
}
+ component = GenerateModel { resourceSet = resourceSet skipOnErrors = true
+ genModel = "/org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.genmodel"
+ }
component = XtextVisitorCodeGenerator { resourceSet = resourceSet
ecoreFile = "/org.eclipse.qvtd.xtext.qvtcore/model/QVTcoreCST.ecore"
javaFolder = "/../plugins/org.eclipse.qvtd.xtext.qvtcore/emf-gen"
@@ -72,5 +75,14 @@ Workflow {
visitorBasePackageName = "org.eclipse.ocl.examples.xtext.essentialocl.util"
visitorBaseClassName = "EssentialOCLCSVisitor"
}
+ component = XtextVisitorCodeGenerator { resourceSet = resourceSet
+ ecoreFile = "/org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCST.ecore"
+ javaFolder = "/../plugins/org.eclipse.qvtd.xtext.qvtrelation/emf-gen"
+ javaPackageName = "org.eclipse.qvtd.xtext.qvtrelationcst"
+ modelPackageName = "org.eclipse.qvtd.xtext.qvtrelationcst"
+ visitorClassName = "QVTrelationCSVisitor"
+ visitorBasePackageName = "org.eclipse.ocl.examples.xtext.essentialocl.util"
+ visitorBaseClassName = "EssentialOCLCSVisitor"
+ }
}
diff --git a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTcoreEditor.mwe2 b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTcoreEditor.mwe2
index bd1f41859..d6e765ea3 100644
--- a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTcoreEditor.mwe2
+++ b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTcoreEditor.mwe2
@@ -84,6 +84,7 @@ Workflow {
// }
fragment = parser.antlr.XtextAntlrGeneratorFragment {
options = { backtrack = true classSplitting = true }
+ antlrParam = "-Xconversiontimeout" antlrParam = "10000"
}
// check-based API for validation
@@ -127,6 +128,7 @@ Workflow {
// }
fragment = parser.antlr.XtextAntlrUiGeneratorFragment {
options = { backtrack = true classSplitting = true}
+ antlrParam = "-Xconversiontimeout" antlrParam = "10000"
}
fragment = builder.BuilderIntegrationFragment {}
diff --git a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTrelationEditor.mwe2 b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTrelationEditor.mwe2
new file mode 100644
index 000000000..e0883dbce
--- /dev/null
+++ b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTrelationEditor.mwe2
@@ -0,0 +1,153 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id$
+ *
+ * Run As->MWE2 Workflow to regenerate the editor.
+ * If it fails with a stack dump, open the Xtext file and do
+ * a dummy edit. Generally there is an error in the source file.
+ */
+module GenerateQVTrelationEditor
+
+import org.eclipse.emf.mwe.utils.*
+import org.eclipse.ocl.examples.build.*
+import org.eclipse.xtext.generator.*
+import org.eclipse.xtext.ui.generator.*
+
+var QVTrelation.file.extensions = "qvtr"
+var QVTrelationProjectName = "org.eclipse.qvtd.xtext.qvtrelation"
+var QVTrelationRuntimeProject = "../../plugins/${QVTrelationProjectName}"
+
+/**
+ * Generate the QVTrelation Editor.
+ */
+Workflow {
+ bean = StandaloneSetup {
+ platformUri = "${QVTrelationRuntimeProject}/.."
+ scanClassPath = true
+ uriMap = Mapping {
+ from = "platform:/plugin/org.eclipse.ocl.examples.pivot/"
+ to = "platform:/resource/org.eclipse.ocl.examples.pivot/"
+ }
+ }
+
+ component = DirectoryCleaner {
+ directory = "${QVTrelationRuntimeProject}/src-gen"
+ }
+
+ component = DirectoryCleaner {
+ directory = "${QVTrelationRuntimeProject}.ui/src-gen"
+ }
+
+ component = Generator {
+ pathRtProject = QVTrelationRuntimeProject
+ pathUiProject = "${QVTrelationRuntimeProject}.ui"
+ projectNameRt = QVTrelationProjectName
+ projectNameUi = "${QVTrelationProjectName}.ui"
+ mergeManifest = false
+
+ language = {
+ uri = "classpath:/org/eclipse/qvtd/xtext/qvtrelation/QVTrelation.xtext"
+ fileExtensions = QVTrelation.file.extensions
+
+ // Java API to access grammar elements (required by several other fragments)
+ fragment = grammarAccess.GrammarAccessFragment {}
+
+ // generates Java API for the generated EPackages
+// fragment = ecore.ErelationGeneratorFragment {
+// referencedGenModels = "platform:/resource/org.eclipse.emf.erelation/model/Erelation.genmodel"
+// referencedGenModels = "platform:/resource/org.eclipse.ocl.examples.xtext.essentialocl/model/EssentialOCLCST.genmodel"
+// }
+
+ // the serialization component
+ fragment = parseTreeConstructor.ParseTreeConstructorFragment {}
+
+ // a custom ResourceFactory for use with EMF
+ fragment = resourceFactory.ResourceFactoryFragment {
+ fileExtensions = QVTrelation.file.extensions
+ }
+
+ // the following fragment tries to use the Antlr Generator fragment which can be installed via update manager from http://download.itemis.com/updates/
+// fragment = de.itemis.xtext.antlr.XtextAntlrGeneratorFragment {
+// options = { backtrack = true classSplitting = true }
+// }
+ fragment = parser.antlr.XtextAntlrGeneratorFragment {
+ options = { backtrack = true classSplitting = true }
+ antlrParam = "-Xconversiontimeout" antlrParam = "10000"
+ }
+
+ // check-based API for validation
+ /*
+ fragment = validation.CheckFragment {}
+ */
+
+ // java-based API for validation
+ fragment = validation.JavaValidatorFragment {
+ composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
+// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+ }
+
+ // scoping and exporting API
+ /*
+ fragment = scoping.ImportURIScopingFragment {}
+ fragment = exporting.SimpleNamesFragment {}
+ */
+
+ // scoping and exporting API
+ fragment = scoping.ImportNamespacesScopingFragment {}
+ fragment = exporting.QualifiedNamesFragment {}
+
+ // formatter API
+ fragment = formatting.FormatterFragment {}
+
+ // labeling API
+ fragment = labeling.LabelProviderFragment {}
+
+ // outline API
+// fragment = outline.TransformerFragment {}
+// fragment = outline.OutlineNodeAdapterFactoryFragment {}
+ fragment = outline.OutlineTreeProviderFragment {}
+ fragment = outline.QuickOutlineFragment {}
+
+ // java-based API for content assistance
+ fragment = contentAssist.JavaBasedContentAssistFragment {}
+
+// fragment = de.itemis.xtext.antlr.XtextAntlrGeneratorFragment {
+// options = { backtrack = true classSplitting = true}
+// }
+ fragment = parser.antlr.XtextAntlrUiGeneratorFragment {
+ options = { backtrack = true classSplitting = true}
+ antlrParam = "-Xconversiontimeout" antlrParam = "10000"
+ }
+
+ fragment = builder.BuilderIntegrationFragment {}
+
+ // project wizard (optional)
+ /*
+ fragment = projectWizard.SimpleProjectWizardFragment {
+ generatorProjectName = "${projectName}.generator"
+ modelFileExtension = file.extensions
+ }
+ */
+
+ // quickfix API
+ fragment = quickfix.QuickfixProviderFragment {}
+
+ // EssentialOCL bindings
+ fragment = fragments.EssentialOCLFragment {}
+ // Support Markup in Hover text
+ fragment = fragments.MarkupHoverFragment {}
+ }
+ }
+}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/.classpath b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/.classpath
new file mode 100644
index 000000000..2d1a4302f
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/.project b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/.project
new file mode 100644
index 000000000..2cb8ee1e2
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.qvtd.xtext.qvtcore.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..44217f8c0
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..19aede556
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.qvtd.xtext.qvtcore.tests
+Bundle-Version: 0.9.0.qualifier
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: org.eclipse.ocl.examples.xtext.tests;bundle-version="3.2.0",
+ org.eclipse.qvtd.xtext.qvtcore.ui;bundle-version="0.9.0"
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/about.html b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/about.html
new file mode 100644
index 000000000..1d2734022
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/about.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>About</title>
+</head><body lang="EN-US">
+<h2>About This Content</h2>
+
+<pem>September 21, 2008</em></p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+
+ <h3>Third Party Content</h3>
+ <p>The Content includes items that have been sourced from third parties as set out below. If you
+ did not receive this Content directly from the Eclipse Foundation, the following is provided
+ for informational purposes only, and you should look to the Redistributor's license for
+ terms and conditions of use.</p>
+ <p><em>
+ <br><br>
+ <strong>OMG QVT 1.0 specification (08-04-03)</strong> <br>
+ <ul>
+ <li><a href="http://www.omg.org/spec/QVT/1.0/">QVT 1.0 main page</a></li>
+ <li><a href="http://www.omg.org/docs/formal/08-04-03.pdf">QVT 1.0 specification</a></li>
+ <li><a href="http://www.omg.org/">OMG site</a></li>
+ </ul>
+ <br>
+ </em></p>
+ <p>A detailed list of fixes and clarifications with respect to those specifications may be found in <a href="QVTBaseCompliance.html">QVTBaseCompliance.html</a>.</p>
+</body></html> \ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/build.properties b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/build.properties
new file mode 100644
index 000000000..ebe02751c
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/build.properties
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.properties,\
+ about.html
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/plugin.properties b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/plugin.properties
new file mode 100644
index 000000000..bc7a4a6cd
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/plugin.properties
@@ -0,0 +1,15 @@
+###############################################################################
+# Copyright (c) 2011 Eclipse Modeling Project and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# E.D.Willink - initial API and implementation
+#
+# $Id$
+###############################################################################
+
+pluginName = QVTcore Tests
+providerName = Eclipse Modeling Project
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/LoadTests.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/LoadTests.java
new file mode 100644
index 000000000..d9cb80fd9
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/LoadTests.java
@@ -0,0 +1,129 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2012 E.D.Willink and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.qvtd.xtext.qvtcore.tests;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.ecore.xmi.impl.EMOFResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.ocl.examples.pivot.library.StandardLibraryContribution;
+import org.eclipse.ocl.examples.pivot.manager.MetaModelManager;
+import org.eclipse.ocl.examples.pivot.manager.MetaModelManagerResourceSetAdapter;
+import org.eclipse.ocl.examples.xtext.base.utilities.BaseCSResource;
+import org.eclipse.ocl.examples.xtext.base.utilities.CS2PivotResourceAdapter;
+import org.eclipse.ocl.examples.xtext.tests.XtextTestCase;
+import org.eclipse.qvtd.xtext.qvtcore.QVTcoreStandaloneSetup;
+
+/**
+ * Tests that load a model and verify that there are no unresolved proxies as a result.
+ */
+public class LoadTests extends XtextTestCase
+{
+ protected MetaModelManager metaModelManager = null;
+
+ public Resource doLoad_Concrete(String stem, String extension) throws IOException {
+ String inputName = stem + "." + extension;
+ String cstName = inputName + ".xmi";
+ String pivotName = inputName + ".pivot";
+ String savedName = stem + ".saved." + extension;
+ URI inputURI = getProjectFileURI(inputName);
+ URI cstURI = getProjectFileURI(cstName);
+ URI pivotURI = getProjectFileURI(pivotName);
+ URI savedURI = getProjectFileURI(savedName);
+// MetaModelManager metaModelManager = new MetaModelManager();
+// MetaModelManagerResourceSetAdapter.getAdapter(resourceSet, metaModelManager);
+ CS2PivotResourceAdapter adapter = null;
+ try {
+ BaseCSResource xtextResource = (BaseCSResource) resourceSet.getResource(inputURI, true);
+ assertNoResourceErrors("Load failed", xtextResource);
+ adapter = CS2PivotResourceAdapter.getAdapter(xtextResource, null);
+ Resource pivotResource = adapter.getPivotResource(xtextResource);
+// assertNoUnresolvedProxies("Unresolved proxies", xtextResource);
+ // System.out.println(Long.toString(System.currentTimeMillis() - startTime) + " validate()");
+ //FIXME assertNoValidationErrors("Validation errors", xtextResource.getContents().get(0));
+ // System.out.println(Long.toString(System.currentTimeMillis() - startTime) + " validated()");
+// xtextResource.setURI(savedURI);
+// xtextResource.save(null);
+// xtextResource.setURI(inputURI);
+// assertNoResourceErrors("Save failed", xtextResource);
+ saveAsXMI(xtextResource, cstURI);
+ pivotResource.setURI(pivotURI);
+// assertNoValidationErrors("Pivot validation errors", pivotResource.getContents().get(0));
+ Map<String, Object> options = new HashMap<String, Object>();
+ options.put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+ pivotResource.save(options);
+ return pivotResource;
+ }
+ finally {
+ if (adapter != null) {
+ adapter.dispose();
+ adapter.getMetaModelManager().dispose();
+ }
+ }
+ }
+
+ protected void saveAsXMI(Resource resource, URI xmiURI) throws IOException {
+ ResourceSet resourceSet = new ResourceSetImpl();
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", new XMIResourceFactoryImpl()); //$NON-NLS-1$
+ Resource xmiResource = resourceSet.createResource(xmiURI);
+ xmiResource.getContents().addAll(resource.getContents());
+ Map<String, Object> options = new HashMap<String, Object>();
+// options.put(XMLResource.OPTION_SCHEMA_LOCATION_IMPLEMENTATION, Boolean.TRUE);
+ xmiResource.save(options);
+ assertNoResourceErrors("Save failed", xmiResource);
+ resource.getContents().addAll(xmiResource.getContents());
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ QVTcoreStandaloneSetup.doSetup();
+ configurePlatformResources();
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("emof", new EMOFResourceFactoryImpl()); //$NON-NLS-1$
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("pivot", new XMIResourceFactoryImpl()); //$NON-NLS-1$
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ MetaModelManagerResourceSetAdapter adapter = MetaModelManagerResourceSetAdapter.findAdapter(resourceSet);
+ if (adapter != null) {
+ MetaModelManager metaModelManager = adapter.getMetaModelManager();
+ if (metaModelManager != null) {
+ metaModelManager.dispose();
+ }
+ }
+ if (metaModelManager != null) {
+ metaModelManager.dispose();
+ metaModelManager = null;
+ }
+ StandardLibraryContribution.REGISTRY.remove(MetaModelManager.DEFAULT_OCL_STDLIB_URI);
+ super.tearDown();
+ }
+
+ public void testLoad_expressions_qvtc() throws IOException, InterruptedException {
+ doLoad_Concrete("expressions", "qvtc");
+ }
+
+ public void testLoad_mini_qvtc() throws IOException, InterruptedException {
+ doLoad_Concrete("mini", "qvtc");
+ }
+}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/LexerErrorUnexpectedCharacter.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/LexerErrorUnexpectedCharacter.qvtc
new file mode 100644
index 000000000..54805236c
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/LexerErrorUnexpectedCharacter.qvtc
@@ -0,0 +1 @@
+transformation$ x {}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/ParserErrorNoTxName.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/ParserErrorNoTxName.qvtc
new file mode 100644
index 000000000..438b43b49
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/ParserErrorNoTxName.qvtc
@@ -0,0 +1 @@
+transformation {}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/ParserErrorSplitTx.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/ParserErrorSplitTx.qvtc
new file mode 100644
index 000000000..9de161597
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/ParserErrorSplitTx.qvtc
@@ -0,0 +1 @@
+transfor mation x {}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/Rule4b.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/Rule4b.qvtc
new file mode 100644
index 000000000..e1667adbb
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/Rule4b.qvtc
@@ -0,0 +1,53 @@
+transformation umlRdbms {
+ middle imports tuml2rdbms;
+ uml imports umlMM;
+ rdbms imports rdbmsMM;
+}
+
+map ClassToTable_rdbms in umlRdbms
+{
+ check uml (p:Package) {
+ c: Class|
+ c.namespace = p;
+ c.kind = 'Persistent';
+ }
+ check enforce rdbms (s:Schema) {
+ realize t:Table |
+ t.schema := s;
+ }
+ where middle (v1: TPackageToSchema| v1.p = p; v1.s = s;) {
+ realize v2: TClassToTable, cn:String |
+ v2.p := p;
+ v2.s := s;
+ v2.c := c;
+ v2.t := t;
+ cn := c.name;
+ t.name := cn;
+ }
+ map {
+ check enforce rdbms () {
+ realize cl:Column|
+ t.column := cl;
+ }
+ where () {
+ v2.cl := cl;
+ cl.name := cn+'_tid';
+ }
+ map {
+ where () {
+ cl.type := 'NUMBER';
+ }
+ }
+ }
+ map {
+ check enforce rdbms (cl:Column) {
+ realize k:Key|
+ t.key := k;
+ k.column := cl;
+ }
+ where (v2.cl = cl;) { --** added ;
+ v2.k := k;
+ k.name := cn+'_pk';
+ }
+ }
+} \ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/Rule6.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/Rule6.qvtc
new file mode 100644
index 000000000..56e57f05c
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/Rule6.qvtc
@@ -0,0 +1,35 @@
+transformation umlRdbms {
+ middle imports tuml2rdbms;
+ uml imports umlMM;
+ rdbms imports rdbmsMM;
+}
+
+map AttributeColumn_ClassToTable_rdbms in umlRdbms
+{
+ check uml (c:Class) {
+ a:Attribute, p:PrimitiveDataType|
+ c.attribute = Set{a}; --** added Set{}
+ a.type = p;
+ }
+ check enforce rdbms (t:Table) {
+ realize cl:Column |
+ t.column := cl;
+ }
+ where middle (v1:TClassToTable| v1.c = c; v1.t = t;) {
+ realize v2:TAttributeToColumn, an:String, pn:String, sqlType:String | --** changed AttributeToColumn to TAttributeToColumn
+ v2.c := c;
+ v2.a := a;
+ v2.p := p;
+ v2.t := t;
+ v2.cl := cl;
+ an := a.name;
+ pn := p.name;
+ cl.name := an;
+ sqltype := if (pn ='INTEGER') then 'NUMBER' else 'VARCHAR' endif; --** added ;
+ }
+ map {
+ where () {
+ cl.type := sqlType;
+ }
+ }
+} \ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/TumlRdbms.ecore b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/TumlRdbms.ecore
new file mode 100644
index 000000000..1e6b0697f
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/TumlRdbms.ecore
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="tuml2rdbms"
+ nsPrefix="">
+ <eClassifiers xsi:type="ecore:EClass" name="TClassToTable">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="c" eType="ecore:EClass umlMM.emof#umlMM.Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="p" eType="ecore:EClass umlMM.emof#umlMM.Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="s" eType="ecore:EClass rdbmsMM.emof#rdbmsMM.Schema"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="t" eType="ecore:EClass rdbmsMM.emof#rdbmsMM.Table"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="k" eType="ecore:EClass rdbmsMM.emof#rdbmsMM.Key"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="cl" eType="ecore:EClass rdbmsMM.emof#rdbmsMM.Column"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TPackageToSchema">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="p" eType="ecore:EClass umlMM.emof#umlMM.Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="s" eType="ecore:EClass rdbmsMM.emof#rdbmsMM.Schema"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TAttributeToColumn">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="c" eType="ecore:EClass umlMM.emof#umlMM.Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="p" eType="ecore:EClass umlMM.emof#umlMM.Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="t" eType="ecore:EClass rdbmsMM.emof#rdbmsMM.Table"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="cl" eType="ecore:EClass rdbmsMM.emof#rdbmsMM.Column"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="a" eType="ecore:EClass umlMM.emof#umlMM.Attribute"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/badmaps.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/badmaps.qvtc
new file mode 100644
index 000000000..6ae8f7f51
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/badmaps.qvtc
@@ -0,0 +1,71 @@
+transformation umlRdbms {
+ middle imports tuml2rdbms;
+ uml imports umlMM;
+ rdbms imports rdbmsMM;
+}
+
+map Map0a in umlRdbms refines NoSuchMap
+{
+ check uml (p:Package) {
+ c: Class|
+ c.kind = 'Persistent';
+ }
+ check enforce rdbms () {
+ }
+ where middle (v1: TPackageToSchema| v1.p = p; ) {
+ cn:String |
+ c.name = cn;
+ }
+}
+
+map Map0b in umlRdbms
+{
+ check uml () {
+ creation umlRdbms::q0('a');
+ deletion umlRdbms::q0('a');
+ }
+ check enforce rdbms () {
+ t:Table|
+ }
+ check enforce rdbms () {}
+ where middle () {
+ }
+}
+
+map Map1 in umlRdbms refines Map0a, Map0b
+{
+ check uml () {
+ c.namespace = p;
+ }
+ check enforce rdbms (s:Schema | v1 = null; p = null; v2 = null;) {
+ t.schema = s;
+ }
+ where middle (v1.s = s;) {
+ realize v2: TClassToTable |
+ v2.p := p;
+ v2.s := s;
+ v2.c := c;
+ }
+ map in umlRdbms { -- Error nested scoping
+ where () {
+ t.description := cn;
+ }
+ }
+}
+
+map Map2 in umlRdbms refines Map1
+{
+ check middle () {}
+ where middle () {
+ v2.t := t;
+ t.name = cn;
+ }
+}
+
+map in umlRdbms -- Error no name
+{
+ where middle () {}
+ map BadName { where () {} } -- Error spurious name
+}
+
+query umlRdbms::q0(x:String) : String { null }
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/dependencies.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/dependencies.qvtc
new file mode 100644
index 000000000..4d8073b05
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/dependencies.qvtc
@@ -0,0 +1,227 @@
+transformation Tx {
+ m imports tuml2rdbms;
+ l imports umlMM;
+ r imports rdbmsMM;
+}
+
+map Ma in Tx
+{
+ check l (
+ vMalg2Mal:Class,
+ vMalg2Mam:Class,
+ nMalg2Mar:Class
+ |
+ vMalg2Mal = null;
+ nMalb2Mag = null;
+ nMamg2Mal = null;
+ nMamb2Mal = null;
+ ) {
+ vMalb2Malb:Class,
+ vMalb2Mamb:Class,
+ nMalb2Marb:Class,
+ nMalb2Mag:Class
+ |
+ vMalg2Mal = null;
+ vMalb2Malb = null;
+ nMamg2Mal = null;
+ nMamb2Mal = null;
+ }
+ check enforce r (
+ nMalg2Mar = null;
+ nMalb2Mag = null;
+ ) {
+ nMalg2Mar = null;
+ nMalb2Marb = null;
+ }
+ where m (v1: TPackageToSchema,
+ vMamg2Mam:Class,
+ nMamg2Mal:Class
+ |
+ vMalg2Mam = null;
+ nMalb2Mag = null;
+ vMamg2Mam = null;
+ nMamb2Mamg = null;
+ ) {
+ vMamb2Mamb:Class,
+ nMamb2Mamg:Class,
+ nMamb2Mal:Class
+ |
+ vMalg2Mam = null;
+ vMalb2Mamb = null;
+ vMamg2Mam = null;
+ vMamb2Mamb = null;
+ }
+}
+
+map Mb in Tx
+{
+ check l (
+ vMblg2M2l:Class,
+ vMblg2M2m:Class,
+ nMblg2M2r:Class
+ |
+ nM2mg2Mb = null;
+ nM2mb2Mb = null;
+ nM2lg2Mb = null;
+ nM2lb2Mb = null;
+ ) {
+ vMblb2M2lb:Class,
+ nMblb2M2lg:Class,
+ nMblb2M2r:Class
+ |
+ nM2mg2Mb = null;
+ nM2mb2Mb = null;
+ nM2lg2Mb = null;
+ nM2lb2Mb = null;
+ }
+ check enforce r (
+ nM2mg2Mb = null;
+ nM2mb2Mb = null;
+ nM2lg2Mb = null;
+ nM2lb2Mb = null;
+ ) {
+ nM2mg2Mb = null;
+ nM2mb2Mb = null;
+ nM2lg2Mb = null;
+ nM2lb2Mb = null;
+ }
+ where m (
+ vMbmg2M2m:TClassToTable,
+ nMbmg2M2l:TClassToTable
+ ) {
+ vMbmb2M2mb:TClassToTable,
+ nMbmb2M2mg:TClassToTable
+ }
+}
+
+map M1 in Tx refines Ma, Mb
+{
+ check l (
+ vM1lg2M1cl:Class,
+ vM1lg2M1cm:Class
+ |
+ nM1clg2M1 = null;
+ nM1clb2M1 = null;
+ nM1cmg2M1 = null;
+ nM1cmb2M1 = null;
+ ) {
+ vM1lb2M1cl:Class,
+ vM1lb2M1cm:Class
+ |
+ nM1clg2M1 = null;
+ nM1clb2M1 = null;
+ nM1cmg2M1 = null;
+ nM1cmb2M1 = null;
+ }
+ check enforce r () {}
+ where m (
+ nM1mg2M1cl:Class,
+ vM1mg2M1cm:Class
+ |
+ nM1clg2M1 = null;
+ nM1clb2M1 = null;
+ nM1cmg2M1 = null;
+ nM1cmb2M1 = null;
+ ) {
+ nM1mb2M1cl:Class,
+ vM1mb2M1cm:Class
+ |
+ nM1clg2M1 = null;
+ nM1clb2M1 = null;
+ nM1cmg2M1 = null;
+ nM1cmb2M1 = null;
+ }
+ map {
+ check l (
+ nM1clg2M1:Class
+ |
+ vM1lg2M1cl = null;
+ vM1lb2M1cl = null;
+ nM1mg2M1cl = null;
+ nM1mb2M1cl = null;
+ ) {
+ nM1clb2M1:Class
+ |
+ vM1lg2M1cl = null;
+ vM1lb2M1cl = null;
+ nM1mg2M1cl = null;
+ nM1mb2M1cl = null;
+ }
+ where m (
+ nM1cmg2M1:Class
+ |
+ vM1lg2M1cm = null;
+ vM1lb2M1cm = null;
+ vM1mg2M1cm = null;
+ vM1mb2M1cm = null;
+ ) {
+ nM1cmb2M1:Class
+ |
+ vM1lg2M1cm = null;
+ vM1lb2M1cm = null;
+ vM1mg2M1cm = null;
+ vM1mb2M1cm = null;
+ }
+ }
+ map {
+ check l (
+ nM1clg2M1 = null;
+ nM1clb2M1 = null;
+ nM1cmg2M1 = null;
+ nM1cmb2M1 = null;
+ ) {
+ nM1clg2M1 = null;
+ nM1clb2M1 = null;
+ nM1cmg2M1 = null;
+ nM1cmb2M1 = null;
+ }
+ where m (
+ nM1clg2M1 = null;
+ nM1clb2M1 = null;
+ nM1cmg2M1 = null;
+ nM1cmb2M1 = null;
+ ) {
+ nM1clg2M1 = null;
+ nM1clb2M1 = null;
+ nM1cmg2M1 = null;
+ nM1cmb2M1 = null;
+ }
+ }
+}
+
+map M2 in Tx refines M1
+{
+ check l (
+ nM2lg2Mb:Class
+ |
+ vMblg2M2l = null;
+ nMbmg2M2l = null;
+ nMblb2M2lg = null;
+ ) {
+ nM2lb2Mb:Class
+ |
+ vMblg2M2l = null;
+ nMbmg2M2l = null;
+ vMblb2M2lb = null;
+ }
+ check r (
+ nMblg2M2r = null;
+ nMblb2M2r = null;
+ ) {
+ nMblg2M2r = null;
+ nMblb2M2r = null;
+ }
+ where m (
+ nM2mg2Mb:Class
+ |
+ vMbmg2M2m = null;
+ nMbmb2M2mg = null;
+ vMblg2M2m = null;
+ ) {
+ nM2mb2Mb:Class
+ |
+ vMbmg2M2m = null;
+ vMbmb2M2mb = null;
+ vMblg2M2m = null;
+ }
+}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/empty.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/empty.qvtc
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/empty.qvtc
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/expressions.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/expressions.qvtc
new file mode 100644
index 000000000..b8d16b49b
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/expressions.qvtc
@@ -0,0 +1,28 @@
+import tuml2rdbms : 'TumlRdbms.ecore#/';
+import umlMM : 'umlMM.emof#/';
+
+transformation umlRdbms {
+ middle imports tuml2rdbms;
+ uml imports umlMM;
+}
+
+map ClassToTable in umlRdbms
+{
+ check uml () {
+ c:Class,a:Attribute |
+-- c.attribute -> exists (a1 : Attribute | a1.name <> null);
+-- c.attribute -> forAll (a2 : Attribute | a2.name <> null);
+-- c.attribute -> select (a3: Attribute | a3.name <> null) <> null;
+-- c.attribute -> reject (a4: Attribute | a4.name <> null) <> null;
+-- c.attribute -> collect (a1: Attribute | a1.name <> null) <> null;
+-- c.attribute -> iterate (a6: Attribute; acc:Attribute = null | a6) <> null;
+ a1.name <> null;
+ a4.name <> null;
+ let q:Class = null in q <> null;
+ q <> null;
+
+ c.attribute := Set{a}; --** added Set{}
+
+ }
+ where () {}
+}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/mini.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/mini.qvtc
new file mode 100644
index 000000000..ac9f6ec2c
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/mini.qvtc
@@ -0,0 +1,12 @@
+import tuml2rdbms : 'TumlRdbms.ecore';
+import umlMM : 'umlMM.emof';
+
+transformation umlRdbms {
+ middle imports tuml2rdbms;
+ uml imports umlMM;
+}
+
+map ClassToTable in umlRdbms
+{
+ where () {}
+}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/multimaps.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/multimaps.qvtc
new file mode 100644
index 000000000..9ef616b45
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/multimaps.qvtc
@@ -0,0 +1,63 @@
+transformation umlRdbms {
+ middle imports tuml2rdbms;
+ uml imports umlMM;
+ rdbms imports rdbmsMM;
+}
+
+map Map0a in umlRdbms
+{
+ check uml (p:Package) {
+ c: Class|
+ c.kind = 'Persistent';
+ }
+ check enforce rdbms () {
+ }
+ where middle (v1: TPackageToSchema| v1.p = p; ) {
+ cn:String |
+ c.name = cn;
+ }
+}
+
+map Map0b in umlRdbms
+{
+ check uml () {
+ creation umlRdbms::q0('a');
+ deletion umlRdbms::q0('a');
+ }
+ check enforce rdbms () {
+ t:Table|
+ }
+ where middle () {
+ }
+}
+
+map Map1 in umlRdbms refines Map0a, Map0b
+{
+ check uml () {
+ c.namespace = p;
+ }
+ check enforce rdbms (s:Schema) {
+ t.schema = s;
+ }
+ where middle (v1.s = s;) {
+ realize v2: TClassToTable |
+ v2.p := p;
+ v2.s := s;
+ v2.c := c;
+ }
+ map {
+ where () {
+ t.description := cn;
+ }
+ }
+}
+
+map Map2 in umlRdbms refines Map1
+{
+ where middle () {
+ v2.t := t;
+ t.name = cn;
+ }
+}
+
+query umlRdbms::q0(x:String) : String { null }
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/queries.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/queries.qvtc
new file mode 100644
index 000000000..f0bb79fd0
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/queries.qvtc
@@ -0,0 +1,19 @@
+query A::tx1::q1(x:String) : String { null }
+
+query B::A::tx2::q2(x:String) : String { null }
+
+transformation A::tx1 {}
+
+transformation B::A::tx2 {}
+
+transformation tx0 {}
+
+query tx0::q0(x:String) : String { null }
+query tx0::q0(x:String) : String { null }
+query B::A::z(x:String) : String { null }
+
+query q9(x:String) : String { null }
+
+query tx9::q9(x:String) : String { null }
+
+query A::tx9::q9(x:String) : String { null }
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/rdbmsMM.emof b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/rdbmsMM.emof
new file mode 100644
index 000000000..9b43eed17
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/rdbmsMM.emof
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<emof:Package xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:emof="http://schema.omg.org/spec/mof/2.0/emof.xmi" xmi:id="rdbmsMM"
+ name="rdbmsMM" uri="rdbmsMM">
+ <ownedType xmi:type="emof:Class" xmi:id="rdbmsMM.Schema" name="Schema">
+ <ownedAttribute xmi:id="rdbmsMM.Schema.name" name="name">
+ <type xmi:type="emof:PrimitiveType" href="http://schema.omg.org/spec/mof/2.0/emof.xmi#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="rdbmsMM.Schema.table" name="table" upper="*" type="rdbmsMM.Table"
+ isComposite="true" opposite="rdbmsMM.Table.schema"/>
+ <ownedAttribute xmi:id="rdbmsMM.Schema.foreignKey" name="foreignKey" upper="*"
+ type="rdbmsMM.ForeignKey" isComposite="true" opposite="rdbmsMM.ForeignKey.schema"/>
+ </ownedType>
+ <ownedType xmi:type="emof:Class" xmi:id="rdbmsMM.Table" name="Table">
+ <ownedAttribute xmi:id="rdbmsMM.Table.name" name="name">
+ <type xmi:type="emof:PrimitiveType" href="http://schema.omg.org/spec/mof/2.0/emof.xmi#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="rdbmsMM.Table.schema" name="schema" lower="1" type="rdbmsMM.Schema"
+ opposite="rdbmsMM.Schema.table"/>
+ <ownedAttribute xmi:id="rdbmsMM.Table.column" name="column" upper="*" type="rdbmsMM.Column"
+ isComposite="true" opposite="rdbmsMM.Column.owner"/>
+ <ownedAttribute xmi:id="rdbmsMM.Table.key" name="key" type="rdbmsMM.Key" isComposite="true"
+ opposite="rdbmsMM.Key.owner"/>
+ <ownedAttribute xmi:id="rdbmsMM.Table.hasForeignKey" name="hasForeignKey" upper="*"
+ type="rdbmsMM.ForeignKey" opposite="rdbmsMM.ForeignKey.owner"/>
+ <ownedAttribute xmi:id="rdbmsMM.Table.description" name="description">
+ <type xmi:type="emof:PrimitiveType" href="http://schema.omg.org/spec/mof/2.0/emof.xmi#String"/>
+ </ownedAttribute>
+ </ownedType>
+ <ownedType xmi:type="emof:Class" xmi:id="rdbmsMM.Column" name="Column">
+ <ownedAttribute xmi:id="rdbmsMM.Column.name" name="name">
+ <type xmi:type="emof:PrimitiveType" href="http://schema.omg.org/spec/mof/2.0/emof.xmi#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="rdbmsMM.Column.type" name="type">
+ <type xmi:type="emof:PrimitiveType" href="http://schema.omg.org/spec/mof/2.0/emof.xmi#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="rdbmsMM.Column.owner" name="owner" lower="1" type="rdbmsMM.Table"
+ opposite="rdbmsMM.Table.column"/>
+ <ownedAttribute xmi:id="rdbmsMM.Column.hasKey" name="hasKey" upper="*" type="rdbmsMM.Key"
+ opposite="rdbmsMM.Key.column"/>
+ <ownedAttribute xmi:id="rdbmsMM.Column.hasForeignKey" name="hasForeignKey" upper="*"
+ type="rdbmsMM.ForeignKey" opposite="rdbmsMM.ForeignKey.column"/>
+ </ownedType>
+ <ownedType xmi:type="emof:Class" xmi:id="rdbmsMM.Key" name="Key">
+ <ownedAttribute xmi:id="rdbmsMM.Key.name" name="name">
+ <type xmi:type="emof:PrimitiveType" href="http://schema.omg.org/spec/mof/2.0/emof.xmi#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="rdbmsMM.Key.owner" name="owner" lower="1" type="rdbmsMM.Table"
+ opposite="rdbmsMM.Table.key"/>
+ <ownedAttribute xmi:id="rdbmsMM.Key.column" name="column" lower="1" upper="*"
+ type="rdbmsMM.Column" opposite="rdbmsMM.Column.hasKey"/>
+ <ownedAttribute xmi:id="rdbmsMM.Key.referedBy" name="referedBy" upper="*" type="rdbmsMM.ForeignKey"
+ opposite="rdbmsMM.ForeignKey.refersTo"/>
+ </ownedType>
+ <ownedType xmi:type="emof:Class" xmi:id="rdbmsMM.ForeignKey" name="ForeignKey">
+ <ownedAttribute xmi:id="rdbmsMM.ForeignKey.schema" name="schema" lower="1" type="rdbmsMM.Schema"
+ opposite="rdbmsMM.Schema.foreignKey"/>
+ <ownedAttribute xmi:id="rdbmsMM.ForeignKey.refersTo" name="refersTo" lower="1"
+ type="rdbmsMM.Key" opposite="rdbmsMM.Key.referedBy"/>
+ <ownedAttribute xmi:id="rdbmsMM.ForeignKey.name" name="name">
+ <type xmi:type="emof:PrimitiveType" href="http://schema.omg.org/spec/mof/2.0/emof.xmi#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="rdbmsMM.ForeignKey.owner" name="owner" lower="1" type="rdbmsMM.Table"
+ opposite="rdbmsMM.Table.hasForeignKey"/>
+ <ownedAttribute xmi:id="rdbmsMM.ForeignKey.column" name="column" lower="1" upper="*"
+ type="rdbmsMM.Column" opposite="rdbmsMM.Column.hasForeignKey"/>
+ </ownedType>
+ <ownedType xmi:type="emof:Class" xmi:id="rdbmsMM.dummy" name="dummy">
+ <ownedAttribute xmi:id="rdbmsMM.dummy.containsSchema" name="containsSchema" upper="*"
+ type="rdbmsMM.Schema" isComposite="true"/>
+ </ownedType>
+</emof:Package>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/redefinition.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/redefinition.qvtc
new file mode 100644
index 000000000..67662e1df
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/redefinition.qvtc
@@ -0,0 +1,37 @@
+transformation umlRdbms {
+ middle imports tuml2rdbms;
+ uml imports umlMM;
+ rdbms imports rdbmsMM;
+}
+
+map Map1 in umlRdbms
+{
+ check enforce uml (p1:Package,p2:Package,p5:Attribute) {
+ realize p1:Package,
+ realize p3:Package,
+ realize p4:Package|
+ }
+ check enforce rdbms () {}
+ where middle (p6:Association) {}
+
+ map {
+ check enforce uml (p2:Package) {
+ realize p3:Package|
+ }
+ where () {}
+ }
+ map {
+ check enforce uml () {
+ realize p4:Package|
+ }
+ where (p5:Attribute) {}
+ }
+}
+
+map Map2 in umlRdbms refines Map1
+{
+ check enforce uml (p6:Association) {
+ }
+ where middle (p5:TClassToTable) {
+ }
+} \ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/test.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/test.qvtc
new file mode 100644
index 000000000..50a9db3a6
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/test.qvtc
@@ -0,0 +1,36 @@
+transformation umlRdbms {
+ middle imports tuml2rdbms;
+ uml imports umlMM;
+ rdbms imports rdbmsMM;
+}
+
+map ClassToTable in umlRdbms
+{
+ check uml (p:Package) {
+ c: Class|
+ c.namespace = p;
+ c.kind = 'Persistent';
+ creation umlRdbms::q0('a');
+ deletion umlRdbms::q0('a');
+ }
+ check enforce rdbms (s:Schema) {
+ t:Table|
+ t.schema = s;
+ }
+ where middle (v1: TPackageToSchema| v1.p = p; v1.s = s;) {
+ realize v2: TClassToTable, cn:String |
+ v2.p := p;
+ v2.s := s;
+ v2.c := c;
+ v2.t := t;
+ c.name = cn;
+ t.name = cn;
+ }
+ map {
+ where () {
+ t.description := cn;
+ }
+ }
+}
+
+query umlRdbms::q0(x:String) : String { null }
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/type_check.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/type_check.qvtc
new file mode 100644
index 000000000..366ca47a3
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/type_check.qvtc
@@ -0,0 +1,20 @@
+transformation umlRdbms {
+ middle imports tuml2rdbms;
+ uml imports umlMM;
+ rdbms imports rdbmsMM;
+}
+
+map Map in umlRdbms
+{
+ check uml (p:Package) {
+ b:String,c:Class,cl:Classifier |
+ b := Class;
+ p.name := String;
+ p.name := 12;
+ p.name := p;
+ c := cl;
+ cl:= c;
+ }
+ where middle () {
+ }
+}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/umlMM.emof b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/umlMM.emof
new file mode 100644
index 000000000..e6e9f6e41
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/umlMM.emof
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<emof:Package xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:emof="http://schema.omg.org/spec/mof/2.0/emof.xmi" xmi:id="umlMM"
+ name="umlMM" uri="umlMM">
+ <ownedType xmi:type="emof:Class" xmi:id="umlMM.Package" name="Package">
+ <ownedAttribute xmi:id="umlMM.Package.name" name="name">
+ <type xmi:type="emof:PrimitiveType" href="http://schema.omg.org/spec/mof/2.0/emof.xmi#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="umlMM.Package.classifier" name="classifier" upper="*"
+ type="umlMM.Classifier" isComposite="true" opposite="umlMM.Classifier.namespace"/>
+ <ownedAttribute xmi:id="umlMM.Package.association" name="association" upper="*"
+ type="umlMM.Association" isComposite="true" opposite="umlMM.Association.namespace"/>
+ </ownedType>
+ <ownedType xmi:type="emof:Class" xmi:id="umlMM.Class" name="Class" superClass="umlMM.Classifier">
+ <ownedAttribute xmi:id="umlMM.Class.kind" name="kind">
+ <type xmi:type="emof:PrimitiveType" href="http://schema.omg.org/spec/mof/2.0/emof.xmi#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="umlMM.Class.attribute" name="attribute" upper="*" type="umlMM.Attribute"
+ isComposite="true" opposite="umlMM.Attribute.owner"/>
+ <ownedAttribute xmi:id="umlMM.Class.general" name="general" type="umlMM.Class"
+ opposite="umlMM.Class.subclass"/>
+ <ownedAttribute xmi:id="umlMM.Class.subclass" name="subclass" upper="*" type="umlMM.Class"
+ opposite="umlMM.Class.general"/>
+ <ownedAttribute xmi:id="umlMM.Class.sourceOf" name="sourceOf" upper="*" type="umlMM.Association"
+ opposite="umlMM.Association.source"/>
+ <ownedAttribute xmi:id="umlMM.Class.destinationOf" name="destinationOf" upper="*"
+ type="umlMM.Association" opposite="umlMM.Association.destination"/>
+ <ownedAttribute xmi:id="umlMM.Class.description" name="description">
+ <type xmi:type="emof:PrimitiveType" href="http://schema.omg.org/spec/mof/2.0/emof.xmi#String"/>
+ </ownedAttribute>
+ </ownedType>
+ <ownedType xmi:type="emof:Class" xmi:id="umlMM.Attribute" name="Attribute">
+ <ownedAttribute xmi:id="umlMM.Attribute.name" name="name">
+ <type xmi:type="emof:PrimitiveType" href="http://schema.omg.org/spec/mof/2.0/emof.xmi#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="umlMM.Attribute.owner" name="owner" lower="1" type="umlMM.Class"
+ opposite="umlMM.Class.attribute"/>
+ <ownedAttribute xmi:id="umlMM.Attribute.type" name="type" lower="1" type="umlMM.Classifier"
+ opposite="umlMM.Classifier.typeOf"/>
+ </ownedType>
+ <ownedType xmi:type="emof:Class" xmi:id="umlMM.Classifier" name="Classifier" isAbstract="true">
+ <ownedAttribute xmi:id="umlMM.Classifier.name" name="name">
+ <type xmi:type="emof:PrimitiveType" href="http://schema.omg.org/spec/mof/2.0/emof.xmi#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="umlMM.Classifier.typeOf" name="typeOf" upper="*" type="umlMM.Attribute"
+ opposite="umlMM.Attribute.type"/>
+ <ownedAttribute xmi:id="umlMM.Classifier.namespace" name="namespace" lower="1"
+ type="umlMM.Package" opposite="umlMM.Package.classifier"/>
+ </ownedType>
+ <ownedType xmi:type="emof:Class" xmi:id="umlMM.PrimitiveDataType" name="PrimitiveDataType"
+ superClass="umlMM.Classifier"/>
+ <ownedType xmi:type="emof:Class" xmi:id="umlMM.Association" name="Association">
+ <ownedAttribute xmi:id="umlMM.Association.name" name="name">
+ <type xmi:type="emof:PrimitiveType" href="http://schema.omg.org/spec/mof/2.0/emof.xmi#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="umlMM.Association.namespace" name="namespace" lower="1"
+ type="umlMM.Package" opposite="umlMM.Package.association"/>
+ <ownedAttribute xmi:id="umlMM.Association.source" name="source" lower="1" type="umlMM.Class"
+ opposite="umlMM.Class.sourceOf"/>
+ <ownedAttribute xmi:id="umlMM.Association.destination" name="destination" lower="1"
+ type="umlMM.Class" opposite="umlMM.Class.destinationOf"/>
+ </ownedType>
+ <ownedType xmi:type="emof:Class" xmi:id="umlMM.dummy" name="dummy">
+ <ownedAttribute xmi:id="umlMM.dummy.containsPackage" name="containsPackage" upper="*"
+ type="umlMM.Package" isComposite="true"/>
+ </ownedType>
+</emof:Package>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/validator.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/validator.qvtc
new file mode 100644
index 000000000..6b3a4b70f
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/validator.qvtc
@@ -0,0 +1,39 @@
+transformation umlRdbms {
+ middle imports tuml2rdbms;
+ uml imports umlMM;
+ rdbms imports rdbmsMM;
+}
+
+map ClassToTable in umlRdbms
+{
+ check uml (p:Package) {
+ c: Class|
+ c.namespace = p;
+ c.kind = 'Persistent';
+ creation umlRdbms::q0('a');
+ deletion umlRdbms::q0('a');
+ }
+ check rdbms (s:Schema) {
+ realize xx:String, -- warning not in enforceable domain
+ t:Table|
+ t.schema = s;
+ default t.name := xx; -- warning not in enforceable domain
+ }
+ where middle (v1: TPackageToSchema| v1.p = p; v1.s = s;) {
+ realize v2: TClassToTable, -- warning no enforceable domain
+ cn:String |
+ v2.p := p;
+ v2.s := s;
+ v2.c := c;
+ v2.t := t;
+ c.name = cn;
+ default t.name := cn; -- warning no enforceable domain
+ }
+ map {
+ where () {
+ t.description := cn;
+ }
+ }
+}
+
+query umlRdbms::q0(x:String) : String { null }
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/visibility.qvtc b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/visibility.qvtc
new file mode 100644
index 000000000..8ed71b5f2
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/models/visibility.qvtc
@@ -0,0 +1,22 @@
+transformation umlRdbms {
+ middle imports tuml2rdbms;
+ uml imports umlMM;
+ rdbms imports rdbmsMM;
+}
+
+map ClassToTable0 in umlRdbms {
+ check enforce uml (error:Schema, error2:TPackageToSchema) {}
+ check enforce rdbms (error4:Class){}
+ where middle () {}
+}
+
+map ClassToTable1 in umlRdbms {
+ check enforce rdbms (error4:Class){}
+ check enforce uml (error:Schema, error2:TPackageToSchema) {}
+ where middle () {}
+}
+
+map ClassToTable2 in umlRdbms {
+ check enforce rdbms (error4:Class){}
+ where middle () {}
+}

Back to the top