blob: d38a8740c36d33436e611963a91f269a08d030e9 [file] [log] [blame]
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;
/*******************************************************************************
* Copyright (c) 2011, 2020 Willink Transformations and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* E.D.Willink - initial API and implementation
*******************************************************************************/
@SuppressWarnings("all")
public class InternalQVTrelationParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_SINGLE_QUOTED_STRING", "RULE_UNQUOTED_STRING", "RULE_INT", "RULE_SIMPLE_ID", "RULE_ESCAPED_ID", "RULE_ESCAPED_CHARACTER", "RULE_LETTER_CHARACTER", "RULE_DOUBLE_QUOTED_STRING", "RULE_ML_SINGLE_QUOTED_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "':'", "'='", "'{'", "'}'", "';'", "','", "'++'", "'checkonly'", "'enforce'", "'replace'", "'domain'", "'implementedby'", "'default_values'", "'key'", "'opposite'", "'('", "')'", "'dependsOn'", "'iterates'", "'primitive'", "'transient'", "'query'", "'top'", "'abstract'", "'relation'", "'overrides'", "'::'", "'transformation'", "'extends'", "'import'", "'*'", "'when'", "'where'", "'input'", "'library'", "'output'", "'target'", "'via'", "'static'", "'definition'", "'attribute'", "'derived'", "'!derived'", "'id'", "'!id'", "'ordered'", "'!ordered'", "'readonly'", "'!readonly'", "'!transient'", "'unique'", "'!unique'", "'unsettable'", "'!unsettable'", "'volatile'", "'!volatile'", "'initial'", "'derivation'", "'datatype'", "'serializable'", "'!serializable'", "'enum'", "'literal'", "'operation'", "'throws'", "'body'", "'property'", "'#'", "'composes'", "'!composes'", "'resolve'", "'!resolve'", "'class'", "'interface'", "'-'", "'not'", "'not2'", "'/'", "'+'", "'>'", "'<'", "'>='", "'<='", "'<>'", "'and'", "'and2'", "'implies'", "'implies2'", "'or'", "'or2'", "'xor'", "'xor2'", "'.'", "'->'", "'?.'", "'?->'", "'Map'", "'Tuple'", "'Boolean'", "'Integer'", "'Real'", "'String'", "'UnlimitedNatural'", "'OclAny'", "'OclInvalid'", "'OclVoid'", "'Set'", "'Bag'", "'Sequence'", "'Collection'", "'OrderedSet'", "'..'", "'Lambda'", "'<-'", "'true'", "'false'", "'invalid'", "'null'", "'@'", "'pre'", "'['", "']'", "'in'", "'|'", "'if'", "'then'", "'else'", "'endif'", "'elseif'", "'let'", "'self'", "'|?'", "'|1'", "'?'", "'&&'"
};
public static final int T__144=144;
public static final int T__143=143;
public static final int T__146=146;
public static final int T__50=50;
public static final int T__145=145;
public static final int T__140=140;
public static final int T__142=142;
public static final int T__141=141;
public static final int T__59=59;
public static final int T__55=55;
public static final int T__56=56;
public static final int T__57=57;
public static final int T__58=58;
public static final int T__51=51;
public static final int T__137=137;
public static final int T__52=52;
public static final int T__136=136;
public static final int T__53=53;
public static final int T__139=139;
public static final int T__54=54;
public static final int T__138=138;
public static final int T__133=133;
public static final int T__132=132;
public static final int T__60=60;
public static final int T__135=135;
public static final int T__61=61;
public static final int T__134=134;
public static final int T__131=131;
public static final int T__130=130;
public static final int RULE_INT=6;
public static final int T__66=66;
public static final int RULE_ML_COMMENT=13;
public static final int T__67=67;
public static final int T__129=129;
public static final int T__68=68;
public static final int T__69=69;
public static final int T__62=62;
public static final int T__126=126;
public static final int T__63=63;
public static final int T__125=125;
public static final int T__64=64;
public static final int T__128=128;
public static final int T__65=65;
public static final int T__127=127;
public static final int T__37=37;
public static final int T__38=38;
public static final int T__39=39;
public static final int T__33=33;
public static final int T__34=34;
public static final int T__35=35;
public static final int T__36=36;
public static final int T__30=30;
public static final int T__31=31;
public static final int T__32=32;
public static final int T__151=151;
public static final int T__150=150;
public static final int T__152=152;
public static final int RULE_SINGLE_QUOTED_STRING=4;
public static final int T__48=48;
public static final int T__49=49;
public static final int RULE_DOUBLE_QUOTED_STRING=11;
public static final int T__44=44;
public static final int T__45=45;
public static final int T__46=46;
public static final int T__47=47;
public static final int RULE_ESCAPED_ID=8;
public static final int T__40=40;
public static final int T__148=148;
public static final int T__41=41;
public static final int T__147=147;
public static final int T__42=42;
public static final int T__43=43;
public static final int T__149=149;
public static final int T__91=91;
public static final int T__100=100;
public static final int T__92=92;
public static final int T__93=93;
public static final int T__102=102;
public static final int T__94=94;
public static final int T__101=101;
public static final int T__90=90;
public static final int RULE_LETTER_CHARACTER=10;
public static final int T__19=19;
public static final int T__17=17;
public static final int T__18=18;
public static final int T__99=99;
public static final int RULE_ESCAPED_CHARACTER=9;
public static final int T__95=95;
public static final int RULE_ML_SINGLE_QUOTED_STRING=12;
public static final int T__96=96;
public static final int T__97=97;
public static final int T__98=98;
public static final int T__26=26;
public static final int T__27=27;
public static final int T__28=28;
public static final int T__29=29;
public static final int T__22=22;
public static final int T__23=23;
public static final int T__24=24;
public static final int T__25=25;
public static final int T__20=20;
public static final int T__21=21;
public static final int T__122=122;
public static final int T__70=70;
public static final int T__121=121;
public static final int T__71=71;
public static final int T__124=124;
public static final int T__72=72;
public static final int T__123=123;
public static final int T__120=120;
public static final int RULE_UNQUOTED_STRING=5;
public static final int RULE_SL_COMMENT=14;
public static final int T__77=77;
public static final int T__119=119;
public static final int T__78=78;
public static final int T__118=118;
public static final int T__79=79;
public static final int T__73=73;
public static final int T__115=115;
public static final int EOF=-1;
public static final int T__74=74;
public static final int T__114=114;
public static final int T__75=75;
public static final int T__117=117;
public static final int T__76=76;
public static final int T__116=116;
public static final int T__80=80;
public static final int T__111=111;
public static final int T__81=81;
public static final int T__110=110;
public static final int T__82=82;
public static final int T__113=113;
public static final int RULE_SIMPLE_ID=7;
public static final int T__83=83;
public static final int T__112=112;
public static final int RULE_WS=15;
public static final int RULE_ANY_OTHER=16;
public static final int T__88=88;
public static final int T__108=108;
public static final int T__89=89;
public static final int T__107=107;
public static final int T__109=109;
public static final int T__84=84;
public static final int T__104=104;
public static final int T__85=85;
public static final int T__103=103;
public static final int T__86=86;
public static final int T__106=106;
public static final int T__87=87;
public static final int T__105=105;
// 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 "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"
// InternalQVTrelation.g:79:1: entryRuleTopLevelCS returns [EObject current=null] : iv_ruleTopLevelCS= ruleTopLevelCS EOF ;
public final EObject entryRuleTopLevelCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTopLevelCS = null;
try {
// InternalQVTrelation.g:79:51: (iv_ruleTopLevelCS= ruleTopLevelCS EOF )
// InternalQVTrelation.g:80:2: iv_ruleTopLevelCS= ruleTopLevelCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTopLevelCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTopLevelCS=ruleTopLevelCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTopLevelCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTopLevelCS"
// $ANTLR start "ruleTopLevelCS"
// InternalQVTrelation.g:86:1: ruleTopLevelCS returns [EObject current=null] : ( ( (lv_ownedImports_0_0= ruleUnitCS ) )* ( ( (lv_ownedPackages_1_0= ruleQualifiedPackageCS ) ) | ( (lv_ownedTransformations_2_0= ruleTransformationCS ) ) )* ) ;
public final EObject ruleTopLevelCS() throws RecognitionException {
EObject current = null;
EObject lv_ownedImports_0_0 = null;
EObject lv_ownedPackages_1_0 = null;
EObject lv_ownedTransformations_2_0 = null;
enterRule();
try {
// InternalQVTrelation.g:92:2: ( ( ( (lv_ownedImports_0_0= ruleUnitCS ) )* ( ( (lv_ownedPackages_1_0= ruleQualifiedPackageCS ) ) | ( (lv_ownedTransformations_2_0= ruleTransformationCS ) ) )* ) )
// InternalQVTrelation.g:93:2: ( ( (lv_ownedImports_0_0= ruleUnitCS ) )* ( ( (lv_ownedPackages_1_0= ruleQualifiedPackageCS ) ) | ( (lv_ownedTransformations_2_0= ruleTransformationCS ) ) )* )
{
// InternalQVTrelation.g:93:2: ( ( (lv_ownedImports_0_0= ruleUnitCS ) )* ( ( (lv_ownedPackages_1_0= ruleQualifiedPackageCS ) ) | ( (lv_ownedTransformations_2_0= ruleTransformationCS ) ) )* )
// InternalQVTrelation.g:94:3: ( (lv_ownedImports_0_0= ruleUnitCS ) )* ( ( (lv_ownedPackages_1_0= ruleQualifiedPackageCS ) ) | ( (lv_ownedTransformations_2_0= ruleTransformationCS ) ) )*
{
// InternalQVTrelation.g:94:3: ( (lv_ownedImports_0_0= ruleUnitCS ) )*
loop1:
do {
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==47) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// InternalQVTrelation.g:95:4: (lv_ownedImports_0_0= ruleUnitCS )
{
// InternalQVTrelation.g:95:4: (lv_ownedImports_0_0= ruleUnitCS )
// InternalQVTrelation.g:96:5: lv_ownedImports_0_0= ruleUnitCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTopLevelCSAccess().getOwnedImportsUnitCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_3);
lv_ownedImports_0_0=ruleUnitCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTopLevelCSRule());
}
add(
current,
"ownedImports",
lv_ownedImports_0_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnitCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop1;
}
} while (true);
// InternalQVTrelation.g:113:3: ( ( (lv_ownedPackages_1_0= ruleQualifiedPackageCS ) ) | ( (lv_ownedTransformations_2_0= ruleTransformationCS ) ) )*
loop2:
do {
int alt2=3;
int LA2_0 = input.LA(1);
if ( (LA2_0==17) ) {
alt2=1;
}
else if ( (LA2_0==45) ) {
alt2=2;
}
switch (alt2) {
case 1 :
// InternalQVTrelation.g:114:4: ( (lv_ownedPackages_1_0= ruleQualifiedPackageCS ) )
{
// InternalQVTrelation.g:114:4: ( (lv_ownedPackages_1_0= ruleQualifiedPackageCS ) )
// InternalQVTrelation.g:115:5: (lv_ownedPackages_1_0= ruleQualifiedPackageCS )
{
// InternalQVTrelation.g:115:5: (lv_ownedPackages_1_0= ruleQualifiedPackageCS )
// InternalQVTrelation.g:116:6: lv_ownedPackages_1_0= ruleQualifiedPackageCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTopLevelCSAccess().getOwnedPackagesQualifiedPackageCSParserRuleCall_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_4);
lv_ownedPackages_1_0=ruleQualifiedPackageCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTopLevelCSRule());
}
add(
current,
"ownedPackages",
lv_ownedPackages_1_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.QualifiedPackageCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:134:4: ( (lv_ownedTransformations_2_0= ruleTransformationCS ) )
{
// InternalQVTrelation.g:134:4: ( (lv_ownedTransformations_2_0= ruleTransformationCS ) )
// InternalQVTrelation.g:135:5: (lv_ownedTransformations_2_0= ruleTransformationCS )
{
// InternalQVTrelation.g:135:5: (lv_ownedTransformations_2_0= ruleTransformationCS )
// InternalQVTrelation.g:136:6: lv_ownedTransformations_2_0= ruleTransformationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTopLevelCSAccess().getOwnedTransformationsTransformationCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_4);
lv_ownedTransformations_2_0=ruleTransformationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTopLevelCSRule());
}
add(
current,
"ownedTransformations",
lv_ownedTransformations_2_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.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 "entryRuleQualifiedPackageCS"
// InternalQVTrelation.g:158:1: entryRuleQualifiedPackageCS returns [EObject current=null] : iv_ruleQualifiedPackageCS= ruleQualifiedPackageCS EOF ;
public final EObject entryRuleQualifiedPackageCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleQualifiedPackageCS = null;
try {
// InternalQVTrelation.g:158:59: (iv_ruleQualifiedPackageCS= ruleQualifiedPackageCS EOF )
// InternalQVTrelation.g:159:2: iv_ruleQualifiedPackageCS= ruleQualifiedPackageCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedPackageCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleQualifiedPackageCS=ruleQualifiedPackageCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleQualifiedPackageCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleQualifiedPackageCS"
// $ANTLR start "ruleQualifiedPackageCS"
// InternalQVTrelation.g:165:1: ruleQualifiedPackageCS returns [EObject current=null] : (otherlv_0= 'package' ( (lv_ownedPathName_1_0= ruleScopeNameCS ) )? ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= ':' ( (lv_nsPrefix_4_0= ruleUnrestrictedName ) ) )? (otherlv_5= '=' ( (lv_nsURI_6_0= ruleURI ) ) )? ( (otherlv_7= '{' ( ( (lv_ownedPackages_8_0= ruleQualifiedPackageCS ) ) | ( ( (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS ) ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) ) ;
public final EObject ruleQualifiedPackageCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_10=null;
Token otherlv_11=null;
EObject lv_ownedPathName_1_0 = null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
AntlrDatatypeRuleToken lv_nsPrefix_4_0 = null;
AntlrDatatypeRuleToken lv_nsURI_6_0 = null;
EObject lv_ownedPackages_8_0 = null;
EObject lv_ownedClasses_9_1 = null;
EObject lv_ownedClasses_9_2 = null;
enterRule();
try {
// InternalQVTrelation.g:171:2: ( (otherlv_0= 'package' ( (lv_ownedPathName_1_0= ruleScopeNameCS ) )? ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= ':' ( (lv_nsPrefix_4_0= ruleUnrestrictedName ) ) )? (otherlv_5= '=' ( (lv_nsURI_6_0= ruleURI ) ) )? ( (otherlv_7= '{' ( ( (lv_ownedPackages_8_0= ruleQualifiedPackageCS ) ) | ( ( (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS ) ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) ) )
// InternalQVTrelation.g:172:2: (otherlv_0= 'package' ( (lv_ownedPathName_1_0= ruleScopeNameCS ) )? ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= ':' ( (lv_nsPrefix_4_0= ruleUnrestrictedName ) ) )? (otherlv_5= '=' ( (lv_nsURI_6_0= ruleURI ) ) )? ( (otherlv_7= '{' ( ( (lv_ownedPackages_8_0= ruleQualifiedPackageCS ) ) | ( ( (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS ) ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) )
{
// InternalQVTrelation.g:172:2: (otherlv_0= 'package' ( (lv_ownedPathName_1_0= ruleScopeNameCS ) )? ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= ':' ( (lv_nsPrefix_4_0= ruleUnrestrictedName ) ) )? (otherlv_5= '=' ( (lv_nsURI_6_0= ruleURI ) ) )? ( (otherlv_7= '{' ( ( (lv_ownedPackages_8_0= ruleQualifiedPackageCS ) ) | ( ( (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS ) ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) )
// InternalQVTrelation.g:173:3: otherlv_0= 'package' ( (lv_ownedPathName_1_0= ruleScopeNameCS ) )? ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= ':' ( (lv_nsPrefix_4_0= ruleUnrestrictedName ) ) )? (otherlv_5= '=' ( (lv_nsURI_6_0= ruleURI ) ) )? ( (otherlv_7= '{' ( ( (lv_ownedPackages_8_0= ruleQualifiedPackageCS ) ) | ( ( (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS ) ) ) )* otherlv_10= '}' ) | otherlv_11= ';' )
{
otherlv_0=(Token)match(input,17,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getQualifiedPackageCSAccess().getPackageKeyword_0());
}
// InternalQVTrelation.g:177:3: ( (lv_ownedPathName_1_0= ruleScopeNameCS ) )?
int alt3=2;
alt3 = dfa3.predict(input);
switch (alt3) {
case 1 :
// InternalQVTrelation.g:178:4: (lv_ownedPathName_1_0= ruleScopeNameCS )
{
// InternalQVTrelation.g:178:4: (lv_ownedPathName_1_0= ruleScopeNameCS )
// InternalQVTrelation.g:179:5: lv_ownedPathName_1_0= ruleScopeNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedPackageCSAccess().getOwnedPathNameScopeNameCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_5);
lv_ownedPathName_1_0=ruleScopeNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getQualifiedPackageCSRule());
}
set(
current,
"ownedPathName",
lv_ownedPathName_1_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.ScopeNameCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalQVTrelation.g:196:3: ( (lv_name_2_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:197:4: (lv_name_2_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:197:4: (lv_name_2_0= ruleUnrestrictedName )
// InternalQVTrelation.g:198:5: lv_name_2_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedPackageCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_6);
lv_name_2_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getQualifiedPackageCSRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:215:3: (otherlv_3= ':' ( (lv_nsPrefix_4_0= ruleUnrestrictedName ) ) )?
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==18) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// InternalQVTrelation.g:216:4: otherlv_3= ':' ( (lv_nsPrefix_4_0= ruleUnrestrictedName ) )
{
otherlv_3=(Token)match(input,18,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getQualifiedPackageCSAccess().getColonKeyword_3_0());
}
// InternalQVTrelation.g:220:4: ( (lv_nsPrefix_4_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:221:5: (lv_nsPrefix_4_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:221:5: (lv_nsPrefix_4_0= ruleUnrestrictedName )
// InternalQVTrelation.g:222:6: lv_nsPrefix_4_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedPackageCSAccess().getNsPrefixUnrestrictedNameParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_7);
lv_nsPrefix_4_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getQualifiedPackageCSRule());
}
set(
current,
"nsPrefix",
lv_nsPrefix_4_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:240:3: (otherlv_5= '=' ( (lv_nsURI_6_0= ruleURI ) ) )?
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==19) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// InternalQVTrelation.g:241:4: otherlv_5= '=' ( (lv_nsURI_6_0= ruleURI ) )
{
otherlv_5=(Token)match(input,19,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getQualifiedPackageCSAccess().getEqualsSignKeyword_4_0());
}
// InternalQVTrelation.g:245:4: ( (lv_nsURI_6_0= ruleURI ) )
// InternalQVTrelation.g:246:5: (lv_nsURI_6_0= ruleURI )
{
// InternalQVTrelation.g:246:5: (lv_nsURI_6_0= ruleURI )
// InternalQVTrelation.g:247:6: lv_nsURI_6_0= ruleURI
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedPackageCSAccess().getNsURIURIParserRuleCall_4_1_0());
}
pushFollow(FollowSets000.FOLLOW_9);
lv_nsURI_6_0=ruleURI();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getQualifiedPackageCSRule());
}
set(
current,
"nsURI",
lv_nsURI_6_0,
"org.eclipse.ocl.xtext.base.Base.URI");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:265:3: ( (otherlv_7= '{' ( ( (lv_ownedPackages_8_0= ruleQualifiedPackageCS ) ) | ( ( (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS ) ) ) )* otherlv_10= '}' ) | otherlv_11= ';' )
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==20) ) {
alt8=1;
}
else if ( (LA8_0==22) ) {
alt8=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 8, 0, input);
throw nvae;
}
switch (alt8) {
case 1 :
// InternalQVTrelation.g:266:4: (otherlv_7= '{' ( ( (lv_ownedPackages_8_0= ruleQualifiedPackageCS ) ) | ( ( (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS ) ) ) )* otherlv_10= '}' )
{
// InternalQVTrelation.g:266:4: (otherlv_7= '{' ( ( (lv_ownedPackages_8_0= ruleQualifiedPackageCS ) ) | ( ( (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS ) ) ) )* otherlv_10= '}' )
// InternalQVTrelation.g:267:5: otherlv_7= '{' ( ( (lv_ownedPackages_8_0= ruleQualifiedPackageCS ) ) | ( ( (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS ) ) ) )* otherlv_10= '}'
{
otherlv_7=(Token)match(input,20,FollowSets000.FOLLOW_10); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getQualifiedPackageCSAccess().getLeftCurlyBracketKeyword_5_0_0());
}
// InternalQVTrelation.g:271:5: ( ( (lv_ownedPackages_8_0= ruleQualifiedPackageCS ) ) | ( ( (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS ) ) ) )*
loop7:
do {
int alt7=3;
int LA7_0 = input.LA(1);
if ( (LA7_0==17) ) {
alt7=1;
}
else if ( (LA7_0==37||LA7_0==41||LA7_0==45||LA7_0==76||LA7_0==79||LA7_0==90) ) {
alt7=2;
}
switch (alt7) {
case 1 :
// InternalQVTrelation.g:272:6: ( (lv_ownedPackages_8_0= ruleQualifiedPackageCS ) )
{
// InternalQVTrelation.g:272:6: ( (lv_ownedPackages_8_0= ruleQualifiedPackageCS ) )
// InternalQVTrelation.g:273:7: (lv_ownedPackages_8_0= ruleQualifiedPackageCS )
{
// InternalQVTrelation.g:273:7: (lv_ownedPackages_8_0= ruleQualifiedPackageCS )
// InternalQVTrelation.g:274:8: lv_ownedPackages_8_0= ruleQualifiedPackageCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedPackageCSAccess().getOwnedPackagesQualifiedPackageCSParserRuleCall_5_0_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_ownedPackages_8_0=ruleQualifiedPackageCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getQualifiedPackageCSRule());
}
add(
current,
"ownedPackages",
lv_ownedPackages_8_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.QualifiedPackageCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:292:6: ( ( (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS ) ) )
{
// InternalQVTrelation.g:292:6: ( ( (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS ) ) )
// InternalQVTrelation.g:293:7: ( (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS ) )
{
// InternalQVTrelation.g:293:7: ( (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS ) )
// InternalQVTrelation.g:294:8: (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS )
{
// InternalQVTrelation.g:294:8: (lv_ownedClasses_9_1= ruleClassCS | lv_ownedClasses_9_2= ruleTransformationCS )
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==37||LA6_0==41||LA6_0==76||LA6_0==79||LA6_0==90) ) {
alt6=1;
}
else if ( (LA6_0==45) ) {
alt6=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 6, 0, input);
throw nvae;
}
switch (alt6) {
case 1 :
// InternalQVTrelation.g:295:9: lv_ownedClasses_9_1= ruleClassCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedPackageCSAccess().getOwnedClassesClassCSParserRuleCall_5_0_1_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_ownedClasses_9_1=ruleClassCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getQualifiedPackageCSRule());
}
add(
current,
"ownedClasses",
lv_ownedClasses_9_1,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.ClassCS");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:311:9: lv_ownedClasses_9_2= ruleTransformationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedPackageCSAccess().getOwnedClassesTransformationCSParserRuleCall_5_0_1_1_0_1());
}
pushFollow(FollowSets000.FOLLOW_10);
lv_ownedClasses_9_2=ruleTransformationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getQualifiedPackageCSRule());
}
add(
current,
"ownedClasses",
lv_ownedClasses_9_2,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.TransformationCS");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
}
break;
default :
break loop7;
}
} while (true);
otherlv_10=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getQualifiedPackageCSAccess().getRightCurlyBracketKeyword_5_0_2());
}
}
}
break;
case 2 :
// InternalQVTrelation.g:336:4: otherlv_11= ';'
{
otherlv_11=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getQualifiedPackageCSAccess().getSemicolonKeyword_5_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleQualifiedPackageCS"
// $ANTLR start "entryRuleCollectionTemplateCS"
// InternalQVTrelation.g:345:1: entryRuleCollectionTemplateCS returns [EObject current=null] : iv_ruleCollectionTemplateCS= ruleCollectionTemplateCS EOF ;
public final EObject entryRuleCollectionTemplateCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCollectionTemplateCS = null;
try {
// InternalQVTrelation.g:345:61: (iv_ruleCollectionTemplateCS= ruleCollectionTemplateCS EOF )
// InternalQVTrelation.g:346:2: iv_ruleCollectionTemplateCS= ruleCollectionTemplateCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTemplateCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCollectionTemplateCS=ruleCollectionTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCollectionTemplateCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCollectionTemplateCS"
// $ANTLR start "ruleCollectionTemplateCS"
// InternalQVTrelation.g:352:1: ruleCollectionTemplateCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedType_2_0= ruleCollectionTypeCS ) ) (otherlv_3= '{' ( ( ( (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS ) ) ) (otherlv_5= ',' ( ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) ) ) )* otherlv_7= '++' ( (lv_ownedRestIdentifier_8_0= ruleElementTemplateCS ) ) )? 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;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedType_2_0 = null;
EObject lv_ownedMemberIdentifiers_4_1 = null;
EObject lv_ownedMemberIdentifiers_4_2 = null;
EObject lv_ownedMemberIdentifiers_6_1 = null;
EObject lv_ownedMemberIdentifiers_6_2 = null;
EObject lv_ownedRestIdentifier_8_0 = null;
enterRule();
try {
// InternalQVTrelation.g:358:2: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedType_2_0= ruleCollectionTypeCS ) ) (otherlv_3= '{' ( ( ( (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS ) ) ) (otherlv_5= ',' ( ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) ) ) )* otherlv_7= '++' ( (lv_ownedRestIdentifier_8_0= ruleElementTemplateCS ) ) )? otherlv_9= '}' )? ) )
// InternalQVTrelation.g:359:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedType_2_0= ruleCollectionTypeCS ) ) (otherlv_3= '{' ( ( ( (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS ) ) ) (otherlv_5= ',' ( ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) ) ) )* otherlv_7= '++' ( (lv_ownedRestIdentifier_8_0= ruleElementTemplateCS ) ) )? otherlv_9= '}' )? )
{
// InternalQVTrelation.g:359:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedType_2_0= ruleCollectionTypeCS ) ) (otherlv_3= '{' ( ( ( (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS ) ) ) (otherlv_5= ',' ( ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) ) ) )* otherlv_7= '++' ( (lv_ownedRestIdentifier_8_0= ruleElementTemplateCS ) ) )? otherlv_9= '}' )? )
// InternalQVTrelation.g:360:3: ( (lv_name_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedType_2_0= ruleCollectionTypeCS ) ) (otherlv_3= '{' ( ( ( (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS ) ) ) (otherlv_5= ',' ( ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) ) ) )* otherlv_7= '++' ( (lv_ownedRestIdentifier_8_0= ruleElementTemplateCS ) ) )? otherlv_9= '}' )?
{
// InternalQVTrelation.g:360:3: ( (lv_name_0_0= ruleUnrestrictedName ) )?
int alt9=2;
int LA9_0 = input.LA(1);
if ( ((LA9_0>=RULE_SIMPLE_ID && LA9_0<=RULE_ESCAPED_ID)||LA9_0==17||(LA9_0>=25 && LA9_0<=32)||(LA9_0>=35 && LA9_0<=43)||(LA9_0>=45 && LA9_0<=47)||(LA9_0>=49 && LA9_0<=59)||LA9_0==61||LA9_0==63||LA9_0==65||LA9_0==68||LA9_0==70||LA9_0==72||(LA9_0>=74 && LA9_0<=77)||(LA9_0>=79 && LA9_0<=84)||LA9_0==86||LA9_0==88||(LA9_0>=90 && LA9_0<=91)) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// InternalQVTrelation.g:361:4: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:361:4: (lv_name_0_0= ruleUnrestrictedName )
// InternalQVTrelation.g:362:5: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_11);
lv_name_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_1=(Token)match(input,18,FollowSets000.FOLLOW_12); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCollectionTemplateCSAccess().getColonKeyword_1());
}
// InternalQVTrelation.g:383:3: ( (lv_ownedType_2_0= ruleCollectionTypeCS ) )
// InternalQVTrelation.g:384:4: (lv_ownedType_2_0= ruleCollectionTypeCS )
{
// InternalQVTrelation.g:384:4: (lv_ownedType_2_0= ruleCollectionTypeCS )
// InternalQVTrelation.g:385:5: lv_ownedType_2_0= ruleCollectionTypeCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_13);
lv_ownedType_2_0=ruleCollectionTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
}
set(
current,
"ownedType",
lv_ownedType_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CollectionTypeCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:402:3: (otherlv_3= '{' ( ( ( (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS ) ) ) (otherlv_5= ',' ( ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) ) ) )* otherlv_7= '++' ( (lv_ownedRestIdentifier_8_0= ruleElementTemplateCS ) ) )? otherlv_9= '}' )?
int alt14=2;
alt14 = dfa14.predict(input);
switch (alt14) {
case 1 :
// InternalQVTrelation.g:403:4: otherlv_3= '{' ( ( ( (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS ) ) ) (otherlv_5= ',' ( ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) ) ) )* otherlv_7= '++' ( (lv_ownedRestIdentifier_8_0= ruleElementTemplateCS ) ) )? otherlv_9= '}'
{
otherlv_3=(Token)match(input,20,FollowSets000.FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getCollectionTemplateCSAccess().getLeftCurlyBracketKeyword_3_0());
}
// InternalQVTrelation.g:407:4: ( ( ( (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS ) ) ) (otherlv_5= ',' ( ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) ) ) )* otherlv_7= '++' ( (lv_ownedRestIdentifier_8_0= ruleElementTemplateCS ) ) )?
int alt13=2;
int LA13_0 = input.LA(1);
if ( ((LA13_0>=RULE_SIMPLE_ID && LA13_0<=RULE_ESCAPED_ID)||(LA13_0>=17 && LA13_0<=18)||(LA13_0>=25 && LA13_0<=32)||(LA13_0>=35 && LA13_0<=43)||(LA13_0>=45 && LA13_0<=47)||(LA13_0>=49 && LA13_0<=59)||LA13_0==61||LA13_0==63||LA13_0==65||LA13_0==68||LA13_0==70||LA13_0==72||(LA13_0>=74 && LA13_0<=77)||(LA13_0>=79 && LA13_0<=84)||LA13_0==86||LA13_0==88||(LA13_0>=90 && LA13_0<=91)) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// InternalQVTrelation.g:408:5: ( ( (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS ) ) ) (otherlv_5= ',' ( ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) ) ) )* otherlv_7= '++' ( (lv_ownedRestIdentifier_8_0= ruleElementTemplateCS ) )
{
// InternalQVTrelation.g:408:5: ( ( (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS ) ) )
// InternalQVTrelation.g:409:6: ( (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS ) )
{
// InternalQVTrelation.g:409:6: ( (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS ) )
// InternalQVTrelation.g:410:7: (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS )
{
// InternalQVTrelation.g:410:7: (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS )
int alt10=2;
alt10 = dfa10.predict(input);
switch (alt10) {
case 1 :
// InternalQVTrelation.g:411:8: lv_ownedMemberIdentifiers_4_1= ruleTemplateCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getOwnedMemberIdentifiersTemplateCSParserRuleCall_3_1_0_0_0());
}
pushFollow(FollowSets000.FOLLOW_15);
lv_ownedMemberIdentifiers_4_1=ruleTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
}
add(
current,
"ownedMemberIdentifiers",
lv_ownedMemberIdentifiers_4_1,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.TemplateCS");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:427:8: lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getOwnedMemberIdentifiersElementTemplateCSParserRuleCall_3_1_0_0_1());
}
pushFollow(FollowSets000.FOLLOW_15);
lv_ownedMemberIdentifiers_4_2=ruleElementTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
}
add(
current,
"ownedMemberIdentifiers",
lv_ownedMemberIdentifiers_4_2,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.ElementTemplateCS");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
// InternalQVTrelation.g:445:5: (otherlv_5= ',' ( ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) ) ) )*
loop12:
do {
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==23) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// InternalQVTrelation.g:446:6: otherlv_5= ',' ( ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) ) )
{
otherlv_5=(Token)match(input,23,FollowSets000.FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getCollectionTemplateCSAccess().getCommaKeyword_3_1_1_0());
}
// InternalQVTrelation.g:450:6: ( ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) ) )
// InternalQVTrelation.g:451:7: ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) )
{
// InternalQVTrelation.g:451:7: ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) )
// InternalQVTrelation.g:452:8: (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS )
{
// InternalQVTrelation.g:452:8: (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS )
int alt11=2;
alt11 = dfa11.predict(input);
switch (alt11) {
case 1 :
// InternalQVTrelation.g:453:9: lv_ownedMemberIdentifiers_6_1= ruleTemplateCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getOwnedMemberIdentifiersTemplateCSParserRuleCall_3_1_1_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_15);
lv_ownedMemberIdentifiers_6_1=ruleTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
}
add(
current,
"ownedMemberIdentifiers",
lv_ownedMemberIdentifiers_6_1,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.TemplateCS");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:469:9: lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getOwnedMemberIdentifiersElementTemplateCSParserRuleCall_3_1_1_1_0_1());
}
pushFollow(FollowSets000.FOLLOW_15);
lv_ownedMemberIdentifiers_6_2=ruleElementTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
}
add(
current,
"ownedMemberIdentifiers",
lv_ownedMemberIdentifiers_6_2,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.ElementTemplateCS");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
}
break;
default :
break loop12;
}
} while (true);
otherlv_7=(Token)match(input,24,FollowSets000.FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getCollectionTemplateCSAccess().getPlusSignPlusSignKeyword_3_1_2());
}
// InternalQVTrelation.g:492:5: ( (lv_ownedRestIdentifier_8_0= ruleElementTemplateCS ) )
// InternalQVTrelation.g:493:6: (lv_ownedRestIdentifier_8_0= ruleElementTemplateCS )
{
// InternalQVTrelation.g:493:6: (lv_ownedRestIdentifier_8_0= ruleElementTemplateCS )
// InternalQVTrelation.g:494:7: lv_ownedRestIdentifier_8_0= ruleElementTemplateCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTemplateCSAccess().getOwnedRestIdentifierElementTemplateCSParserRuleCall_3_1_3_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_ownedRestIdentifier_8_0=ruleElementTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionTemplateCSRule());
}
set(
current,
"ownedRestIdentifier",
lv_ownedRestIdentifier_8_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.ElementTemplateCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_9=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getCollectionTemplateCSAccess().getRightCurlyBracketKeyword_3_2());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCollectionTemplateCS"
// $ANTLR start "entryRuleDefaultValueCS"
// InternalQVTrelation.g:521:1: entryRuleDefaultValueCS returns [EObject current=null] : iv_ruleDefaultValueCS= ruleDefaultValueCS EOF ;
public final EObject entryRuleDefaultValueCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleDefaultValueCS = null;
try {
// InternalQVTrelation.g:521:55: (iv_ruleDefaultValueCS= ruleDefaultValueCS EOF )
// InternalQVTrelation.g:522:2: iv_ruleDefaultValueCS= ruleDefaultValueCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDefaultValueCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleDefaultValueCS=ruleDefaultValueCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDefaultValueCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDefaultValueCS"
// $ANTLR start "ruleDefaultValueCS"
// InternalQVTrelation.g:528:1: ruleDefaultValueCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_ownedInitExpression_2_0= ruleExpCS ) ) otherlv_3= ';' ) ;
public final EObject ruleDefaultValueCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
EObject lv_ownedInitExpression_2_0 = null;
enterRule();
try {
// InternalQVTrelation.g:534:2: ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_ownedInitExpression_2_0= ruleExpCS ) ) otherlv_3= ';' ) )
// InternalQVTrelation.g:535:2: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_ownedInitExpression_2_0= ruleExpCS ) ) otherlv_3= ';' )
{
// InternalQVTrelation.g:535:2: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_ownedInitExpression_2_0= ruleExpCS ) ) otherlv_3= ';' )
// InternalQVTrelation.g:536:3: ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( (lv_ownedInitExpression_2_0= ruleExpCS ) ) otherlv_3= ';'
{
// InternalQVTrelation.g:536:3: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:537:4: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:537:4: ( ruleUnrestrictedName )
// InternalQVTrelation.g:538:5: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDefaultValueCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDefaultValueCSAccess().getPropertyIdSharedVariableCrossReference_0_0());
}
pushFollow(FollowSets000.FOLLOW_18);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getDefaultValueCSAccess().getEqualsSignKeyword_1());
}
// InternalQVTrelation.g:559:3: ( (lv_ownedInitExpression_2_0= ruleExpCS ) )
// InternalQVTrelation.g:560:4: (lv_ownedInitExpression_2_0= ruleExpCS )
{
// InternalQVTrelation.g:560:4: (lv_ownedInitExpression_2_0= ruleExpCS )
// InternalQVTrelation.g:561:5: lv_ownedInitExpression_2_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDefaultValueCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_20);
lv_ownedInitExpression_2_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDefaultValueCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,22,FollowSets000.FOLLOW_2); 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 "entryRuleDomainCS"
// InternalQVTrelation.g:586:1: entryRuleDomainCS returns [EObject current=null] : iv_ruleDomainCS= ruleDomainCS EOF ;
public final EObject entryRuleDomainCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleDomainCS = null;
try {
// InternalQVTrelation.g:586:49: (iv_ruleDomainCS= ruleDomainCS EOF )
// InternalQVTrelation.g:587:2: iv_ruleDomainCS= ruleDomainCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDomainCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleDomainCS=ruleDomainCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDomainCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDomainCS"
// $ANTLR start "ruleDomainCS"
// InternalQVTrelation.g:593:1: ruleDomainCS returns [EObject current=null] : ( ( ( (lv_isCheckonly_0_0= 'checkonly' ) ) | ( (lv_isEnforce_1_0= 'enforce' ) ) | otherlv_2= 'replace' )? otherlv_3= 'domain' ( ( ruleUnrestrictedName ) ) ( ( (lv_ownedPatterns_5_0= ruleDomainPatternCS ) ) (otherlv_6= ',' ( (lv_ownedPatterns_7_0= ruleDomainPatternCS ) ) )* )? (otherlv_8= 'implementedby' ( (lv_implementedBy_9_0= ruleUnrestrictedName ) ) )? (otherlv_10= 'default_values' otherlv_11= '{' ( (lv_ownedDefaultValues_12_0= ruleDefaultValueCS ) )+ otherlv_13= '}' )? otherlv_14= ';' ) ;
public final EObject ruleDomainCS() throws RecognitionException {
EObject current = null;
Token lv_isCheckonly_0_0=null;
Token lv_isEnforce_1_0=null;
Token otherlv_2=null;
Token otherlv_3=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_11=null;
Token otherlv_13=null;
Token otherlv_14=null;
EObject lv_ownedPatterns_5_0 = null;
EObject lv_ownedPatterns_7_0 = null;
AntlrDatatypeRuleToken lv_implementedBy_9_0 = null;
EObject lv_ownedDefaultValues_12_0 = null;
enterRule();
try {
// InternalQVTrelation.g:599:2: ( ( ( ( (lv_isCheckonly_0_0= 'checkonly' ) ) | ( (lv_isEnforce_1_0= 'enforce' ) ) | otherlv_2= 'replace' )? otherlv_3= 'domain' ( ( ruleUnrestrictedName ) ) ( ( (lv_ownedPatterns_5_0= ruleDomainPatternCS ) ) (otherlv_6= ',' ( (lv_ownedPatterns_7_0= ruleDomainPatternCS ) ) )* )? (otherlv_8= 'implementedby' ( (lv_implementedBy_9_0= ruleUnrestrictedName ) ) )? (otherlv_10= 'default_values' otherlv_11= '{' ( (lv_ownedDefaultValues_12_0= ruleDefaultValueCS ) )+ otherlv_13= '}' )? otherlv_14= ';' ) )
// InternalQVTrelation.g:600:2: ( ( ( (lv_isCheckonly_0_0= 'checkonly' ) ) | ( (lv_isEnforce_1_0= 'enforce' ) ) | otherlv_2= 'replace' )? otherlv_3= 'domain' ( ( ruleUnrestrictedName ) ) ( ( (lv_ownedPatterns_5_0= ruleDomainPatternCS ) ) (otherlv_6= ',' ( (lv_ownedPatterns_7_0= ruleDomainPatternCS ) ) )* )? (otherlv_8= 'implementedby' ( (lv_implementedBy_9_0= ruleUnrestrictedName ) ) )? (otherlv_10= 'default_values' otherlv_11= '{' ( (lv_ownedDefaultValues_12_0= ruleDefaultValueCS ) )+ otherlv_13= '}' )? otherlv_14= ';' )
{
// InternalQVTrelation.g:600:2: ( ( ( (lv_isCheckonly_0_0= 'checkonly' ) ) | ( (lv_isEnforce_1_0= 'enforce' ) ) | otherlv_2= 'replace' )? otherlv_3= 'domain' ( ( ruleUnrestrictedName ) ) ( ( (lv_ownedPatterns_5_0= ruleDomainPatternCS ) ) (otherlv_6= ',' ( (lv_ownedPatterns_7_0= ruleDomainPatternCS ) ) )* )? (otherlv_8= 'implementedby' ( (lv_implementedBy_9_0= ruleUnrestrictedName ) ) )? (otherlv_10= 'default_values' otherlv_11= '{' ( (lv_ownedDefaultValues_12_0= ruleDefaultValueCS ) )+ otherlv_13= '}' )? otherlv_14= ';' )
// InternalQVTrelation.g:601:3: ( ( (lv_isCheckonly_0_0= 'checkonly' ) ) | ( (lv_isEnforce_1_0= 'enforce' ) ) | otherlv_2= 'replace' )? otherlv_3= 'domain' ( ( ruleUnrestrictedName ) ) ( ( (lv_ownedPatterns_5_0= ruleDomainPatternCS ) ) (otherlv_6= ',' ( (lv_ownedPatterns_7_0= ruleDomainPatternCS ) ) )* )? (otherlv_8= 'implementedby' ( (lv_implementedBy_9_0= ruleUnrestrictedName ) ) )? (otherlv_10= 'default_values' otherlv_11= '{' ( (lv_ownedDefaultValues_12_0= ruleDefaultValueCS ) )+ otherlv_13= '}' )? otherlv_14= ';'
{
// InternalQVTrelation.g:601:3: ( ( (lv_isCheckonly_0_0= 'checkonly' ) ) | ( (lv_isEnforce_1_0= 'enforce' ) ) | otherlv_2= 'replace' )?
int alt15=4;
switch ( input.LA(1) ) {
case 25:
{
alt15=1;
}
break;
case 26:
{
alt15=2;
}
break;
case 27:
{
alt15=3;
}
break;
}
switch (alt15) {
case 1 :
// InternalQVTrelation.g:602:4: ( (lv_isCheckonly_0_0= 'checkonly' ) )
{
// InternalQVTrelation.g:602:4: ( (lv_isCheckonly_0_0= 'checkonly' ) )
// InternalQVTrelation.g:603:5: (lv_isCheckonly_0_0= 'checkonly' )
{
// InternalQVTrelation.g:603:5: (lv_isCheckonly_0_0= 'checkonly' )
// InternalQVTrelation.g:604:6: lv_isCheckonly_0_0= 'checkonly'
{
lv_isCheckonly_0_0=(Token)match(input,25,FollowSets000.FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isCheckonly_0_0, grammarAccess.getDomainCSAccess().getIsCheckonlyCheckonlyKeyword_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDomainCSRule());
}
setWithLastConsumed(current, "isCheckonly", lv_isCheckonly_0_0 != null, "checkonly");
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:617:4: ( (lv_isEnforce_1_0= 'enforce' ) )
{
// InternalQVTrelation.g:617:4: ( (lv_isEnforce_1_0= 'enforce' ) )
// InternalQVTrelation.g:618:5: (lv_isEnforce_1_0= 'enforce' )
{
// InternalQVTrelation.g:618:5: (lv_isEnforce_1_0= 'enforce' )
// InternalQVTrelation.g:619:6: lv_isEnforce_1_0= 'enforce'
{
lv_isEnforce_1_0=(Token)match(input,26,FollowSets000.FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isEnforce_1_0, grammarAccess.getDomainCSAccess().getIsEnforceEnforceKeyword_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDomainCSRule());
}
setWithLastConsumed(current, "isEnforce", lv_isEnforce_1_0 != null, "enforce");
}
}
}
}
break;
case 3 :
// InternalQVTrelation.g:632:4: otherlv_2= 'replace'
{
otherlv_2=(Token)match(input,27,FollowSets000.FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getDomainCSAccess().getReplaceKeyword_0_2());
}
}
break;
}
otherlv_3=(Token)match(input,28,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getDomainCSAccess().getDomainKeyword_1());
}
// InternalQVTrelation.g:641:3: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:642:4: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:642:4: ( ruleUnrestrictedName )
// InternalQVTrelation.g:643:5: 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_22);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:660:3: ( ( (lv_ownedPatterns_5_0= ruleDomainPatternCS ) ) (otherlv_6= ',' ( (lv_ownedPatterns_7_0= ruleDomainPatternCS ) ) )* )?
int alt17=2;
switch ( input.LA(1) ) {
case RULE_SIMPLE_ID:
case RULE_ESCAPED_ID:
case 17:
case 18:
case 25:
case 26:
case 27:
case 28:
case 31:
case 32:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 45:
case 46:
case 47:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 61:
case 63:
case 65:
case 68:
case 70:
case 72:
case 74:
case 75:
case 76:
case 77:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 86:
case 88:
case 90:
case 91:
{
alt17=1;
}
break;
case 30:
{
int LA17_2 = input.LA(2);
if ( (LA17_2==18) ) {
alt17=1;
}
}
break;
case 29:
{
int LA17_3 = input.LA(2);
if ( (LA17_3==18) ) {
alt17=1;
}
}
break;
}
switch (alt17) {
case 1 :
// InternalQVTrelation.g:661:4: ( (lv_ownedPatterns_5_0= ruleDomainPatternCS ) ) (otherlv_6= ',' ( (lv_ownedPatterns_7_0= ruleDomainPatternCS ) ) )*
{
// InternalQVTrelation.g:661:4: ( (lv_ownedPatterns_5_0= ruleDomainPatternCS ) )
// InternalQVTrelation.g:662:5: (lv_ownedPatterns_5_0= ruleDomainPatternCS )
{
// InternalQVTrelation.g:662:5: (lv_ownedPatterns_5_0= ruleDomainPatternCS )
// InternalQVTrelation.g:663:6: lv_ownedPatterns_5_0= ruleDomainPatternCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDomainCSAccess().getOwnedPatternsDomainPatternCSParserRuleCall_3_0_0());
}
pushFollow(FollowSets000.FOLLOW_23);
lv_ownedPatterns_5_0=ruleDomainPatternCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDomainCSRule());
}
add(
current,
"ownedPatterns",
lv_ownedPatterns_5_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.DomainPatternCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:680:4: (otherlv_6= ',' ( (lv_ownedPatterns_7_0= ruleDomainPatternCS ) ) )*
loop16:
do {
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==23) ) {
alt16=1;
}
switch (alt16) {
case 1 :
// InternalQVTrelation.g:681:5: otherlv_6= ',' ( (lv_ownedPatterns_7_0= ruleDomainPatternCS ) )
{
otherlv_6=(Token)match(input,23,FollowSets000.FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getDomainCSAccess().getCommaKeyword_3_1_0());
}
// InternalQVTrelation.g:685:5: ( (lv_ownedPatterns_7_0= ruleDomainPatternCS ) )
// InternalQVTrelation.g:686:6: (lv_ownedPatterns_7_0= ruleDomainPatternCS )
{
// InternalQVTrelation.g:686:6: (lv_ownedPatterns_7_0= ruleDomainPatternCS )
// InternalQVTrelation.g:687:7: lv_ownedPatterns_7_0= ruleDomainPatternCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDomainCSAccess().getOwnedPatternsDomainPatternCSParserRuleCall_3_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_23);
lv_ownedPatterns_7_0=ruleDomainPatternCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDomainCSRule());
}
add(
current,
"ownedPatterns",
lv_ownedPatterns_7_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.DomainPatternCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop16;
}
} while (true);
}
break;
}
// InternalQVTrelation.g:706:3: (otherlv_8= 'implementedby' ( (lv_implementedBy_9_0= ruleUnrestrictedName ) ) )?
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==29) ) {
alt18=1;
}
switch (alt18) {
case 1 :
// InternalQVTrelation.g:707:4: otherlv_8= 'implementedby' ( (lv_implementedBy_9_0= ruleUnrestrictedName ) )
{
otherlv_8=(Token)match(input,29,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getDomainCSAccess().getImplementedbyKeyword_4_0());
}
// InternalQVTrelation.g:711:4: ( (lv_implementedBy_9_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:712:5: (lv_implementedBy_9_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:712:5: (lv_implementedBy_9_0= ruleUnrestrictedName )
// InternalQVTrelation.g:713:6: lv_implementedBy_9_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDomainCSAccess().getImplementedByUnrestrictedNameParserRuleCall_4_1_0());
}
pushFollow(FollowSets000.FOLLOW_24);
lv_implementedBy_9_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDomainCSRule());
}
set(
current,
"implementedBy",
lv_implementedBy_9_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:731:3: (otherlv_10= 'default_values' otherlv_11= '{' ( (lv_ownedDefaultValues_12_0= ruleDefaultValueCS ) )+ otherlv_13= '}' )?
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==30) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// InternalQVTrelation.g:732:4: otherlv_10= 'default_values' otherlv_11= '{' ( (lv_ownedDefaultValues_12_0= ruleDefaultValueCS ) )+ otherlv_13= '}'
{
otherlv_10=(Token)match(input,30,FollowSets000.FOLLOW_25); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getDomainCSAccess().getDefault_valuesKeyword_5_0());
}
otherlv_11=(Token)match(input,20,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getDomainCSAccess().getLeftCurlyBracketKeyword_5_1());
}
// InternalQVTrelation.g:740:4: ( (lv_ownedDefaultValues_12_0= ruleDefaultValueCS ) )+
int cnt19=0;
loop19:
do {
int alt19=2;
int LA19_0 = input.LA(1);
if ( ((LA19_0>=RULE_SIMPLE_ID && LA19_0<=RULE_ESCAPED_ID)||LA19_0==17||(LA19_0>=25 && LA19_0<=32)||(LA19_0>=35 && LA19_0<=43)||(LA19_0>=45 && LA19_0<=47)||(LA19_0>=49 && LA19_0<=59)||LA19_0==61||LA19_0==63||LA19_0==65||LA19_0==68||LA19_0==70||LA19_0==72||(LA19_0>=74 && LA19_0<=77)||(LA19_0>=79 && LA19_0<=84)||LA19_0==86||LA19_0==88||(LA19_0>=90 && LA19_0<=91)) ) {
alt19=1;
}
switch (alt19) {
case 1 :
// InternalQVTrelation.g:741:5: (lv_ownedDefaultValues_12_0= ruleDefaultValueCS )
{
// InternalQVTrelation.g:741:5: (lv_ownedDefaultValues_12_0= ruleDefaultValueCS )
// InternalQVTrelation.g:742:6: lv_ownedDefaultValues_12_0= ruleDefaultValueCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDomainCSAccess().getOwnedDefaultValuesDefaultValueCSParserRuleCall_5_2_0());
}
pushFollow(FollowSets000.FOLLOW_26);
lv_ownedDefaultValues_12_0=ruleDefaultValueCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDomainCSRule());
}
add(
current,
"ownedDefaultValues",
lv_ownedDefaultValues_12_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.DefaultValueCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt19 >= 1 ) break loop19;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(19, input);
throw eee;
}
cnt19++;
} while (true);
otherlv_13=(Token)match(input,21,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getDomainCSAccess().getRightCurlyBracketKeyword_5_3());
}
}
break;
}
otherlv_14=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getDomainCSAccess().getSemicolonKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDomainCS"
// $ANTLR start "entryRuleDomainPatternCS"
// InternalQVTrelation.g:772:1: entryRuleDomainPatternCS returns [EObject current=null] : iv_ruleDomainPatternCS= ruleDomainPatternCS EOF ;
public final EObject entryRuleDomainPatternCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleDomainPatternCS = null;
try {
// InternalQVTrelation.g:772:56: (iv_ruleDomainPatternCS= ruleDomainPatternCS EOF )
// InternalQVTrelation.g:773:2: iv_ruleDomainPatternCS= ruleDomainPatternCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDomainPatternCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleDomainPatternCS=ruleDomainPatternCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDomainPatternCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDomainPatternCS"
// $ANTLR start "ruleDomainPatternCS"
// InternalQVTrelation.g:779:1: ruleDomainPatternCS returns [EObject current=null] : ( (lv_ownedTemplate_0_0= ruleTemplateCS ) ) ;
public final EObject ruleDomainPatternCS() throws RecognitionException {
EObject current = null;
EObject lv_ownedTemplate_0_0 = null;
enterRule();
try {
// InternalQVTrelation.g:785:2: ( ( (lv_ownedTemplate_0_0= ruleTemplateCS ) ) )
// InternalQVTrelation.g:786:2: ( (lv_ownedTemplate_0_0= ruleTemplateCS ) )
{
// InternalQVTrelation.g:786:2: ( (lv_ownedTemplate_0_0= ruleTemplateCS ) )
// InternalQVTrelation.g:787:3: (lv_ownedTemplate_0_0= ruleTemplateCS )
{
// InternalQVTrelation.g:787:3: (lv_ownedTemplate_0_0= ruleTemplateCS )
// InternalQVTrelation.g:788:4: lv_ownedTemplate_0_0= ruleTemplateCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDomainPatternCSAccess().getOwnedTemplateTemplateCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedTemplate_0_0=ruleTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDomainPatternCSRule());
}
set(
current,
"ownedTemplate",
lv_ownedTemplate_0_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.TemplateCS");
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDomainPatternCS"
// $ANTLR start "entryRuleElementTemplateCS"
// InternalQVTrelation.g:808:1: entryRuleElementTemplateCS returns [EObject current=null] : iv_ruleElementTemplateCS= ruleElementTemplateCS EOF ;
public final EObject entryRuleElementTemplateCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleElementTemplateCS = null;
try {
// InternalQVTrelation.g:808:58: (iv_ruleElementTemplateCS= ruleElementTemplateCS EOF )
// InternalQVTrelation.g:809:2: iv_ruleElementTemplateCS= ruleElementTemplateCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getElementTemplateCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleElementTemplateCS=ruleElementTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleElementTemplateCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleElementTemplateCS"
// $ANTLR start "ruleElementTemplateCS"
// InternalQVTrelation.g:815:1: ruleElementTemplateCS returns [EObject current=null] : ( ( ruleUnrestrictedName ) ) ;
public final EObject ruleElementTemplateCS() throws RecognitionException {
EObject current = null;
enterRule();
try {
// InternalQVTrelation.g:821:2: ( ( ( ruleUnrestrictedName ) ) )
// InternalQVTrelation.g:822:2: ( ( ruleUnrestrictedName ) )
{
// InternalQVTrelation.g:822:2: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:823:3: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:823:3: ( ruleUnrestrictedName )
// InternalQVTrelation.g:824:4: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getElementTemplateCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getElementTemplateCSAccess().getIdentifierSharedVariableCrossReference_0());
}
pushFollow(FollowSets000.FOLLOW_2);
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 "ruleElementTemplateCS"
// $ANTLR start "entryRuleKeyDeclCS"
// InternalQVTrelation.g:844:1: entryRuleKeyDeclCS returns [EObject current=null] : iv_ruleKeyDeclCS= ruleKeyDeclCS EOF ;
public final EObject entryRuleKeyDeclCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleKeyDeclCS = null;
try {
// InternalQVTrelation.g:844:50: (iv_ruleKeyDeclCS= ruleKeyDeclCS EOF )
// InternalQVTrelation.g:845:2: iv_ruleKeyDeclCS= ruleKeyDeclCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getKeyDeclCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleKeyDeclCS=ruleKeyDeclCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleKeyDeclCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleKeyDeclCS"
// $ANTLR start "ruleKeyDeclCS"
// InternalQVTrelation.g:851:1: ruleKeyDeclCS returns [EObject current=null] : (otherlv_0= 'key' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= '{' ( ( ( ruleUnrestrictedName ) ) | (otherlv_4= 'opposite' otherlv_5= '(' ( (lv_ownedOppositePropertyIds_6_0= rulePathNameCS ) ) otherlv_7= ')' ) ) (otherlv_8= ',' ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= 'opposite' otherlv_11= '(' ( (lv_ownedOppositePropertyIds_12_0= rulePathNameCS ) ) otherlv_13= ')' ) ) )* otherlv_14= '}' otherlv_15= ';' ) ;
public final EObject ruleKeyDeclCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_11=null;
Token otherlv_13=null;
Token otherlv_14=null;
Token otherlv_15=null;
EObject lv_ownedPathName_1_0 = null;
EObject lv_ownedOppositePropertyIds_6_0 = null;
EObject lv_ownedOppositePropertyIds_12_0 = null;
enterRule();
try {
// InternalQVTrelation.g:857:2: ( (otherlv_0= 'key' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= '{' ( ( ( ruleUnrestrictedName ) ) | (otherlv_4= 'opposite' otherlv_5= '(' ( (lv_ownedOppositePropertyIds_6_0= rulePathNameCS ) ) otherlv_7= ')' ) ) (otherlv_8= ',' ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= 'opposite' otherlv_11= '(' ( (lv_ownedOppositePropertyIds_12_0= rulePathNameCS ) ) otherlv_13= ')' ) ) )* otherlv_14= '}' otherlv_15= ';' ) )
// InternalQVTrelation.g:858:2: (otherlv_0= 'key' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= '{' ( ( ( ruleUnrestrictedName ) ) | (otherlv_4= 'opposite' otherlv_5= '(' ( (lv_ownedOppositePropertyIds_6_0= rulePathNameCS ) ) otherlv_7= ')' ) ) (otherlv_8= ',' ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= 'opposite' otherlv_11= '(' ( (lv_ownedOppositePropertyIds_12_0= rulePathNameCS ) ) otherlv_13= ')' ) ) )* otherlv_14= '}' otherlv_15= ';' )
{
// InternalQVTrelation.g:858:2: (otherlv_0= 'key' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= '{' ( ( ( ruleUnrestrictedName ) ) | (otherlv_4= 'opposite' otherlv_5= '(' ( (lv_ownedOppositePropertyIds_6_0= rulePathNameCS ) ) otherlv_7= ')' ) ) (otherlv_8= ',' ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= 'opposite' otherlv_11= '(' ( (lv_ownedOppositePropertyIds_12_0= rulePathNameCS ) ) otherlv_13= ')' ) ) )* otherlv_14= '}' otherlv_15= ';' )
// InternalQVTrelation.g:859:3: otherlv_0= 'key' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= '{' ( ( ( ruleUnrestrictedName ) ) | (otherlv_4= 'opposite' otherlv_5= '(' ( (lv_ownedOppositePropertyIds_6_0= rulePathNameCS ) ) otherlv_7= ')' ) ) (otherlv_8= ',' ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= 'opposite' otherlv_11= '(' ( (lv_ownedOppositePropertyIds_12_0= rulePathNameCS ) ) otherlv_13= ')' ) ) )* otherlv_14= '}' otherlv_15= ';'
{
otherlv_0=(Token)match(input,31,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getKeyDeclCSAccess().getKeyKeyword_0());
}
// InternalQVTrelation.g:863:3: ( (lv_ownedPathName_1_0= rulePathNameCS ) )
// InternalQVTrelation.g:864:4: (lv_ownedPathName_1_0= rulePathNameCS )
{
// InternalQVTrelation.g:864:4: (lv_ownedPathName_1_0= rulePathNameCS )
// InternalQVTrelation.g:865:5: lv_ownedPathName_1_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getKeyDeclCSAccess().getOwnedPathNamePathNameCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_25);
lv_ownedPathName_1_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getKeyDeclCSRule());
}
set(
current,
"ownedPathName",
lv_ownedPathName_1_0,
"org.eclipse.ocl.xtext.base.Base.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getKeyDeclCSAccess().getLeftCurlyBracketKeyword_2());
}
// InternalQVTrelation.g:886:3: ( ( ( ruleUnrestrictedName ) ) | (otherlv_4= 'opposite' otherlv_5= '(' ( (lv_ownedOppositePropertyIds_6_0= rulePathNameCS ) ) otherlv_7= ')' ) )
int alt21=2;
int LA21_0 = input.LA(1);
if ( ((LA21_0>=RULE_SIMPLE_ID && LA21_0<=RULE_ESCAPED_ID)||LA21_0==17||(LA21_0>=25 && LA21_0<=31)||(LA21_0>=35 && LA21_0<=43)||(LA21_0>=45 && LA21_0<=47)||(LA21_0>=49 && LA21_0<=59)||LA21_0==61||LA21_0==63||LA21_0==65||LA21_0==68||LA21_0==70||LA21_0==72||(LA21_0>=74 && LA21_0<=77)||(LA21_0>=79 && LA21_0<=84)||LA21_0==86||LA21_0==88||(LA21_0>=90 && LA21_0<=91)) ) {
alt21=1;
}
else if ( (LA21_0==32) ) {
int LA21_2 = input.LA(2);
if ( (LA21_2==33) ) {
alt21=2;
}
else if ( (LA21_2==21||LA21_2==23) ) {
alt21=1;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 21, 2, input);
throw nvae;
}
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 21, 0, input);
throw nvae;
}
switch (alt21) {
case 1 :
// InternalQVTrelation.g:887:4: ( ( ruleUnrestrictedName ) )
{
// InternalQVTrelation.g:887:4: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:888:5: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:888:5: ( ruleUnrestrictedName )
// InternalQVTrelation.g:889:6: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getKeyDeclCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getKeyDeclCSAccess().getPropertyIdsPropertyCrossReference_3_0_0());
}
pushFollow(FollowSets000.FOLLOW_28);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:907:4: (otherlv_4= 'opposite' otherlv_5= '(' ( (lv_ownedOppositePropertyIds_6_0= rulePathNameCS ) ) otherlv_7= ')' )
{
// InternalQVTrelation.g:907:4: (otherlv_4= 'opposite' otherlv_5= '(' ( (lv_ownedOppositePropertyIds_6_0= rulePathNameCS ) ) otherlv_7= ')' )
// InternalQVTrelation.g:908:5: otherlv_4= 'opposite' otherlv_5= '(' ( (lv_ownedOppositePropertyIds_6_0= rulePathNameCS ) ) otherlv_7= ')'
{
otherlv_4=(Token)match(input,32,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getKeyDeclCSAccess().getOppositeKeyword_3_1_0());
}
otherlv_5=(Token)match(input,33,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getKeyDeclCSAccess().getLeftParenthesisKeyword_3_1_1());
}
// InternalQVTrelation.g:916:5: ( (lv_ownedOppositePropertyIds_6_0= rulePathNameCS ) )
// InternalQVTrelation.g:917:6: (lv_ownedOppositePropertyIds_6_0= rulePathNameCS )
{
// InternalQVTrelation.g:917:6: (lv_ownedOppositePropertyIds_6_0= rulePathNameCS )
// InternalQVTrelation.g:918:7: lv_ownedOppositePropertyIds_6_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getKeyDeclCSAccess().getOwnedOppositePropertyIdsPathNameCSParserRuleCall_3_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_30);
lv_ownedOppositePropertyIds_6_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getKeyDeclCSRule());
}
add(
current,
"ownedOppositePropertyIds",
lv_ownedOppositePropertyIds_6_0,
"org.eclipse.ocl.xtext.base.Base.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_7=(Token)match(input,34,FollowSets000.FOLLOW_28); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getKeyDeclCSAccess().getRightParenthesisKeyword_3_1_3());
}
}
}
break;
}
// InternalQVTrelation.g:941:3: (otherlv_8= ',' ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= 'opposite' otherlv_11= '(' ( (lv_ownedOppositePropertyIds_12_0= rulePathNameCS ) ) otherlv_13= ')' ) ) )*
loop23:
do {
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==23) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// InternalQVTrelation.g:942:4: otherlv_8= ',' ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= 'opposite' otherlv_11= '(' ( (lv_ownedOppositePropertyIds_12_0= rulePathNameCS ) ) otherlv_13= ')' ) )
{
otherlv_8=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getKeyDeclCSAccess().getCommaKeyword_4_0());
}
// InternalQVTrelation.g:946:4: ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= 'opposite' otherlv_11= '(' ( (lv_ownedOppositePropertyIds_12_0= rulePathNameCS ) ) otherlv_13= ')' ) )
int alt22=2;
int LA22_0 = input.LA(1);
if ( ((LA22_0>=RULE_SIMPLE_ID && LA22_0<=RULE_ESCAPED_ID)||LA22_0==17||(LA22_0>=25 && LA22_0<=31)||(LA22_0>=35 && LA22_0<=43)||(LA22_0>=45 && LA22_0<=47)||(LA22_0>=49 && LA22_0<=59)||LA22_0==61||LA22_0==63||LA22_0==65||LA22_0==68||LA22_0==70||LA22_0==72||(LA22_0>=74 && LA22_0<=77)||(LA22_0>=79 && LA22_0<=84)||LA22_0==86||LA22_0==88||(LA22_0>=90 && LA22_0<=91)) ) {
alt22=1;
}
else if ( (LA22_0==32) ) {
int LA22_2 = input.LA(2);
if ( (LA22_2==33) ) {
alt22=2;
}
else if ( (LA22_2==21||LA22_2==23) ) {
alt22=1;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 22, 2, input);
throw nvae;
}
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 22, 0, input);
throw nvae;
}
switch (alt22) {
case 1 :
// InternalQVTrelation.g:947:5: ( ( ruleUnrestrictedName ) )
{
// InternalQVTrelation.g:947:5: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:948:6: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:948:6: ( ruleUnrestrictedName )
// InternalQVTrelation.g:949:7: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getKeyDeclCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getKeyDeclCSAccess().getPropertyIdsPropertyCrossReference_4_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_28);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:967:5: (otherlv_10= 'opposite' otherlv_11= '(' ( (lv_ownedOppositePropertyIds_12_0= rulePathNameCS ) ) otherlv_13= ')' )
{
// InternalQVTrelation.g:967:5: (otherlv_10= 'opposite' otherlv_11= '(' ( (lv_ownedOppositePropertyIds_12_0= rulePathNameCS ) ) otherlv_13= ')' )
// InternalQVTrelation.g:968:6: otherlv_10= 'opposite' otherlv_11= '(' ( (lv_ownedOppositePropertyIds_12_0= rulePathNameCS ) ) otherlv_13= ')'
{
otherlv_10=(Token)match(input,32,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getKeyDeclCSAccess().getOppositeKeyword_4_1_1_0());
}
otherlv_11=(Token)match(input,33,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getKeyDeclCSAccess().getLeftParenthesisKeyword_4_1_1_1());
}
// InternalQVTrelation.g:976:6: ( (lv_ownedOppositePropertyIds_12_0= rulePathNameCS ) )
// InternalQVTrelation.g:977:7: (lv_ownedOppositePropertyIds_12_0= rulePathNameCS )
{
// InternalQVTrelation.g:977:7: (lv_ownedOppositePropertyIds_12_0= rulePathNameCS )
// InternalQVTrelation.g:978:8: lv_ownedOppositePropertyIds_12_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getKeyDeclCSAccess().getOwnedOppositePropertyIdsPathNameCSParserRuleCall_4_1_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_30);
lv_ownedOppositePropertyIds_12_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getKeyDeclCSRule());
}
add(
current,
"ownedOppositePropertyIds",
lv_ownedOppositePropertyIds_12_0,
"org.eclipse.ocl.xtext.base.Base.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_13=(Token)match(input,34,FollowSets000.FOLLOW_28); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getKeyDeclCSAccess().getRightParenthesisKeyword_4_1_1_3());
}
}
}
break;
}
}
break;
default :
break loop23;
}
} while (true);
otherlv_14=(Token)match(input,21,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getKeyDeclCSAccess().getRightCurlyBracketKeyword_5());
}
otherlv_15=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getKeyDeclCSAccess().getSemicolonKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleKeyDeclCS"
// $ANTLR start "entryRuleModelDeclCS"
// InternalQVTrelation.g:1014:1: entryRuleModelDeclCS returns [EObject current=null] : iv_ruleModelDeclCS= ruleModelDeclCS EOF ;
public final EObject entryRuleModelDeclCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleModelDeclCS = null;
try {
// InternalQVTrelation.g:1014:52: (iv_ruleModelDeclCS= ruleModelDeclCS EOF )
// InternalQVTrelation.g:1015:2: iv_ruleModelDeclCS= ruleModelDeclCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelDeclCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleModelDeclCS=ruleModelDeclCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleModelDeclCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleModelDeclCS"
// $ANTLR start "ruleModelDeclCS"
// InternalQVTrelation.g:1021:1: ruleModelDeclCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( ( ( ruleUnrestrictedName ) ) | (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' ) ) (otherlv_8= 'dependsOn' ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_12= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_14= '}' ) ) )? (otherlv_15= 'iterates' ( ( ( ruleUnrestrictedName ) ) | (otherlv_17= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_19= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_21= '}' ) ) )? ) ;
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;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_12=null;
Token otherlv_14=null;
Token otherlv_15=null;
Token otherlv_17=null;
Token otherlv_19=null;
Token otherlv_21=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
enterRule();
try {
// InternalQVTrelation.g:1027:2: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( ( ( ruleUnrestrictedName ) ) | (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' ) ) (otherlv_8= 'dependsOn' ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_12= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_14= '}' ) ) )? (otherlv_15= 'iterates' ( ( ( ruleUnrestrictedName ) ) | (otherlv_17= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_19= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_21= '}' ) ) )? ) )
// InternalQVTrelation.g:1028:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( ( ( ruleUnrestrictedName ) ) | (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' ) ) (otherlv_8= 'dependsOn' ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_12= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_14= '}' ) ) )? (otherlv_15= 'iterates' ( ( ( ruleUnrestrictedName ) ) | (otherlv_17= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_19= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_21= '}' ) ) )? )
{
// InternalQVTrelation.g:1028:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( ( ( ruleUnrestrictedName ) ) | (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' ) ) (otherlv_8= 'dependsOn' ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_12= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_14= '}' ) ) )? (otherlv_15= 'iterates' ( ( ( ruleUnrestrictedName ) ) | (otherlv_17= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_19= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_21= '}' ) ) )? )
// InternalQVTrelation.g:1029:3: ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( ( ( ruleUnrestrictedName ) ) | (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' ) ) (otherlv_8= 'dependsOn' ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_12= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_14= '}' ) ) )? (otherlv_15= 'iterates' ( ( ( ruleUnrestrictedName ) ) | (otherlv_17= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_19= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_21= '}' ) ) )?
{
// InternalQVTrelation.g:1029:3: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:1030:4: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:1030:4: (lv_name_0_0= ruleUnrestrictedName )
// InternalQVTrelation.g:1031:5: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelDeclCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_11);
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,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,18,FollowSets000.FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getModelDeclCSAccess().getColonKeyword_1());
}
// InternalQVTrelation.g:1052:3: ( ( ( ruleUnrestrictedName ) ) | (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' ) )
int alt25=2;
int LA25_0 = input.LA(1);
if ( ((LA25_0>=RULE_SIMPLE_ID && LA25_0<=RULE_ESCAPED_ID)||LA25_0==17||(LA25_0>=25 && LA25_0<=32)||(LA25_0>=35 && LA25_0<=43)||(LA25_0>=45 && LA25_0<=47)||(LA25_0>=49 && LA25_0<=59)||LA25_0==61||LA25_0==63||LA25_0==65||LA25_0==68||LA25_0==70||LA25_0==72||(LA25_0>=74 && LA25_0<=77)||(LA25_0>=79 && LA25_0<=84)||LA25_0==86||LA25_0==88||(LA25_0>=90 && LA25_0<=91)) ) {
alt25=1;
}
else if ( (LA25_0==20) ) {
alt25=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 25, 0, input);
throw nvae;
}
switch (alt25) {
case 1 :
// InternalQVTrelation.g:1053:4: ( ( ruleUnrestrictedName ) )
{
// InternalQVTrelation.g:1053:4: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:1054:5: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:1054:5: ( ruleUnrestrictedName )
// InternalQVTrelation.g:1055:6: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getModelDeclCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelDeclCSAccess().getMetamodelIdsNamespaceCrossReference_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_32);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:1073:4: (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' )
{
// InternalQVTrelation.g:1073:4: (otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}' )
// InternalQVTrelation.g:1074:5: otherlv_3= '{' ( ( ruleUnrestrictedName ) ) (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_7= '}'
{
otherlv_3=(Token)match(input,20,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getModelDeclCSAccess().getLeftCurlyBracketKeyword_2_1_0());
}
// InternalQVTrelation.g:1078:5: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:1079:6: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:1079:6: ( ruleUnrestrictedName )
// InternalQVTrelation.g:1080:7: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getModelDeclCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelDeclCSAccess().getMetamodelIdsNamespaceCrossReference_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:1097:5: (otherlv_5= ',' ( ( ruleUnrestrictedName ) ) )*
loop24:
do {
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==23) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// InternalQVTrelation.g:1098:6: otherlv_5= ',' ( ( ruleUnrestrictedName ) )
{
otherlv_5=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getModelDeclCSAccess().getCommaKeyword_2_1_2_0());
}
// InternalQVTrelation.g:1102:6: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:1103:7: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:1103:7: ( ruleUnrestrictedName )
// InternalQVTrelation.g:1104:8: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getModelDeclCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelDeclCSAccess().getMetamodelIdsNamespaceCrossReference_2_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop24;
}
} while (true);
otherlv_7=(Token)match(input,21,FollowSets000.FOLLOW_32); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getModelDeclCSAccess().getRightCurlyBracketKeyword_2_1_3());
}
}
}
break;
}
// InternalQVTrelation.g:1128:3: (otherlv_8= 'dependsOn' ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_12= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_14= '}' ) ) )?
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==35) ) {
alt29=1;
}
switch (alt29) {
case 1 :
// InternalQVTrelation.g:1129:4: otherlv_8= 'dependsOn' ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_12= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_14= '}' ) )
{
otherlv_8=(Token)match(input,35,FollowSets000.FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getModelDeclCSAccess().getDependsOnKeyword_3_0());
}
// InternalQVTrelation.g:1133:4: ( ( ( ruleUnrestrictedName ) ) | (otherlv_10= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_12= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_14= '}' ) )
int alt28=2;
int LA28_0 = input.LA(1);
if ( ((LA28_0>=RULE_SIMPLE_ID && LA28_0<=RULE_ESCAPED_ID)||LA28_0==17||(LA28_0>=25 && LA28_0<=32)||(LA28_0>=35 && LA28_0<=43)||(LA28_0>=45 && LA28_0<=47)||(LA28_0>=49 && LA28_0<=59)||LA28_0==61||LA28_0==63||LA28_0==65||LA28_0==68||LA28_0==70||LA28_0==72||(LA28_0>=74 && LA28_0<=77)||(LA28_0>=79 && LA28_0<=84)||LA28_0==86||LA28_0==88||(LA28_0>=90 && LA28_0<=91)) ) {
alt28=1;
}
else if ( (LA28_0==20) ) {
alt28=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 28, 0, input);
throw nvae;
}
switch (alt28) {
case 1 :
// InternalQVTrelation.g:1134:5: ( ( ruleUnrestrictedName ) )
{
// InternalQVTrelation.g:1134:5: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:1135:6: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:1135:6: ( ruleUnrestrictedName )
// InternalQVTrelation.g:1136:7: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getModelDeclCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelDeclCSAccess().getDependsOnTypedModelCrossReference_3_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_33);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:1154:5: (otherlv_10= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_12= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_14= '}' )
{
// InternalQVTrelation.g:1154:5: (otherlv_10= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_12= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_14= '}' )
// InternalQVTrelation.g:1155:6: otherlv_10= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_12= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_14= '}'
{
otherlv_10=(Token)match(input,20,FollowSets000.FOLLOW_26); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getModelDeclCSAccess().getLeftCurlyBracketKeyword_3_1_1_0());
}
// InternalQVTrelation.g:1159:6: ( ( ( ruleUnrestrictedName ) ) (otherlv_12= ',' ( ( 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>=25 && LA27_0<=32)||(LA27_0>=35 && LA27_0<=43)||(LA27_0>=45 && LA27_0<=47)||(LA27_0>=49 && LA27_0<=59)||LA27_0==61||LA27_0==63||LA27_0==65||LA27_0==68||LA27_0==70||LA27_0==72||(LA27_0>=74 && LA27_0<=77)||(LA27_0>=79 && LA27_0<=84)||LA27_0==86||LA27_0==88||(LA27_0>=90 && LA27_0<=91)) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// InternalQVTrelation.g:1160:7: ( ( ruleUnrestrictedName ) ) (otherlv_12= ',' ( ( ruleUnrestrictedName ) ) )*
{
// InternalQVTrelation.g:1160:7: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:1161:8: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:1161:8: ( ruleUnrestrictedName )
// InternalQVTrelation.g:1162:9: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getModelDeclCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelDeclCSAccess().getDependsOnTypedModelCrossReference_3_1_1_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_28);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:1179:7: (otherlv_12= ',' ( ( ruleUnrestrictedName ) ) )*
loop26:
do {
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==23) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// InternalQVTrelation.g:1180:8: otherlv_12= ',' ( ( ruleUnrestrictedName ) )
{
otherlv_12=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getModelDeclCSAccess().getCommaKeyword_3_1_1_1_1_0());
}
// InternalQVTrelation.g:1184:8: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:1185:9: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:1185:9: ( ruleUnrestrictedName )
// InternalQVTrelation.g:1186:10: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getModelDeclCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelDeclCSAccess().getDependsOnTypedModelCrossReference_3_1_1_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop26;
}
} while (true);
}
break;
}
otherlv_14=(Token)match(input,21,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getModelDeclCSAccess().getRightCurlyBracketKeyword_3_1_1_2());
}
}
}
break;
}
}
break;
}
// InternalQVTrelation.g:1212:3: (otherlv_15= 'iterates' ( ( ( ruleUnrestrictedName ) ) | (otherlv_17= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_19= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_21= '}' ) ) )?
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==36) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// InternalQVTrelation.g:1213:4: otherlv_15= 'iterates' ( ( ( ruleUnrestrictedName ) ) | (otherlv_17= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_19= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_21= '}' ) )
{
otherlv_15=(Token)match(input,36,FollowSets000.FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getModelDeclCSAccess().getIteratesKeyword_4_0());
}
// InternalQVTrelation.g:1217:4: ( ( ( ruleUnrestrictedName ) ) | (otherlv_17= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_19= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_21= '}' ) )
int alt32=2;
int LA32_0 = input.LA(1);
if ( ((LA32_0>=RULE_SIMPLE_ID && LA32_0<=RULE_ESCAPED_ID)||LA32_0==17||(LA32_0>=25 && LA32_0<=32)||(LA32_0>=35 && LA32_0<=43)||(LA32_0>=45 && LA32_0<=47)||(LA32_0>=49 && LA32_0<=59)||LA32_0==61||LA32_0==63||LA32_0==65||LA32_0==68||LA32_0==70||LA32_0==72||(LA32_0>=74 && LA32_0<=77)||(LA32_0>=79 && LA32_0<=84)||LA32_0==86||LA32_0==88||(LA32_0>=90 && LA32_0<=91)) ) {
alt32=1;
}
else if ( (LA32_0==20) ) {
alt32=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 32, 0, input);
throw nvae;
}
switch (alt32) {
case 1 :
// InternalQVTrelation.g:1218:5: ( ( ruleUnrestrictedName ) )
{
// InternalQVTrelation.g:1218:5: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:1219:6: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:1219:6: ( ruleUnrestrictedName )
// InternalQVTrelation.g:1220:7: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getModelDeclCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelDeclCSAccess().getIteratesTypedModelCrossReference_4_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:1238:5: (otherlv_17= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_19= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_21= '}' )
{
// InternalQVTrelation.g:1238:5: (otherlv_17= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_19= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_21= '}' )
// InternalQVTrelation.g:1239:6: otherlv_17= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_19= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_21= '}'
{
otherlv_17=(Token)match(input,20,FollowSets000.FOLLOW_26); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getModelDeclCSAccess().getLeftCurlyBracketKeyword_4_1_1_0());
}
// InternalQVTrelation.g:1243:6: ( ( ( ruleUnrestrictedName ) ) (otherlv_19= ',' ( ( ruleUnrestrictedName ) ) )* )?
int alt31=2;
int LA31_0 = input.LA(1);
if ( ((LA31_0>=RULE_SIMPLE_ID && LA31_0<=RULE_ESCAPED_ID)||LA31_0==17||(LA31_0>=25 && LA31_0<=32)||(LA31_0>=35 && LA31_0<=43)||(LA31_0>=45 && LA31_0<=47)||(LA31_0>=49 && LA31_0<=59)||LA31_0==61||LA31_0==63||LA31_0==65||LA31_0==68||LA31_0==70||LA31_0==72||(LA31_0>=74 && LA31_0<=77)||(LA31_0>=79 && LA31_0<=84)||LA31_0==86||LA31_0==88||(LA31_0>=90 && LA31_0<=91)) ) {
alt31=1;
}
switch (alt31) {
case 1 :
// InternalQVTrelation.g:1244:7: ( ( ruleUnrestrictedName ) ) (otherlv_19= ',' ( ( ruleUnrestrictedName ) ) )*
{
// InternalQVTrelation.g:1244:7: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:1245:8: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:1245:8: ( ruleUnrestrictedName )
// InternalQVTrelation.g:1246:9: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getModelDeclCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelDeclCSAccess().getIteratesTypedModelCrossReference_4_1_1_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_28);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:1263:7: (otherlv_19= ',' ( ( ruleUnrestrictedName ) ) )*
loop30:
do {
int alt30=2;
int LA30_0 = input.LA(1);
if ( (LA30_0==23) ) {
alt30=1;
}
switch (alt30) {
case 1 :
// InternalQVTrelation.g:1264:8: otherlv_19= ',' ( ( ruleUnrestrictedName ) )
{
otherlv_19=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_19, grammarAccess.getModelDeclCSAccess().getCommaKeyword_4_1_1_1_1_0());
}
// InternalQVTrelation.g:1268:8: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:1269:9: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:1269:9: ( ruleUnrestrictedName )
// InternalQVTrelation.g:1270:10: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getModelDeclCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getModelDeclCSAccess().getIteratesTypedModelCrossReference_4_1_1_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop30;
}
} while (true);
}
break;
}
otherlv_21=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_21, grammarAccess.getModelDeclCSAccess().getRightCurlyBracketKeyword_4_1_1_2());
}
}
}
break;
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleModelDeclCS"
// $ANTLR start "entryRuleObjectTemplateCS"
// InternalQVTrelation.g:1300:1: entryRuleObjectTemplateCS returns [EObject current=null] : iv_ruleObjectTemplateCS= ruleObjectTemplateCS EOF ;
public final EObject entryRuleObjectTemplateCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleObjectTemplateCS = null;
try {
// InternalQVTrelation.g:1300:57: (iv_ruleObjectTemplateCS= ruleObjectTemplateCS EOF )
// InternalQVTrelation.g:1301:2: iv_ruleObjectTemplateCS= ruleObjectTemplateCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getObjectTemplateCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleObjectTemplateCS=ruleObjectTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleObjectTemplateCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleObjectTemplateCS"
// $ANTLR start "ruleObjectTemplateCS"
// InternalQVTrelation.g:1307:1: ruleObjectTemplateCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedRefCS ) ) (otherlv_3= '{' ( ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_ownedPropertyTemplates_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;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedType_2_0 = null;
EObject lv_ownedPropertyTemplates_4_0 = null;
EObject lv_ownedPropertyTemplates_6_0 = null;
enterRule();
try {
// InternalQVTrelation.g:1313:2: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedRefCS ) ) (otherlv_3= '{' ( ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )* )? otherlv_7= '}' )? ) )
// InternalQVTrelation.g:1314:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedRefCS ) ) (otherlv_3= '{' ( ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )* )? otherlv_7= '}' )? )
{
// InternalQVTrelation.g:1314:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedRefCS ) ) (otherlv_3= '{' ( ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )* )? otherlv_7= '}' )? )
// InternalQVTrelation.g:1315:3: ( (lv_name_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedRefCS ) ) (otherlv_3= '{' ( ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )* )? otherlv_7= '}' )?
{
// InternalQVTrelation.g:1315:3: ( (lv_name_0_0= ruleUnrestrictedName ) )?
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>=25 && LA34_0<=32)||(LA34_0>=35 && LA34_0<=43)||(LA34_0>=45 && LA34_0<=47)||(LA34_0>=49 && LA34_0<=59)||LA34_0==61||LA34_0==63||LA34_0==65||LA34_0==68||LA34_0==70||LA34_0==72||(LA34_0>=74 && LA34_0<=77)||(LA34_0>=79 && LA34_0<=84)||LA34_0==86||LA34_0==88||(LA34_0>=90 && LA34_0<=91)) ) {
alt34=1;
}
switch (alt34) {
case 1 :
// InternalQVTrelation.g:1316:4: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:1316:4: (lv_name_0_0= ruleUnrestrictedName )
// InternalQVTrelation.g:1317:5: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getObjectTemplateCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_11);
lv_name_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getObjectTemplateCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_1=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getObjectTemplateCSAccess().getColonKeyword_1());
}
// InternalQVTrelation.g:1338:3: ( (lv_ownedType_2_0= ruleTypedRefCS ) )
// InternalQVTrelation.g:1339:4: (lv_ownedType_2_0= ruleTypedRefCS )
{
// InternalQVTrelation.g:1339:4: (lv_ownedType_2_0= ruleTypedRefCS )
// InternalQVTrelation.g:1340:5: lv_ownedType_2_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getObjectTemplateCSAccess().getOwnedTypeTypedRefCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_13);
lv_ownedType_2_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getObjectTemplateCSRule());
}
set(
current,
"ownedType",
lv_ownedType_2_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:1357:3: (otherlv_3= '{' ( ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )* )? otherlv_7= '}' )?
int alt37=2;
alt37 = dfa37.predict(input);
switch (alt37) {
case 1 :
// InternalQVTrelation.g:1358:4: otherlv_3= '{' ( ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )* )? otherlv_7= '}'
{
otherlv_3=(Token)match(input,20,FollowSets000.FOLLOW_26); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getObjectTemplateCSAccess().getLeftCurlyBracketKeyword_3_0());
}
// InternalQVTrelation.g:1362:4: ( ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )* )?
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>=25 && LA36_0<=32)||(LA36_0>=35 && LA36_0<=43)||(LA36_0>=45 && LA36_0<=47)||(LA36_0>=49 && LA36_0<=59)||LA36_0==61||LA36_0==63||LA36_0==65||LA36_0==68||LA36_0==70||LA36_0==72||(LA36_0>=74 && LA36_0<=77)||(LA36_0>=79 && LA36_0<=84)||LA36_0==86||LA36_0==88||(LA36_0>=90 && LA36_0<=91)) ) {
alt36=1;
}
switch (alt36) {
case 1 :
// InternalQVTrelation.g:1363:5: ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )*
{
// InternalQVTrelation.g:1363:5: ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) )
// InternalQVTrelation.g:1364:6: (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS )
{
// InternalQVTrelation.g:1364:6: (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS )
// InternalQVTrelation.g:1365:7: lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getObjectTemplateCSAccess().getOwnedPropertyTemplatesPropertyTemplateCSParserRuleCall_3_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_28);
lv_ownedPropertyTemplates_4_0=rulePropertyTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getObjectTemplateCSRule());
}
add(
current,
"ownedPropertyTemplates",
lv_ownedPropertyTemplates_4_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.PropertyTemplateCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:1382:5: (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )*
loop35:
do {
int alt35=2;
int LA35_0 = input.LA(1);
if ( (LA35_0==23) ) {
alt35=1;
}
switch (alt35) {
case 1 :
// InternalQVTrelation.g:1383:6: otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) )
{
otherlv_5=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getObjectTemplateCSAccess().getCommaKeyword_3_1_1_0());
}
// InternalQVTrelation.g:1387:6: ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) )
// InternalQVTrelation.g:1388:7: (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS )
{
// InternalQVTrelation.g:1388:7: (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS )
// InternalQVTrelation.g:1389:8: lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getObjectTemplateCSAccess().getOwnedPropertyTemplatesPropertyTemplateCSParserRuleCall_3_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
lv_ownedPropertyTemplates_6_0=rulePropertyTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getObjectTemplateCSRule());
}
add(
current,
"ownedPropertyTemplates",
lv_ownedPropertyTemplates_6_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.PropertyTemplateCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop35;
}
} while (true);
}
break;
}
otherlv_7=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getObjectTemplateCSAccess().getRightCurlyBracketKeyword_3_2());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleObjectTemplateCS"
// $ANTLR start "entryRuleParamDeclarationCS"
// InternalQVTrelation.g:1417:1: entryRuleParamDeclarationCS returns [EObject current=null] : iv_ruleParamDeclarationCS= ruleParamDeclarationCS EOF ;
public final EObject entryRuleParamDeclarationCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleParamDeclarationCS = null;
try {
// InternalQVTrelation.g:1417:59: (iv_ruleParamDeclarationCS= ruleParamDeclarationCS EOF )
// InternalQVTrelation.g:1418:2: iv_ruleParamDeclarationCS= ruleParamDeclarationCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParamDeclarationCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleParamDeclarationCS=ruleParamDeclarationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleParamDeclarationCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleParamDeclarationCS"
// $ANTLR start "ruleParamDeclarationCS"
// InternalQVTrelation.g:1424:1: ruleParamDeclarationCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) ;
public final EObject ruleParamDeclarationCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedType_2_0 = null;
enterRule();
try {
// InternalQVTrelation.g:1430:2: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) )
// InternalQVTrelation.g:1431:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )
{
// InternalQVTrelation.g:1431:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )
// InternalQVTrelation.g:1432:3: ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
{
// InternalQVTrelation.g:1432:3: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:1433:4: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:1433:4: (lv_name_0_0= ruleUnrestrictedName )
// InternalQVTrelation.g:1434:5: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParamDeclarationCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_11);
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,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getParamDeclarationCSAccess().getColonKeyword_1());
}
// InternalQVTrelation.g:1455:3: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:1456:4: (lv_ownedType_2_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:1456:4: (lv_ownedType_2_0= ruleTypeExpCS )
// InternalQVTrelation.g:1457:5: lv_ownedType_2_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParamDeclarationCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedType_2_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParamDeclarationCSRule());
}
set(
current,
"ownedType",
lv_ownedType_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleParamDeclarationCS"
// $ANTLR start "entryRulePredicateCS"
// InternalQVTrelation.g:1478:1: entryRulePredicateCS returns [EObject current=null] : iv_rulePredicateCS= rulePredicateCS EOF ;
public final EObject entryRulePredicateCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePredicateCS = null;
try {
// InternalQVTrelation.g:1478:52: (iv_rulePredicateCS= rulePredicateCS EOF )
// InternalQVTrelation.g:1479:2: iv_rulePredicateCS= rulePredicateCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPredicateCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePredicateCS=rulePredicateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePredicateCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePredicateCS"
// $ANTLR start "rulePredicateCS"
// InternalQVTrelation.g:1485:1: rulePredicateCS returns [EObject current=null] : ( ( (lv_ownedCondition_0_0= ruleExpCS ) ) otherlv_1= ';' ) ;
public final EObject rulePredicateCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_ownedCondition_0_0 = null;
enterRule();
try {
// InternalQVTrelation.g:1491:2: ( ( ( (lv_ownedCondition_0_0= ruleExpCS ) ) otherlv_1= ';' ) )
// InternalQVTrelation.g:1492:2: ( ( (lv_ownedCondition_0_0= ruleExpCS ) ) otherlv_1= ';' )
{
// InternalQVTrelation.g:1492:2: ( ( (lv_ownedCondition_0_0= ruleExpCS ) ) otherlv_1= ';' )
// InternalQVTrelation.g:1493:3: ( (lv_ownedCondition_0_0= ruleExpCS ) ) otherlv_1= ';'
{
// InternalQVTrelation.g:1493:3: ( (lv_ownedCondition_0_0= ruleExpCS ) )
// InternalQVTrelation.g:1494:4: (lv_ownedCondition_0_0= ruleExpCS )
{
// InternalQVTrelation.g:1494:4: (lv_ownedCondition_0_0= ruleExpCS )
// InternalQVTrelation.g:1495:5: lv_ownedCondition_0_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPredicateCSAccess().getOwnedConditionExpCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_20);
lv_ownedCondition_0_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPredicateCSRule());
}
set(
current,
"ownedCondition",
lv_ownedCondition_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getPredicateCSAccess().getSemicolonKeyword_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePredicateCS"
// $ANTLR start "entryRulePrimitiveTypeDomainCS"
// InternalQVTrelation.g:1520:1: entryRulePrimitiveTypeDomainCS returns [EObject current=null] : iv_rulePrimitiveTypeDomainCS= rulePrimitiveTypeDomainCS EOF ;
public final EObject entryRulePrimitiveTypeDomainCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePrimitiveTypeDomainCS = null;
try {
// InternalQVTrelation.g:1520:62: (iv_rulePrimitiveTypeDomainCS= rulePrimitiveTypeDomainCS EOF )
// InternalQVTrelation.g:1521:2: iv_rulePrimitiveTypeDomainCS= rulePrimitiveTypeDomainCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveTypeDomainCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePrimitiveTypeDomainCS=rulePrimitiveTypeDomainCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrimitiveTypeDomainCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrimitiveTypeDomainCS"
// $ANTLR start "rulePrimitiveTypeDomainCS"
// InternalQVTrelation.g:1527:1: rulePrimitiveTypeDomainCS returns [EObject current=null] : (otherlv_0= 'primitive' otherlv_1= 'domain' ( (lv_ownedPatterns_2_0= rulePrimitiveTypeDomainPatternCS ) ) (otherlv_3= ',' ( (lv_ownedPatterns_4_0= rulePrimitiveTypeDomainPatternCS ) ) )* 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;
EObject lv_ownedPatterns_2_0 = null;
EObject lv_ownedPatterns_4_0 = null;
enterRule();
try {
// InternalQVTrelation.g:1533:2: ( (otherlv_0= 'primitive' otherlv_1= 'domain' ( (lv_ownedPatterns_2_0= rulePrimitiveTypeDomainPatternCS ) ) (otherlv_3= ',' ( (lv_ownedPatterns_4_0= rulePrimitiveTypeDomainPatternCS ) ) )* otherlv_5= ';' ) )
// InternalQVTrelation.g:1534:2: (otherlv_0= 'primitive' otherlv_1= 'domain' ( (lv_ownedPatterns_2_0= rulePrimitiveTypeDomainPatternCS ) ) (otherlv_3= ',' ( (lv_ownedPatterns_4_0= rulePrimitiveTypeDomainPatternCS ) ) )* otherlv_5= ';' )
{
// InternalQVTrelation.g:1534:2: (otherlv_0= 'primitive' otherlv_1= 'domain' ( (lv_ownedPatterns_2_0= rulePrimitiveTypeDomainPatternCS ) ) (otherlv_3= ',' ( (lv_ownedPatterns_4_0= rulePrimitiveTypeDomainPatternCS ) ) )* otherlv_5= ';' )
// InternalQVTrelation.g:1535:3: otherlv_0= 'primitive' otherlv_1= 'domain' ( (lv_ownedPatterns_2_0= rulePrimitiveTypeDomainPatternCS ) ) (otherlv_3= ',' ( (lv_ownedPatterns_4_0= rulePrimitiveTypeDomainPatternCS ) ) )* otherlv_5= ';'
{
otherlv_0=(Token)match(input,37,FollowSets000.FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getPrimitiveTypeDomainCSAccess().getPrimitiveKeyword_0());
}
otherlv_1=(Token)match(input,28,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getPrimitiveTypeDomainCSAccess().getDomainKeyword_1());
}
// InternalQVTrelation.g:1543:3: ( (lv_ownedPatterns_2_0= rulePrimitiveTypeDomainPatternCS ) )
// InternalQVTrelation.g:1544:4: (lv_ownedPatterns_2_0= rulePrimitiveTypeDomainPatternCS )
{
// InternalQVTrelation.g:1544:4: (lv_ownedPatterns_2_0= rulePrimitiveTypeDomainPatternCS )
// InternalQVTrelation.g:1545:5: lv_ownedPatterns_2_0= rulePrimitiveTypeDomainPatternCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveTypeDomainCSAccess().getOwnedPatternsPrimitiveTypeDomainPatternCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_34);
lv_ownedPatterns_2_0=rulePrimitiveTypeDomainPatternCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrimitiveTypeDomainCSRule());
}
add(
current,
"ownedPatterns",
lv_ownedPatterns_2_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.PrimitiveTypeDomainPatternCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:1562:3: (otherlv_3= ',' ( (lv_ownedPatterns_4_0= rulePrimitiveTypeDomainPatternCS ) ) )*
loop38:
do {
int alt38=2;
int LA38_0 = input.LA(1);
if ( (LA38_0==23) ) {
alt38=1;
}
switch (alt38) {
case 1 :
// InternalQVTrelation.g:1563:4: otherlv_3= ',' ( (lv_ownedPatterns_4_0= rulePrimitiveTypeDomainPatternCS ) )
{
otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getPrimitiveTypeDomainCSAccess().getCommaKeyword_3_0());
}
// InternalQVTrelation.g:1567:4: ( (lv_ownedPatterns_4_0= rulePrimitiveTypeDomainPatternCS ) )
// InternalQVTrelation.g:1568:5: (lv_ownedPatterns_4_0= rulePrimitiveTypeDomainPatternCS )
{
// InternalQVTrelation.g:1568:5: (lv_ownedPatterns_4_0= rulePrimitiveTypeDomainPatternCS )
// InternalQVTrelation.g:1569:6: lv_ownedPatterns_4_0= rulePrimitiveTypeDomainPatternCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveTypeDomainCSAccess().getOwnedPatternsPrimitiveTypeDomainPatternCSParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_34);
lv_ownedPatterns_4_0=rulePrimitiveTypeDomainPatternCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrimitiveTypeDomainCSRule());
}
add(
current,
"ownedPatterns",
lv_ownedPatterns_4_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.PrimitiveTypeDomainPatternCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop38;
}
} while (true);
otherlv_5=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getPrimitiveTypeDomainCSAccess().getSemicolonKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrimitiveTypeDomainCS"
// $ANTLR start "entryRulePrimitiveTypeDomainPatternCS"
// InternalQVTrelation.g:1595:1: entryRulePrimitiveTypeDomainPatternCS returns [EObject current=null] : iv_rulePrimitiveTypeDomainPatternCS= rulePrimitiveTypeDomainPatternCS EOF ;
public final EObject entryRulePrimitiveTypeDomainPatternCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePrimitiveTypeDomainPatternCS = null;
try {
// InternalQVTrelation.g:1595:69: (iv_rulePrimitiveTypeDomainPatternCS= rulePrimitiveTypeDomainPatternCS EOF )
// InternalQVTrelation.g:1596:2: iv_rulePrimitiveTypeDomainPatternCS= rulePrimitiveTypeDomainPatternCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveTypeDomainPatternCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePrimitiveTypeDomainPatternCS=rulePrimitiveTypeDomainPatternCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrimitiveTypeDomainPatternCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrimitiveTypeDomainPatternCS"
// $ANTLR start "rulePrimitiveTypeDomainPatternCS"
// InternalQVTrelation.g:1602:1: rulePrimitiveTypeDomainPatternCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) ;
public final EObject rulePrimitiveTypeDomainPatternCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedType_2_0 = null;
enterRule();
try {
// InternalQVTrelation.g:1608:2: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) )
// InternalQVTrelation.g:1609:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )
{
// InternalQVTrelation.g:1609:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )
// InternalQVTrelation.g:1610:3: ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
{
// InternalQVTrelation.g:1610:3: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:1611:4: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:1611:4: (lv_name_0_0= ruleUnrestrictedName )
// InternalQVTrelation.g:1612:5: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveTypeDomainPatternCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_11);
lv_name_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrimitiveTypeDomainPatternCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getPrimitiveTypeDomainPatternCSAccess().getColonKeyword_1());
}
// InternalQVTrelation.g:1633:3: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:1634:4: (lv_ownedType_2_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:1634:4: (lv_ownedType_2_0= ruleTypeExpCS )
// InternalQVTrelation.g:1635:5: lv_ownedType_2_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveTypeDomainPatternCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedType_2_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrimitiveTypeDomainPatternCSRule());
}
set(
current,
"ownedType",
lv_ownedType_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrimitiveTypeDomainPatternCS"
// $ANTLR start "entryRulePropertyTemplateCS"
// InternalQVTrelation.g:1656:1: entryRulePropertyTemplateCS returns [EObject current=null] : iv_rulePropertyTemplateCS= rulePropertyTemplateCS EOF ;
public final EObject entryRulePropertyTemplateCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePropertyTemplateCS = null;
try {
// InternalQVTrelation.g:1656:59: (iv_rulePropertyTemplateCS= rulePropertyTemplateCS EOF )
// InternalQVTrelation.g:1657:2: iv_rulePropertyTemplateCS= rulePropertyTemplateCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPropertyTemplateCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePropertyTemplateCS=rulePropertyTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePropertyTemplateCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePropertyTemplateCS"
// $ANTLR start "rulePropertyTemplateCS"
// InternalQVTrelation.g:1663:1: rulePropertyTemplateCS returns [EObject current=null] : ( ( ( ( ruleUnrestrictedName ) ) | (otherlv_1= 'opposite' otherlv_2= '(' ( (lv_ownedOppositePropertyId_3_0= rulePathNameCS ) ) otherlv_4= ')' ) ) otherlv_5= '=' ( (lv_ownedExpression_6_0= ruleExpCSOrTemplateCS ) ) ) ;
public final EObject rulePropertyTemplateCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_5=null;
EObject lv_ownedOppositePropertyId_3_0 = null;
EObject lv_ownedExpression_6_0 = null;
enterRule();
try {
// InternalQVTrelation.g:1669:2: ( ( ( ( ( ruleUnrestrictedName ) ) | (otherlv_1= 'opposite' otherlv_2= '(' ( (lv_ownedOppositePropertyId_3_0= rulePathNameCS ) ) otherlv_4= ')' ) ) otherlv_5= '=' ( (lv_ownedExpression_6_0= ruleExpCSOrTemplateCS ) ) ) )
// InternalQVTrelation.g:1670:2: ( ( ( ( ruleUnrestrictedName ) ) | (otherlv_1= 'opposite' otherlv_2= '(' ( (lv_ownedOppositePropertyId_3_0= rulePathNameCS ) ) otherlv_4= ')' ) ) otherlv_5= '=' ( (lv_ownedExpression_6_0= ruleExpCSOrTemplateCS ) ) )
{
// InternalQVTrelation.g:1670:2: ( ( ( ( ruleUnrestrictedName ) ) | (otherlv_1= 'opposite' otherlv_2= '(' ( (lv_ownedOppositePropertyId_3_0= rulePathNameCS ) ) otherlv_4= ')' ) ) otherlv_5= '=' ( (lv_ownedExpression_6_0= ruleExpCSOrTemplateCS ) ) )
// InternalQVTrelation.g:1671:3: ( ( ( ruleUnrestrictedName ) ) | (otherlv_1= 'opposite' otherlv_2= '(' ( (lv_ownedOppositePropertyId_3_0= rulePathNameCS ) ) otherlv_4= ')' ) ) otherlv_5= '=' ( (lv_ownedExpression_6_0= ruleExpCSOrTemplateCS ) )
{
// InternalQVTrelation.g:1671:3: ( ( ( ruleUnrestrictedName ) ) | (otherlv_1= 'opposite' otherlv_2= '(' ( (lv_ownedOppositePropertyId_3_0= rulePathNameCS ) ) otherlv_4= ')' ) )
int alt39=2;
int LA39_0 = input.LA(1);
if ( ((LA39_0>=RULE_SIMPLE_ID && LA39_0<=RULE_ESCAPED_ID)||LA39_0==17||(LA39_0>=25 && LA39_0<=31)||(LA39_0>=35 && LA39_0<=43)||(LA39_0>=45 && LA39_0<=47)||(LA39_0>=49 && LA39_0<=59)||LA39_0==61||LA39_0==63||LA39_0==65||LA39_0==68||LA39_0==70||LA39_0==72||(LA39_0>=74 && LA39_0<=77)||(LA39_0>=79 && LA39_0<=84)||LA39_0==86||LA39_0==88||(LA39_0>=90 && LA39_0<=91)) ) {
alt39=1;
}
else if ( (LA39_0==32) ) {
int LA39_2 = input.LA(2);
if ( (LA39_2==19) ) {
alt39=1;
}
else if ( (LA39_2==33) ) {
alt39=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 39, 2, input);
throw nvae;
}
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 39, 0, input);
throw nvae;
}
switch (alt39) {
case 1 :
// InternalQVTrelation.g:1672:4: ( ( ruleUnrestrictedName ) )
{
// InternalQVTrelation.g:1672:4: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:1673:5: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:1673:5: ( ruleUnrestrictedName )
// InternalQVTrelation.g:1674:6: 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_0());
}
pushFollow(FollowSets000.FOLLOW_18);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:1692:4: (otherlv_1= 'opposite' otherlv_2= '(' ( (lv_ownedOppositePropertyId_3_0= rulePathNameCS ) ) otherlv_4= ')' )
{
// InternalQVTrelation.g:1692:4: (otherlv_1= 'opposite' otherlv_2= '(' ( (lv_ownedOppositePropertyId_3_0= rulePathNameCS ) ) otherlv_4= ')' )
// InternalQVTrelation.g:1693:5: otherlv_1= 'opposite' otherlv_2= '(' ( (lv_ownedOppositePropertyId_3_0= rulePathNameCS ) ) otherlv_4= ')'
{
otherlv_1=(Token)match(input,32,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getPropertyTemplateCSAccess().getOppositeKeyword_0_1_0());
}
otherlv_2=(Token)match(input,33,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getPropertyTemplateCSAccess().getLeftParenthesisKeyword_0_1_1());
}
// InternalQVTrelation.g:1701:5: ( (lv_ownedOppositePropertyId_3_0= rulePathNameCS ) )
// InternalQVTrelation.g:1702:6: (lv_ownedOppositePropertyId_3_0= rulePathNameCS )
{
// InternalQVTrelation.g:1702:6: (lv_ownedOppositePropertyId_3_0= rulePathNameCS )
// InternalQVTrelation.g:1703:7: lv_ownedOppositePropertyId_3_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPropertyTemplateCSAccess().getOwnedOppositePropertyIdPathNameCSParserRuleCall_0_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_30);
lv_ownedOppositePropertyId_3_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPropertyTemplateCSRule());
}
set(
current,
"ownedOppositePropertyId",
lv_ownedOppositePropertyId_3_0,
"org.eclipse.ocl.xtext.base.Base.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,34,FollowSets000.FOLLOW_18); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getPropertyTemplateCSAccess().getRightParenthesisKeyword_0_1_3());
}
}
}
break;
}
otherlv_5=(Token)match(input,19,FollowSets000.FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getPropertyTemplateCSAccess().getEqualsSignKeyword_1());
}
// InternalQVTrelation.g:1730:3: ( (lv_ownedExpression_6_0= ruleExpCSOrTemplateCS ) )
// InternalQVTrelation.g:1731:4: (lv_ownedExpression_6_0= ruleExpCSOrTemplateCS )
{
// InternalQVTrelation.g:1731:4: (lv_ownedExpression_6_0= ruleExpCSOrTemplateCS )
// InternalQVTrelation.g:1732:5: lv_ownedExpression_6_0= ruleExpCSOrTemplateCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPropertyTemplateCSAccess().getOwnedExpressionExpCSOrTemplateCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedExpression_6_0=ruleExpCSOrTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPropertyTemplateCSRule());
}
set(
current,
"ownedExpression",
lv_ownedExpression_6_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.ExpCSOrTemplateCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePropertyTemplateCS"
// $ANTLR start "entryRuleQueryCS"
// InternalQVTrelation.g:1753:1: entryRuleQueryCS returns [EObject current=null] : iv_ruleQueryCS= ruleQueryCS EOF ;
public final EObject entryRuleQueryCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleQueryCS = null;
try {
// InternalQVTrelation.g:1753:48: (iv_ruleQueryCS= ruleQueryCS EOF )
// InternalQVTrelation.g:1754:2: iv_ruleQueryCS= ruleQueryCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQueryCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleQueryCS=ruleQueryCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleQueryCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleQueryCS"
// $ANTLR start "ruleQueryCS"
// InternalQVTrelation.g:1760:1: ruleQueryCS returns [EObject current=null] : ( ( (lv_isTransient_0_0= 'transient' ) )? otherlv_1= 'query' ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= '(' ( ( (lv_ownedParameters_4_0= ruleParamDeclarationCS ) ) (otherlv_5= ',' ( (lv_ownedParameters_6_0= ruleParamDeclarationCS ) ) )* )? otherlv_7= ')' otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypeExpCS ) ) (otherlv_10= ';' | (otherlv_11= '{' ( (lv_ownedExpression_12_0= ruleExpCS ) ) otherlv_13= '}' ) | (otherlv_14= 'implementedby' ( (otherlv_15= RULE_SINGLE_QUOTED_STRING ) ) otherlv_16= ';' ) ) ) ;
public final EObject ruleQueryCS() throws RecognitionException {
EObject current = null;
Token lv_isTransient_0_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_11=null;
Token otherlv_13=null;
Token otherlv_14=null;
Token otherlv_15=null;
Token otherlv_16=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_ownedParameters_4_0 = null;
EObject lv_ownedParameters_6_0 = null;
EObject lv_ownedType_9_0 = null;
EObject lv_ownedExpression_12_0 = null;
enterRule();
try {
// InternalQVTrelation.g:1766:2: ( ( ( (lv_isTransient_0_0= 'transient' ) )? otherlv_1= 'query' ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= '(' ( ( (lv_ownedParameters_4_0= ruleParamDeclarationCS ) ) (otherlv_5= ',' ( (lv_ownedParameters_6_0= ruleParamDeclarationCS ) ) )* )? otherlv_7= ')' otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypeExpCS ) ) (otherlv_10= ';' | (otherlv_11= '{' ( (lv_ownedExpression_12_0= ruleExpCS ) ) otherlv_13= '}' ) | (otherlv_14= 'implementedby' ( (otherlv_15= RULE_SINGLE_QUOTED_STRING ) ) otherlv_16= ';' ) ) ) )
// InternalQVTrelation.g:1767:2: ( ( (lv_isTransient_0_0= 'transient' ) )? otherlv_1= 'query' ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= '(' ( ( (lv_ownedParameters_4_0= ruleParamDeclarationCS ) ) (otherlv_5= ',' ( (lv_ownedParameters_6_0= ruleParamDeclarationCS ) ) )* )? otherlv_7= ')' otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypeExpCS ) ) (otherlv_10= ';' | (otherlv_11= '{' ( (lv_ownedExpression_12_0= ruleExpCS ) ) otherlv_13= '}' ) | (otherlv_14= 'implementedby' ( (otherlv_15= RULE_SINGLE_QUOTED_STRING ) ) otherlv_16= ';' ) ) )
{
// InternalQVTrelation.g:1767:2: ( ( (lv_isTransient_0_0= 'transient' ) )? otherlv_1= 'query' ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= '(' ( ( (lv_ownedParameters_4_0= ruleParamDeclarationCS ) ) (otherlv_5= ',' ( (lv_ownedParameters_6_0= ruleParamDeclarationCS ) ) )* )? otherlv_7= ')' otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypeExpCS ) ) (otherlv_10= ';' | (otherlv_11= '{' ( (lv_ownedExpression_12_0= ruleExpCS ) ) otherlv_13= '}' ) | (otherlv_14= 'implementedby' ( (otherlv_15= RULE_SINGLE_QUOTED_STRING ) ) otherlv_16= ';' ) ) )
// InternalQVTrelation.g:1768:3: ( (lv_isTransient_0_0= 'transient' ) )? otherlv_1= 'query' ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= '(' ( ( (lv_ownedParameters_4_0= ruleParamDeclarationCS ) ) (otherlv_5= ',' ( (lv_ownedParameters_6_0= ruleParamDeclarationCS ) ) )* )? otherlv_7= ')' otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypeExpCS ) ) (otherlv_10= ';' | (otherlv_11= '{' ( (lv_ownedExpression_12_0= ruleExpCS ) ) otherlv_13= '}' ) | (otherlv_14= 'implementedby' ( (otherlv_15= RULE_SINGLE_QUOTED_STRING ) ) otherlv_16= ';' ) )
{
// InternalQVTrelation.g:1768:3: ( (lv_isTransient_0_0= 'transient' ) )?
int alt40=2;
int LA40_0 = input.LA(1);
if ( (LA40_0==38) ) {
alt40=1;
}
switch (alt40) {
case 1 :
// InternalQVTrelation.g:1769:4: (lv_isTransient_0_0= 'transient' )
{
// InternalQVTrelation.g:1769:4: (lv_isTransient_0_0= 'transient' )
// InternalQVTrelation.g:1770:5: lv_isTransient_0_0= 'transient'
{
lv_isTransient_0_0=(Token)match(input,38,FollowSets000.FOLLOW_36); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isTransient_0_0, grammarAccess.getQueryCSAccess().getIsTransientTransientKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getQueryCSRule());
}
setWithLastConsumed(current, "isTransient", lv_isTransient_0_0 != null, "transient");
}
}
}
break;
}
otherlv_1=(Token)match(input,39,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getQueryCSAccess().getQueryKeyword_1());
}
// InternalQVTrelation.g:1786:3: ( (lv_name_2_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:1787:4: (lv_name_2_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:1787:4: (lv_name_2_0= ruleUnrestrictedName )
// InternalQVTrelation.g:1788:5: lv_name_2_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQueryCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_29);
lv_name_2_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getQueryCSRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,33,FollowSets000.FOLLOW_37); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getQueryCSAccess().getLeftParenthesisKeyword_3());
}
// InternalQVTrelation.g:1809:3: ( ( (lv_ownedParameters_4_0= ruleParamDeclarationCS ) ) (otherlv_5= ',' ( (lv_ownedParameters_6_0= ruleParamDeclarationCS ) ) )* )?
int alt42=2;
int LA42_0 = input.LA(1);
if ( ((LA42_0>=RULE_SIMPLE_ID && LA42_0<=RULE_ESCAPED_ID)||LA42_0==17||(LA42_0>=25 && LA42_0<=32)||(LA42_0>=35 && LA42_0<=43)||(LA42_0>=45 && LA42_0<=47)||(LA42_0>=49 && LA42_0<=59)||LA42_0==61||LA42_0==63||LA42_0==65||LA42_0==68||LA42_0==70||LA42_0==72||(LA42_0>=74 && LA42_0<=77)||(LA42_0>=79 && LA42_0<=84)||LA42_0==86||LA42_0==88||(LA42_0>=90 && LA42_0<=91)) ) {
alt42=1;
}
switch (alt42) {
case 1 :
// InternalQVTrelation.g:1810:4: ( (lv_ownedParameters_4_0= ruleParamDeclarationCS ) ) (otherlv_5= ',' ( (lv_ownedParameters_6_0= ruleParamDeclarationCS ) ) )*
{
// InternalQVTrelation.g:1810:4: ( (lv_ownedParameters_4_0= ruleParamDeclarationCS ) )
// InternalQVTrelation.g:1811:5: (lv_ownedParameters_4_0= ruleParamDeclarationCS )
{
// InternalQVTrelation.g:1811:5: (lv_ownedParameters_4_0= ruleParamDeclarationCS )
// InternalQVTrelation.g:1812:6: lv_ownedParameters_4_0= ruleParamDeclarationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQueryCSAccess().getOwnedParametersParamDeclarationCSParserRuleCall_4_0_0());
}
pushFollow(FollowSets000.FOLLOW_38);
lv_ownedParameters_4_0=ruleParamDeclarationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getQueryCSRule());
}
add(
current,
"ownedParameters",
lv_ownedParameters_4_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.ParamDeclarationCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:1829:4: (otherlv_5= ',' ( (lv_ownedParameters_6_0= ruleParamDeclarationCS ) ) )*
loop41:
do {
int alt41=2;
int LA41_0 = input.LA(1);
if ( (LA41_0==23) ) {
alt41=1;
}
switch (alt41) {
case 1 :
// InternalQVTrelation.g:1830:5: otherlv_5= ',' ( (lv_ownedParameters_6_0= ruleParamDeclarationCS ) )
{
otherlv_5=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getQueryCSAccess().getCommaKeyword_4_1_0());
}
// InternalQVTrelation.g:1834:5: ( (lv_ownedParameters_6_0= ruleParamDeclarationCS ) )
// InternalQVTrelation.g:1835:6: (lv_ownedParameters_6_0= ruleParamDeclarationCS )
{
// InternalQVTrelation.g:1835:6: (lv_ownedParameters_6_0= ruleParamDeclarationCS )
// InternalQVTrelation.g:1836:7: lv_ownedParameters_6_0= ruleParamDeclarationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQueryCSAccess().getOwnedParametersParamDeclarationCSParserRuleCall_4_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_38);
lv_ownedParameters_6_0=ruleParamDeclarationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getQueryCSRule());
}
add(
current,
"ownedParameters",
lv_ownedParameters_6_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.ParamDeclarationCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop41;
}
} while (true);
}
break;
}
otherlv_7=(Token)match(input,34,FollowSets000.FOLLOW_11); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getQueryCSAccess().getRightParenthesisKeyword_5());
}
otherlv_8=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getQueryCSAccess().getColonKeyword_6());
}
// InternalQVTrelation.g:1863:3: ( (lv_ownedType_9_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:1864:4: (lv_ownedType_9_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:1864:4: (lv_ownedType_9_0= ruleTypeExpCS )
// InternalQVTrelation.g:1865:5: lv_ownedType_9_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQueryCSAccess().getOwnedTypeTypeExpCSParserRuleCall_7_0());
}
pushFollow(FollowSets000.FOLLOW_39);
lv_ownedType_9_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getQueryCSRule());
}
set(
current,
"ownedType",
lv_ownedType_9_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:1882:3: (otherlv_10= ';' | (otherlv_11= '{' ( (lv_ownedExpression_12_0= ruleExpCS ) ) otherlv_13= '}' ) | (otherlv_14= 'implementedby' ( (otherlv_15= RULE_SINGLE_QUOTED_STRING ) ) otherlv_16= ';' ) )
int alt43=3;
switch ( input.LA(1) ) {
case 22:
{
alt43=1;
}
break;
case 20:
{
alt43=2;
}
break;
case 29:
{
alt43=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 43, 0, input);
throw nvae;
}
switch (alt43) {
case 1 :
// InternalQVTrelation.g:1883:4: otherlv_10= ';'
{
otherlv_10=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getQueryCSAccess().getSemicolonKeyword_8_0());
}
}
break;
case 2 :
// InternalQVTrelation.g:1888:4: (otherlv_11= '{' ( (lv_ownedExpression_12_0= ruleExpCS ) ) otherlv_13= '}' )
{
// InternalQVTrelation.g:1888:4: (otherlv_11= '{' ( (lv_ownedExpression_12_0= ruleExpCS ) ) otherlv_13= '}' )
// InternalQVTrelation.g:1889:5: otherlv_11= '{' ( (lv_ownedExpression_12_0= ruleExpCS ) ) otherlv_13= '}'
{
otherlv_11=(Token)match(input,20,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getQueryCSAccess().getLeftCurlyBracketKeyword_8_1_0());
}
// InternalQVTrelation.g:1893:5: ( (lv_ownedExpression_12_0= ruleExpCS ) )
// InternalQVTrelation.g:1894:6: (lv_ownedExpression_12_0= ruleExpCS )
{
// InternalQVTrelation.g:1894:6: (lv_ownedExpression_12_0= ruleExpCS )
// InternalQVTrelation.g:1895:7: lv_ownedExpression_12_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQueryCSAccess().getOwnedExpressionExpCSParserRuleCall_8_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_ownedExpression_12_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getQueryCSRule());
}
set(
current,
"ownedExpression",
lv_ownedExpression_12_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_13=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getQueryCSAccess().getRightCurlyBracketKeyword_8_1_2());
}
}
}
break;
case 3 :
// InternalQVTrelation.g:1918:4: (otherlv_14= 'implementedby' ( (otherlv_15= RULE_SINGLE_QUOTED_STRING ) ) otherlv_16= ';' )
{
// InternalQVTrelation.g:1918:4: (otherlv_14= 'implementedby' ( (otherlv_15= RULE_SINGLE_QUOTED_STRING ) ) otherlv_16= ';' )
// InternalQVTrelation.g:1919:5: otherlv_14= 'implementedby' ( (otherlv_15= RULE_SINGLE_QUOTED_STRING ) ) otherlv_16= ';'
{
otherlv_14=(Token)match(input,29,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getQueryCSAccess().getImplementedbyKeyword_8_2_0());
}
// InternalQVTrelation.g:1923:5: ( (otherlv_15= RULE_SINGLE_QUOTED_STRING ) )
// InternalQVTrelation.g:1924:6: (otherlv_15= RULE_SINGLE_QUOTED_STRING )
{
// InternalQVTrelation.g:1924:6: (otherlv_15= RULE_SINGLE_QUOTED_STRING )
// InternalQVTrelation.g:1925:7: otherlv_15= RULE_SINGLE_QUOTED_STRING
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getQueryCSRule());
}
}
otherlv_15=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getQueryCSAccess().getImplementationJavaClassCSCrossReference_8_2_1_0());
}
}
}
otherlv_16=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getQueryCSAccess().getSemicolonKeyword_8_2_2());
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleQueryCS"
// $ANTLR start "entryRuleRelationCS"
// InternalQVTrelation.g:1949:1: entryRuleRelationCS returns [EObject current=null] : iv_ruleRelationCS= ruleRelationCS EOF ;
public final EObject entryRuleRelationCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleRelationCS = null;
try {
// InternalQVTrelation.g:1949:51: (iv_ruleRelationCS= ruleRelationCS EOF )
// InternalQVTrelation.g:1950:2: iv_ruleRelationCS= ruleRelationCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRelationCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleRelationCS=ruleRelationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRelationCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRelationCS"
// $ANTLR start "ruleRelationCS"
// InternalQVTrelation.g:1956:1: ruleRelationCS returns [EObject current=null] : ( ( (lv_isTop_0_0= 'top' ) )? ( (lv_isAbstract_1_0= 'abstract' ) )? otherlv_2= 'relation' ( (lv_name_3_0= ruleUnrestrictedName ) ) (otherlv_4= 'overrides' ( ( ruleUnrestrictedName ) ) )? otherlv_6= '{' ( (lv_ownedVarDeclarations_7_0= ruleVarDeclarationCS ) )* ( ( (lv_ownedDomains_8_0= ruleDomainCS ) ) | ( (lv_ownedDomains_9_0= rulePrimitiveTypeDomainCS ) ) )+ ( (lv_ownedWhen_10_0= ruleWhenCS ) )? ( (lv_ownedWhere_11_0= ruleWhereCS ) )? otherlv_12= '}' ) ;
public final EObject ruleRelationCS() throws RecognitionException {
EObject current = null;
Token lv_isTop_0_0=null;
Token lv_isAbstract_1_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_12=null;
AntlrDatatypeRuleToken lv_name_3_0 = null;
EObject lv_ownedVarDeclarations_7_0 = null;
EObject lv_ownedDomains_8_0 = null;
EObject lv_ownedDomains_9_0 = null;
EObject lv_ownedWhen_10_0 = null;
EObject lv_ownedWhere_11_0 = null;
enterRule();
try {
// InternalQVTrelation.g:1962:2: ( ( ( (lv_isTop_0_0= 'top' ) )? ( (lv_isAbstract_1_0= 'abstract' ) )? otherlv_2= 'relation' ( (lv_name_3_0= ruleUnrestrictedName ) ) (otherlv_4= 'overrides' ( ( ruleUnrestrictedName ) ) )? otherlv_6= '{' ( (lv_ownedVarDeclarations_7_0= ruleVarDeclarationCS ) )* ( ( (lv_ownedDomains_8_0= ruleDomainCS ) ) | ( (lv_ownedDomains_9_0= rulePrimitiveTypeDomainCS ) ) )+ ( (lv_ownedWhen_10_0= ruleWhenCS ) )? ( (lv_ownedWhere_11_0= ruleWhereCS ) )? otherlv_12= '}' ) )
// InternalQVTrelation.g:1963:2: ( ( (lv_isTop_0_0= 'top' ) )? ( (lv_isAbstract_1_0= 'abstract' ) )? otherlv_2= 'relation' ( (lv_name_3_0= ruleUnrestrictedName ) ) (otherlv_4= 'overrides' ( ( ruleUnrestrictedName ) ) )? otherlv_6= '{' ( (lv_ownedVarDeclarations_7_0= ruleVarDeclarationCS ) )* ( ( (lv_ownedDomains_8_0= ruleDomainCS ) ) | ( (lv_ownedDomains_9_0= rulePrimitiveTypeDomainCS ) ) )+ ( (lv_ownedWhen_10_0= ruleWhenCS ) )? ( (lv_ownedWhere_11_0= ruleWhereCS ) )? otherlv_12= '}' )
{
// InternalQVTrelation.g:1963:2: ( ( (lv_isTop_0_0= 'top' ) )? ( (lv_isAbstract_1_0= 'abstract' ) )? otherlv_2= 'relation' ( (lv_name_3_0= ruleUnrestrictedName ) ) (otherlv_4= 'overrides' ( ( ruleUnrestrictedName ) ) )? otherlv_6= '{' ( (lv_ownedVarDeclarations_7_0= ruleVarDeclarationCS ) )* ( ( (lv_ownedDomains_8_0= ruleDomainCS ) ) | ( (lv_ownedDomains_9_0= rulePrimitiveTypeDomainCS ) ) )+ ( (lv_ownedWhen_10_0= ruleWhenCS ) )? ( (lv_ownedWhere_11_0= ruleWhereCS ) )? otherlv_12= '}' )
// InternalQVTrelation.g:1964:3: ( (lv_isTop_0_0= 'top' ) )? ( (lv_isAbstract_1_0= 'abstract' ) )? otherlv_2= 'relation' ( (lv_name_3_0= ruleUnrestrictedName ) ) (otherlv_4= 'overrides' ( ( ruleUnrestrictedName ) ) )? otherlv_6= '{' ( (lv_ownedVarDeclarations_7_0= ruleVarDeclarationCS ) )* ( ( (lv_ownedDomains_8_0= ruleDomainCS ) ) | ( (lv_ownedDomains_9_0= rulePrimitiveTypeDomainCS ) ) )+ ( (lv_ownedWhen_10_0= ruleWhenCS ) )? ( (lv_ownedWhere_11_0= ruleWhereCS ) )? otherlv_12= '}'
{
// InternalQVTrelation.g:1964:3: ( (lv_isTop_0_0= 'top' ) )?
int alt44=2;
int LA44_0 = input.LA(1);
if ( (LA44_0==40) ) {
alt44=1;
}
switch (alt44) {
case 1 :
// InternalQVTrelation.g:1965:4: (lv_isTop_0_0= 'top' )
{
// InternalQVTrelation.g:1965:4: (lv_isTop_0_0= 'top' )
// InternalQVTrelation.g:1966:5: lv_isTop_0_0= 'top'
{
lv_isTop_0_0=(Token)match(input,40,FollowSets000.FOLLOW_40); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isTop_0_0, grammarAccess.getRelationCSAccess().getIsTopTopKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getRelationCSRule());
}
setWithLastConsumed(current, "isTop", lv_isTop_0_0 != null, "top");
}
}
}
break;
}
// InternalQVTrelation.g:1978:3: ( (lv_isAbstract_1_0= 'abstract' ) )?
int alt45=2;
int LA45_0 = input.LA(1);
if ( (LA45_0==41) ) {
alt45=1;
}
switch (alt45) {
case 1 :
// InternalQVTrelation.g:1979:4: (lv_isAbstract_1_0= 'abstract' )
{
// InternalQVTrelation.g:1979:4: (lv_isAbstract_1_0= 'abstract' )
// InternalQVTrelation.g:1980:5: lv_isAbstract_1_0= 'abstract'
{
lv_isAbstract_1_0=(Token)match(input,41,FollowSets000.FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isAbstract_1_0, grammarAccess.getRelationCSAccess().getIsAbstractAbstractKeyword_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getRelationCSRule());
}
setWithLastConsumed(current, "isAbstract", lv_isAbstract_1_0 != null, "abstract");
}
}
}
break;
}
otherlv_2=(Token)match(input,42,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getRelationCSAccess().getRelationKeyword_2());
}
// InternalQVTrelation.g:1996:3: ( (lv_name_3_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:1997:4: (lv_name_3_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:1997:4: (lv_name_3_0= ruleUnrestrictedName )
// InternalQVTrelation.g:1998:5: lv_name_3_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRelationCSAccess().getNameUnrestrictedNameParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_42);
lv_name_3_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_3_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:2015:3: (otherlv_4= 'overrides' ( ( ruleUnrestrictedName ) ) )?
int alt46=2;
int LA46_0 = input.LA(1);
if ( (LA46_0==43) ) {
alt46=1;
}
switch (alt46) {
case 1 :
// InternalQVTrelation.g:2016:4: otherlv_4= 'overrides' ( ( ruleUnrestrictedName ) )
{
otherlv_4=(Token)match(input,43,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getRelationCSAccess().getOverridesKeyword_4_0());
}
// InternalQVTrelation.g:2020:4: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:2021:5: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:2021:5: ( ruleUnrestrictedName )
// InternalQVTrelation.g:2022:6: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getRelationCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRelationCSAccess().getOverriddenRelationCrossReference_4_1_0());
}
pushFollow(FollowSets000.FOLLOW_25);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_6=(Token)match(input,20,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getRelationCSAccess().getLeftCurlyBracketKeyword_5());
}
// InternalQVTrelation.g:2044:3: ( (lv_ownedVarDeclarations_7_0= ruleVarDeclarationCS ) )*
loop47:
do {
int alt47=2;
switch ( input.LA(1) ) {
case 25:
{
int LA47_1 = input.LA(2);
if ( ((LA47_1>=18 && LA47_1<=19)||(LA47_1>=22 && LA47_1<=23)) ) {
alt47=1;
}
}
break;
case 26:
{
int LA47_2 = input.LA(2);
if ( ((LA47_2>=18 && LA47_2<=19)||(LA47_2>=22 && LA47_2<=23)) ) {
alt47=1;
}
}
break;
case 27:
{
int LA47_3 = input.LA(2);
if ( ((LA47_3>=18 && LA47_3<=19)||(LA47_3>=22 && LA47_3<=23)) ) {
alt47=1;
}
}
break;
case 28:
{
int LA47_4 = input.LA(2);
if ( ((LA47_4>=18 && LA47_4<=19)||(LA47_4>=22 && LA47_4<=23)) ) {
alt47=1;
}
}
break;
case 37:
{
int LA47_5 = input.LA(2);
if ( ((LA47_5>=18 && LA47_5<=19)||(LA47_5>=22 && LA47_5<=23)) ) {
alt47=1;
}
}
break;
case RULE_SIMPLE_ID:
case RULE_ESCAPED_ID:
case 17:
case 29:
case 30:
case 31:
case 32:
case 35:
case 36:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 45:
case 46:
case 47:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 61:
case 63:
case 65:
case 68:
case 70:
case 72:
case 74:
case 75:
case 76:
case 77:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 86:
case 88:
case 90:
case 91:
{
alt47=1;
}
break;
}
switch (alt47) {
case 1 :
// InternalQVTrelation.g:2045:4: (lv_ownedVarDeclarations_7_0= ruleVarDeclarationCS )
{
// InternalQVTrelation.g:2045:4: (lv_ownedVarDeclarations_7_0= ruleVarDeclarationCS )
// InternalQVTrelation.g:2046:5: lv_ownedVarDeclarations_7_0= ruleVarDeclarationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRelationCSAccess().getOwnedVarDeclarationsVarDeclarationCSParserRuleCall_6_0());
}
pushFollow(FollowSets000.FOLLOW_5);
lv_ownedVarDeclarations_7_0=ruleVarDeclarationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRelationCSRule());
}
add(
current,
"ownedVarDeclarations",
lv_ownedVarDeclarations_7_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.VarDeclarationCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop47;
}
} while (true);
// InternalQVTrelation.g:2063:3: ( ( (lv_ownedDomains_8_0= ruleDomainCS ) ) | ( (lv_ownedDomains_9_0= rulePrimitiveTypeDomainCS ) ) )+
int cnt48=0;
loop48:
do {
int alt48=3;
int LA48_0 = input.LA(1);
if ( ((LA48_0>=25 && LA48_0<=28)) ) {
alt48=1;
}
else if ( (LA48_0==37) ) {
alt48=2;
}
switch (alt48) {
case 1 :
// InternalQVTrelation.g:2064:4: ( (lv_ownedDomains_8_0= ruleDomainCS ) )
{
// InternalQVTrelation.g:2064:4: ( (lv_ownedDomains_8_0= ruleDomainCS ) )
// InternalQVTrelation.g:2065:5: (lv_ownedDomains_8_0= ruleDomainCS )
{
// InternalQVTrelation.g:2065:5: (lv_ownedDomains_8_0= ruleDomainCS )
// InternalQVTrelation.g:2066:6: lv_ownedDomains_8_0= ruleDomainCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRelationCSAccess().getOwnedDomainsDomainCSParserRuleCall_7_0_0());
}
pushFollow(FollowSets000.FOLLOW_26);
lv_ownedDomains_8_0=ruleDomainCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRelationCSRule());
}
add(
current,
"ownedDomains",
lv_ownedDomains_8_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.DomainCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:2084:4: ( (lv_ownedDomains_9_0= rulePrimitiveTypeDomainCS ) )
{
// InternalQVTrelation.g:2084:4: ( (lv_ownedDomains_9_0= rulePrimitiveTypeDomainCS ) )
// InternalQVTrelation.g:2085:5: (lv_ownedDomains_9_0= rulePrimitiveTypeDomainCS )
{
// InternalQVTrelation.g:2085:5: (lv_ownedDomains_9_0= rulePrimitiveTypeDomainCS )
// InternalQVTrelation.g:2086:6: lv_ownedDomains_9_0= rulePrimitiveTypeDomainCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRelationCSAccess().getOwnedDomainsPrimitiveTypeDomainCSParserRuleCall_7_1_0());
}
pushFollow(FollowSets000.FOLLOW_26);
lv_ownedDomains_9_0=rulePrimitiveTypeDomainCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRelationCSRule());
}
add(
current,
"ownedDomains",
lv_ownedDomains_9_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.PrimitiveTypeDomainCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
if ( cnt48 >= 1 ) break loop48;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(48, input);
throw eee;
}
cnt48++;
} while (true);
// InternalQVTrelation.g:2104:3: ( (lv_ownedWhen_10_0= ruleWhenCS ) )?
int alt49=2;
int LA49_0 = input.LA(1);
if ( (LA49_0==49) ) {
alt49=1;
}
switch (alt49) {
case 1 :
// InternalQVTrelation.g:2105:4: (lv_ownedWhen_10_0= ruleWhenCS )
{
// InternalQVTrelation.g:2105:4: (lv_ownedWhen_10_0= ruleWhenCS )
// InternalQVTrelation.g:2106:5: lv_ownedWhen_10_0= ruleWhenCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRelationCSAccess().getOwnedWhenWhenCSParserRuleCall_8_0());
}
pushFollow(FollowSets000.FOLLOW_43);
lv_ownedWhen_10_0=ruleWhenCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRelationCSRule());
}
set(
current,
"ownedWhen",
lv_ownedWhen_10_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.WhenCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalQVTrelation.g:2123:3: ( (lv_ownedWhere_11_0= ruleWhereCS ) )?
int alt50=2;
int LA50_0 = input.LA(1);
if ( (LA50_0==50) ) {
alt50=1;
}
switch (alt50) {
case 1 :
// InternalQVTrelation.g:2124:4: (lv_ownedWhere_11_0= ruleWhereCS )
{
// InternalQVTrelation.g:2124:4: (lv_ownedWhere_11_0= ruleWhereCS )
// InternalQVTrelation.g:2125:5: lv_ownedWhere_11_0= ruleWhereCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRelationCSAccess().getOwnedWhereWhereCSParserRuleCall_9_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_ownedWhere_11_0=ruleWhereCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRelationCSRule());
}
set(
current,
"ownedWhere",
lv_ownedWhere_11_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.WhereCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_12=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getRelationCSAccess().getRightCurlyBracketKeyword_10());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRelationCS"
// $ANTLR start "entryRuleScopeNameCS"
// InternalQVTrelation.g:2150:1: entryRuleScopeNameCS returns [EObject current=null] : iv_ruleScopeNameCS= ruleScopeNameCS EOF ;
public final EObject entryRuleScopeNameCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleScopeNameCS = null;
try {
// InternalQVTrelation.g:2150:52: (iv_ruleScopeNameCS= ruleScopeNameCS EOF )
// InternalQVTrelation.g:2151:2: iv_ruleScopeNameCS= ruleScopeNameCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getScopeNameCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleScopeNameCS=ruleScopeNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleScopeNameCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleScopeNameCS"
// $ANTLR start "ruleScopeNameCS"
// InternalQVTrelation.g:2157:1: ruleScopeNameCS returns [EObject current=null] : ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) otherlv_1= '::' ( ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) otherlv_3= '::' )* ) ;
public final EObject ruleScopeNameCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
EObject lv_ownedPathElements_0_0 = null;
EObject lv_ownedPathElements_2_0 = null;
enterRule();
try {
// InternalQVTrelation.g:2163:2: ( ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) otherlv_1= '::' ( ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) otherlv_3= '::' )* ) )
// InternalQVTrelation.g:2164:2: ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) otherlv_1= '::' ( ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) otherlv_3= '::' )* )
{
// InternalQVTrelation.g:2164:2: ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) otherlv_1= '::' ( ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) otherlv_3= '::' )* )
// InternalQVTrelation.g:2165:3: ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) otherlv_1= '::' ( ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) otherlv_3= '::' )*
{
// InternalQVTrelation.g:2165:3: ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) )
// InternalQVTrelation.g:2166:4: (lv_ownedPathElements_0_0= ruleFirstPathElementCS )
{
// InternalQVTrelation.g:2166:4: (lv_ownedPathElements_0_0= ruleFirstPathElementCS )
// InternalQVTrelation.g:2167:5: lv_ownedPathElements_0_0= ruleFirstPathElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getScopeNameCSAccess().getOwnedPathElementsFirstPathElementCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_44);
lv_ownedPathElements_0_0=ruleFirstPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getScopeNameCSRule());
}
add(
current,
"ownedPathElements",
lv_ownedPathElements_0_0,
"org.eclipse.ocl.xtext.base.Base.FirstPathElementCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,44,FollowSets000.FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getScopeNameCSAccess().getColonColonKeyword_1());
}
// InternalQVTrelation.g:2188:3: ( ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) otherlv_3= '::' )*
loop51:
do {
int alt51=2;
alt51 = dfa51.predict(input);
switch (alt51) {
case 1 :
// InternalQVTrelation.g:2189:4: ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) otherlv_3= '::'
{
// InternalQVTrelation.g:2189:4: ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
// InternalQVTrelation.g:2190:5: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
{
// InternalQVTrelation.g:2190:5: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
// InternalQVTrelation.g:2191:6: lv_ownedPathElements_2_0= ruleNextPathElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getScopeNameCSAccess().getOwnedPathElementsNextPathElementCSParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_44);
lv_ownedPathElements_2_0=ruleNextPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getScopeNameCSRule());
}
add(
current,
"ownedPathElements",
lv_ownedPathElements_2_0,
"org.eclipse.ocl.xtext.base.Base.NextPathElementCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,44,FollowSets000.FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getScopeNameCSAccess().getColonColonKeyword_2_1());
}
}
break;
default :
break loop51;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleScopeNameCS"
// $ANTLR start "entryRuleTemplateCS"
// InternalQVTrelation.g:2217:1: entryRuleTemplateCS returns [EObject current=null] : iv_ruleTemplateCS= ruleTemplateCS EOF ;
public final EObject entryRuleTemplateCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTemplateCS = null;
try {
// InternalQVTrelation.g:2217:51: (iv_ruleTemplateCS= ruleTemplateCS EOF )
// InternalQVTrelation.g:2218:2: iv_ruleTemplateCS= ruleTemplateCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTemplateCS=ruleTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTemplateCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTemplateCS"
// $ANTLR start "ruleTemplateCS"
// InternalQVTrelation.g:2224:1: ruleTemplateCS returns [EObject current=null] : ( (this_CollectionTemplateCS_0= ruleCollectionTemplateCS | this_ObjectTemplateCS_1= ruleObjectTemplateCS ) (otherlv_2= '{' ( (lv_ownedGuardExpression_3_0= ruleExpCS ) ) otherlv_4= '}' )? ) ;
public final EObject ruleTemplateCS() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject this_CollectionTemplateCS_0 = null;
EObject this_ObjectTemplateCS_1 = null;
EObject lv_ownedGuardExpression_3_0 = null;
enterRule();
try {
// InternalQVTrelation.g:2230:2: ( ( (this_CollectionTemplateCS_0= ruleCollectionTemplateCS | this_ObjectTemplateCS_1= ruleObjectTemplateCS ) (otherlv_2= '{' ( (lv_ownedGuardExpression_3_0= ruleExpCS ) ) otherlv_4= '}' )? ) )
// InternalQVTrelation.g:2231:2: ( (this_CollectionTemplateCS_0= ruleCollectionTemplateCS | this_ObjectTemplateCS_1= ruleObjectTemplateCS ) (otherlv_2= '{' ( (lv_ownedGuardExpression_3_0= ruleExpCS ) ) otherlv_4= '}' )? )
{
// InternalQVTrelation.g:2231:2: ( (this_CollectionTemplateCS_0= ruleCollectionTemplateCS | this_ObjectTemplateCS_1= ruleObjectTemplateCS ) (otherlv_2= '{' ( (lv_ownedGuardExpression_3_0= ruleExpCS ) ) otherlv_4= '}' )? )
// InternalQVTrelation.g:2232:3: (this_CollectionTemplateCS_0= ruleCollectionTemplateCS | this_ObjectTemplateCS_1= ruleObjectTemplateCS ) (otherlv_2= '{' ( (lv_ownedGuardExpression_3_0= ruleExpCS ) ) otherlv_4= '}' )?
{
// InternalQVTrelation.g:2232:3: (this_CollectionTemplateCS_0= ruleCollectionTemplateCS | this_ObjectTemplateCS_1= ruleObjectTemplateCS )
int alt52=2;
alt52 = dfa52.predict(input);
switch (alt52) {
case 1 :
// InternalQVTrelation.g:2233:4: this_CollectionTemplateCS_0= ruleCollectionTemplateCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateCSAccess().getCollectionTemplateCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_13);
this_CollectionTemplateCS_0=ruleCollectionTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_CollectionTemplateCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:2245:4: this_ObjectTemplateCS_1= ruleObjectTemplateCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateCSAccess().getObjectTemplateCSParserRuleCall_0_1());
}
pushFollow(FollowSets000.FOLLOW_13);
this_ObjectTemplateCS_1=ruleObjectTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_ObjectTemplateCS_1;
afterParserOrEnumRuleCall();
}
}
break;
}
// InternalQVTrelation.g:2257:3: (otherlv_2= '{' ( (lv_ownedGuardExpression_3_0= ruleExpCS ) ) otherlv_4= '}' )?
int alt53=2;
int LA53_0 = input.LA(1);
if ( (LA53_0==20) ) {
alt53=1;
}
switch (alt53) {
case 1 :
// InternalQVTrelation.g:2258:4: otherlv_2= '{' ( (lv_ownedGuardExpression_3_0= ruleExpCS ) ) otherlv_4= '}'
{
otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getTemplateCSAccess().getLeftCurlyBracketKeyword_1_0());
}
// InternalQVTrelation.g:2262:4: ( (lv_ownedGuardExpression_3_0= ruleExpCS ) )
// InternalQVTrelation.g:2263:5: (lv_ownedGuardExpression_3_0= ruleExpCS )
{
// InternalQVTrelation.g:2263:5: (lv_ownedGuardExpression_3_0= ruleExpCS )
// InternalQVTrelation.g:2264:6: lv_ownedGuardExpression_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateCSAccess().getOwnedGuardExpressionExpCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_ownedGuardExpression_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTemplateCSRule());
}
set(
current,
"ownedGuardExpression",
lv_ownedGuardExpression_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,21,FollowSets000.FOLLOW_2); 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 "entryRuleTransformationCS"
// InternalQVTrelation.g:2290:1: entryRuleTransformationCS returns [EObject current=null] : iv_ruleTransformationCS= ruleTransformationCS EOF ;
public final EObject entryRuleTransformationCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTransformationCS = null;
try {
// InternalQVTrelation.g:2290:57: (iv_ruleTransformationCS= ruleTransformationCS EOF )
// InternalQVTrelation.g:2291:2: iv_ruleTransformationCS= ruleTransformationCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTransformationCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTransformationCS=ruleTransformationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTransformationCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTransformationCS"
// $ANTLR start "ruleTransformationCS"
// InternalQVTrelation.g:2297:1: ruleTransformationCS returns [EObject current=null] : (otherlv_0= 'transformation' ( (lv_ownedPathName_1_0= ruleScopeNameCS ) )? ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= '(' ( (lv_ownedModelDecls_4_0= ruleModelDeclCS ) ) (otherlv_5= ',' ( (lv_ownedModelDecls_6_0= ruleModelDeclCS ) ) )* otherlv_7= ')' (otherlv_8= 'extends' ( ( ruleUnrestrictedName ) ) (otherlv_10= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_12= '{' ( (lv_ownedTargets_13_0= ruleTargetCS ) )* ( (lv_ownedKeyDecls_14_0= ruleKeyDeclCS ) )* ( ( (lv_ownedRelations_15_0= ruleRelationCS ) ) | ( (lv_ownedQueries_16_0= ruleQueryCS ) ) | ( (lv_ownedProperties_17_0= ruleStructuralFeatureCS ) ) )* otherlv_18= '}' ) ;
public final EObject ruleTransformationCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_12=null;
Token otherlv_18=null;
EObject lv_ownedPathName_1_0 = null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_ownedModelDecls_4_0 = null;
EObject lv_ownedModelDecls_6_0 = null;
EObject lv_ownedTargets_13_0 = null;
EObject lv_ownedKeyDecls_14_0 = null;
EObject lv_ownedRelations_15_0 = null;
EObject lv_ownedQueries_16_0 = null;
EObject lv_ownedProperties_17_0 = null;
enterRule();
try {
// InternalQVTrelation.g:2303:2: ( (otherlv_0= 'transformation' ( (lv_ownedPathName_1_0= ruleScopeNameCS ) )? ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= '(' ( (lv_ownedModelDecls_4_0= ruleModelDeclCS ) ) (otherlv_5= ',' ( (lv_ownedModelDecls_6_0= ruleModelDeclCS ) ) )* otherlv_7= ')' (otherlv_8= 'extends' ( ( ruleUnrestrictedName ) ) (otherlv_10= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_12= '{' ( (lv_ownedTargets_13_0= ruleTargetCS ) )* ( (lv_ownedKeyDecls_14_0= ruleKeyDeclCS ) )* ( ( (lv_ownedRelations_15_0= ruleRelationCS ) ) | ( (lv_ownedQueries_16_0= ruleQueryCS ) ) | ( (lv_ownedProperties_17_0= ruleStructuralFeatureCS ) ) )* otherlv_18= '}' ) )
// InternalQVTrelation.g:2304:2: (otherlv_0= 'transformation' ( (lv_ownedPathName_1_0= ruleScopeNameCS ) )? ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= '(' ( (lv_ownedModelDecls_4_0= ruleModelDeclCS ) ) (otherlv_5= ',' ( (lv_ownedModelDecls_6_0= ruleModelDeclCS ) ) )* otherlv_7= ')' (otherlv_8= 'extends' ( ( ruleUnrestrictedName ) ) (otherlv_10= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_12= '{' ( (lv_ownedTargets_13_0= ruleTargetCS ) )* ( (lv_ownedKeyDecls_14_0= ruleKeyDeclCS ) )* ( ( (lv_ownedRelations_15_0= ruleRelationCS ) ) | ( (lv_ownedQueries_16_0= ruleQueryCS ) ) | ( (lv_ownedProperties_17_0= ruleStructuralFeatureCS ) ) )* otherlv_18= '}' )
{
// InternalQVTrelation.g:2304:2: (otherlv_0= 'transformation' ( (lv_ownedPathName_1_0= ruleScopeNameCS ) )? ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= '(' ( (lv_ownedModelDecls_4_0= ruleModelDeclCS ) ) (otherlv_5= ',' ( (lv_ownedModelDecls_6_0= ruleModelDeclCS ) ) )* otherlv_7= ')' (otherlv_8= 'extends' ( ( ruleUnrestrictedName ) ) (otherlv_10= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_12= '{' ( (lv_ownedTargets_13_0= ruleTargetCS ) )* ( (lv_ownedKeyDecls_14_0= ruleKeyDeclCS ) )* ( ( (lv_ownedRelations_15_0= ruleRelationCS ) ) | ( (lv_ownedQueries_16_0= ruleQueryCS ) ) | ( (lv_ownedProperties_17_0= ruleStructuralFeatureCS ) ) )* otherlv_18= '}' )
// InternalQVTrelation.g:2305:3: otherlv_0= 'transformation' ( (lv_ownedPathName_1_0= ruleScopeNameCS ) )? ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= '(' ( (lv_ownedModelDecls_4_0= ruleModelDeclCS ) ) (otherlv_5= ',' ( (lv_ownedModelDecls_6_0= ruleModelDeclCS ) ) )* otherlv_7= ')' (otherlv_8= 'extends' ( ( ruleUnrestrictedName ) ) (otherlv_10= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_12= '{' ( (lv_ownedTargets_13_0= ruleTargetCS ) )* ( (lv_ownedKeyDecls_14_0= ruleKeyDeclCS ) )* ( ( (lv_ownedRelations_15_0= ruleRelationCS ) ) | ( (lv_ownedQueries_16_0= ruleQueryCS ) ) | ( (lv_ownedProperties_17_0= ruleStructuralFeatureCS ) ) )* otherlv_18= '}'
{
otherlv_0=(Token)match(input,45,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getTransformationCSAccess().getTransformationKeyword_0());
}
// InternalQVTrelation.g:2309:3: ( (lv_ownedPathName_1_0= ruleScopeNameCS ) )?
int alt54=2;
alt54 = dfa54.predict(input);
switch (alt54) {
case 1 :
// InternalQVTrelation.g:2310:4: (lv_ownedPathName_1_0= ruleScopeNameCS )
{
// InternalQVTrelation.g:2310:4: (lv_ownedPathName_1_0= ruleScopeNameCS )
// InternalQVTrelation.g:2311:5: lv_ownedPathName_1_0= ruleScopeNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTransformationCSAccess().getOwnedPathNameScopeNameCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_5);
lv_ownedPathName_1_0=ruleScopeNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTransformationCSRule());
}
set(
current,
"ownedPathName",
lv_ownedPathName_1_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.ScopeNameCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalQVTrelation.g:2328:3: ( (lv_name_2_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:2329:4: (lv_name_2_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:2329:4: (lv_name_2_0= ruleUnrestrictedName )
// InternalQVTrelation.g:2330:5: lv_name_2_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTransformationCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_29);
lv_name_2_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_2_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,33,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getTransformationCSAccess().getLeftParenthesisKeyword_3());
}
// InternalQVTrelation.g:2351:3: ( (lv_ownedModelDecls_4_0= ruleModelDeclCS ) )
// InternalQVTrelation.g:2352:4: (lv_ownedModelDecls_4_0= ruleModelDeclCS )
{
// InternalQVTrelation.g:2352:4: (lv_ownedModelDecls_4_0= ruleModelDeclCS )
// InternalQVTrelation.g:2353:5: lv_ownedModelDecls_4_0= ruleModelDeclCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTransformationCSAccess().getOwnedModelDeclsModelDeclCSParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_38);
lv_ownedModelDecls_4_0=ruleModelDeclCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTransformationCSRule());
}
add(
current,
"ownedModelDecls",
lv_ownedModelDecls_4_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.ModelDeclCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:2370:3: (otherlv_5= ',' ( (lv_ownedModelDecls_6_0= ruleModelDeclCS ) ) )*
loop55:
do {
int alt55=2;
int LA55_0 = input.LA(1);
if ( (LA55_0==23) ) {
alt55=1;
}
switch (alt55) {
case 1 :
// InternalQVTrelation.g:2371:4: otherlv_5= ',' ( (lv_ownedModelDecls_6_0= ruleModelDeclCS ) )
{
otherlv_5=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getTransformationCSAccess().getCommaKeyword_5_0());
}
// InternalQVTrelation.g:2375:4: ( (lv_ownedModelDecls_6_0= ruleModelDeclCS ) )
// InternalQVTrelation.g:2376:5: (lv_ownedModelDecls_6_0= ruleModelDeclCS )
{
// InternalQVTrelation.g:2376:5: (lv_ownedModelDecls_6_0= ruleModelDeclCS )
// InternalQVTrelation.g:2377:6: lv_ownedModelDecls_6_0= ruleModelDeclCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTransformationCSAccess().getOwnedModelDeclsModelDeclCSParserRuleCall_5_1_0());
}
pushFollow(FollowSets000.FOLLOW_38);
lv_ownedModelDecls_6_0=ruleModelDeclCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTransformationCSRule());
}
add(
current,
"ownedModelDecls",
lv_ownedModelDecls_6_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.ModelDeclCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop55;
}
} while (true);
otherlv_7=(Token)match(input,34,FollowSets000.FOLLOW_46); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getTransformationCSAccess().getRightParenthesisKeyword_6());
}
// InternalQVTrelation.g:2399:3: (otherlv_8= 'extends' ( ( ruleUnrestrictedName ) ) (otherlv_10= ',' ( ( ruleUnrestrictedName ) ) )* )?
int alt57=2;
int LA57_0 = input.LA(1);
if ( (LA57_0==46) ) {
alt57=1;
}
switch (alt57) {
case 1 :
// InternalQVTrelation.g:2400:4: otherlv_8= 'extends' ( ( ruleUnrestrictedName ) ) (otherlv_10= ',' ( ( ruleUnrestrictedName ) ) )*
{
otherlv_8=(Token)match(input,46,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getTransformationCSAccess().getExtendsKeyword_7_0());
}
// InternalQVTrelation.g:2404:4: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:2405:5: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:2405:5: ( ruleUnrestrictedName )
// InternalQVTrelation.g:2406:6: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getTransformationCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_7_1_0());
}
pushFollow(FollowSets000.FOLLOW_47);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:2423:4: (otherlv_10= ',' ( ( ruleUnrestrictedName ) ) )*
loop56:
do {
int alt56=2;
int LA56_0 = input.LA(1);
if ( (LA56_0==23) ) {
alt56=1;
}
switch (alt56) {
case 1 :
// InternalQVTrelation.g:2424:5: otherlv_10= ',' ( ( ruleUnrestrictedName ) )
{
otherlv_10=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getTransformationCSAccess().getCommaKeyword_7_2_0());
}
// InternalQVTrelation.g:2428:5: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:2429:6: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:2429:6: ( ruleUnrestrictedName )
// InternalQVTrelation.g:2430:7: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getTransformationCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTransformationCSAccess().getExtendsTransformationCrossReference_7_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_47);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop56;
}
} while (true);
}
break;
}
otherlv_12=(Token)match(input,20,FollowSets000.FOLLOW_48); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getTransformationCSAccess().getLeftCurlyBracketKeyword_8());
}
// InternalQVTrelation.g:2453:3: ( (lv_ownedTargets_13_0= ruleTargetCS ) )*
loop58:
do {
int alt58=2;
int LA58_0 = input.LA(1);
if ( (LA58_0==54) ) {
alt58=1;
}
switch (alt58) {
case 1 :
// InternalQVTrelation.g:2454:4: (lv_ownedTargets_13_0= ruleTargetCS )
{
// InternalQVTrelation.g:2454:4: (lv_ownedTargets_13_0= ruleTargetCS )
// InternalQVTrelation.g:2455:5: lv_ownedTargets_13_0= ruleTargetCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTransformationCSAccess().getOwnedTargetsTargetCSParserRuleCall_9_0());
}
pushFollow(FollowSets000.FOLLOW_48);
lv_ownedTargets_13_0=ruleTargetCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTransformationCSRule());
}
add(
current,
"ownedTargets",
lv_ownedTargets_13_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.TargetCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop58;
}
} while (true);
// InternalQVTrelation.g:2472:3: ( (lv_ownedKeyDecls_14_0= ruleKeyDeclCS ) )*
loop59:
do {
int alt59=2;
int LA59_0 = input.LA(1);
if ( (LA59_0==31) ) {
alt59=1;
}
switch (alt59) {
case 1 :
// InternalQVTrelation.g:2473:4: (lv_ownedKeyDecls_14_0= ruleKeyDeclCS )
{
// InternalQVTrelation.g:2473:4: (lv_ownedKeyDecls_14_0= ruleKeyDeclCS )
// InternalQVTrelation.g:2474:5: lv_ownedKeyDecls_14_0= ruleKeyDeclCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTransformationCSAccess().getOwnedKeyDeclsKeyDeclCSParserRuleCall_10_0());
}
pushFollow(FollowSets000.FOLLOW_49);
lv_ownedKeyDecls_14_0=ruleKeyDeclCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTransformationCSRule());
}
add(
current,
"ownedKeyDecls",
lv_ownedKeyDecls_14_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.KeyDeclCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop59;
}
} while (true);
// InternalQVTrelation.g:2491:3: ( ( (lv_ownedRelations_15_0= ruleRelationCS ) ) | ( (lv_ownedQueries_16_0= ruleQueryCS ) ) | ( (lv_ownedProperties_17_0= ruleStructuralFeatureCS ) ) )*
loop60:
do {
int alt60=4;
switch ( input.LA(1) ) {
case 40:
case 41:
case 42:
{
alt60=1;
}
break;
case 38:
case 39:
{
alt60=2;
}
break;
case 56:
case 57:
case 58:
case 84:
{
alt60=3;
}
break;
}
switch (alt60) {
case 1 :
// InternalQVTrelation.g:2492:4: ( (lv_ownedRelations_15_0= ruleRelationCS ) )
{
// InternalQVTrelation.g:2492:4: ( (lv_ownedRelations_15_0= ruleRelationCS ) )
// InternalQVTrelation.g:2493:5: (lv_ownedRelations_15_0= ruleRelationCS )
{
// InternalQVTrelation.g:2493:5: (lv_ownedRelations_15_0= ruleRelationCS )
// InternalQVTrelation.g:2494:6: lv_ownedRelations_15_0= ruleRelationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTransformationCSAccess().getOwnedRelationsRelationCSParserRuleCall_11_0_0());
}
pushFollow(FollowSets000.FOLLOW_50);
lv_ownedRelations_15_0=ruleRelationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTransformationCSRule());
}
add(
current,
"ownedRelations",
lv_ownedRelations_15_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.RelationCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:2512:4: ( (lv_ownedQueries_16_0= ruleQueryCS ) )
{
// InternalQVTrelation.g:2512:4: ( (lv_ownedQueries_16_0= ruleQueryCS ) )
// InternalQVTrelation.g:2513:5: (lv_ownedQueries_16_0= ruleQueryCS )
{
// InternalQVTrelation.g:2513:5: (lv_ownedQueries_16_0= ruleQueryCS )
// InternalQVTrelation.g:2514:6: lv_ownedQueries_16_0= ruleQueryCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTransformationCSAccess().getOwnedQueriesQueryCSParserRuleCall_11_1_0());
}
pushFollow(FollowSets000.FOLLOW_50);
lv_ownedQueries_16_0=ruleQueryCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTransformationCSRule());
}
add(
current,
"ownedQueries",
lv_ownedQueries_16_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.QueryCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// InternalQVTrelation.g:2532:4: ( (lv_ownedProperties_17_0= ruleStructuralFeatureCS ) )
{
// InternalQVTrelation.g:2532:4: ( (lv_ownedProperties_17_0= ruleStructuralFeatureCS ) )
// InternalQVTrelation.g:2533:5: (lv_ownedProperties_17_0= ruleStructuralFeatureCS )
{
// InternalQVTrelation.g:2533:5: (lv_ownedProperties_17_0= ruleStructuralFeatureCS )
// InternalQVTrelation.g:2534:6: lv_ownedProperties_17_0= ruleStructuralFeatureCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTransformationCSAccess().getOwnedPropertiesStructuralFeatureCSParserRuleCall_11_2_0());
}
pushFollow(FollowSets000.FOLLOW_50);
lv_ownedProperties_17_0=ruleStructuralFeatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTransformationCSRule());
}
add(
current,
"ownedProperties",
lv_ownedProperties_17_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.StructuralFeatureCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop60;
}
} while (true);
otherlv_18=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getTransformationCSAccess().getRightCurlyBracketKeyword_12());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTransformationCS"
// $ANTLR start "entryRuleUnitCS"
// InternalQVTrelation.g:2560:1: entryRuleUnitCS returns [EObject current=null] : iv_ruleUnitCS= ruleUnitCS EOF ;
public final EObject entryRuleUnitCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleUnitCS = null;
try {
// InternalQVTrelation.g:2560:47: (iv_ruleUnitCS= ruleUnitCS EOF )
// InternalQVTrelation.g:2561:2: iv_ruleUnitCS= ruleUnitCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnitCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleUnitCS=ruleUnitCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleUnitCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleUnitCS"
// $ANTLR start "ruleUnitCS"
// InternalQVTrelation.g:2567:1: ruleUnitCS returns [EObject current=null] : (otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) (otherlv_4= '::' ( (lv_isAll_5_0= '*' ) ) )? otherlv_6= ';' ) ;
public final EObject ruleUnitCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token lv_isAll_5_0=null;
Token otherlv_6=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_ownedPathName_3_0 = null;
enterRule();
try {
// InternalQVTrelation.g:2573:2: ( (otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) (otherlv_4= '::' ( (lv_isAll_5_0= '*' ) ) )? otherlv_6= ';' ) )
// InternalQVTrelation.g:2574:2: (otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) (otherlv_4= '::' ( (lv_isAll_5_0= '*' ) ) )? otherlv_6= ';' )
{
// InternalQVTrelation.g:2574:2: (otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) (otherlv_4= '::' ( (lv_isAll_5_0= '*' ) ) )? otherlv_6= ';' )
// InternalQVTrelation.g:2575:3: otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) (otherlv_4= '::' ( (lv_isAll_5_0= '*' ) ) )? otherlv_6= ';'
{
otherlv_0=(Token)match(input,47,FollowSets000.FOLLOW_51); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getUnitCSAccess().getImportKeyword_0());
}
// InternalQVTrelation.g:2579:3: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )?
int alt61=2;
alt61 = dfa61.predict(input);
switch (alt61) {
case 1 :
// InternalQVTrelation.g:2580:4: ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':'
{
// InternalQVTrelation.g:2580:4: ( (lv_name_1_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:2581:5: (lv_name_1_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:2581:5: (lv_name_1_0= ruleUnrestrictedName )
// InternalQVTrelation.g:2582:6: lv_name_1_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnitCSAccess().getNameUnrestrictedNameParserRuleCall_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_11);
lv_name_1_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getUnitCSRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,18,FollowSets000.FOLLOW_51); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getUnitCSAccess().getColonKeyword_1_1());
}
}
break;
}
// InternalQVTrelation.g:2604:3: ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) )
// InternalQVTrelation.g:2605:4: (lv_ownedPathName_3_0= ruleURIPathNameCS )
{
// InternalQVTrelation.g:2605:4: (lv_ownedPathName_3_0= ruleURIPathNameCS )
// InternalQVTrelation.g:2606:5: lv_ownedPathName_3_0= ruleURIPathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnitCSAccess().getOwnedPathNameURIPathNameCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_52);
lv_ownedPathName_3_0=ruleURIPathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getUnitCSRule());
}
set(
current,
"ownedPathName",
lv_ownedPathName_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.URIPathNameCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:2623:3: (otherlv_4= '::' ( (lv_isAll_5_0= '*' ) ) )?
int alt62=2;
int LA62_0 = input.LA(1);
if ( (LA62_0==44) ) {
alt62=1;
}
switch (alt62) {
case 1 :
// InternalQVTrelation.g:2624:4: otherlv_4= '::' ( (lv_isAll_5_0= '*' ) )
{
otherlv_4=(Token)match(input,44,FollowSets000.FOLLOW_53); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getUnitCSAccess().getColonColonKeyword_3_0());
}
// InternalQVTrelation.g:2628:4: ( (lv_isAll_5_0= '*' ) )
// InternalQVTrelation.g:2629:5: (lv_isAll_5_0= '*' )
{
// InternalQVTrelation.g:2629:5: (lv_isAll_5_0= '*' )
// InternalQVTrelation.g:2630:6: lv_isAll_5_0= '*'
{
lv_isAll_5_0=(Token)match(input,48,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isAll_5_0, grammarAccess.getUnitCSAccess().getIsAllAsteriskKeyword_3_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getUnitCSRule());
}
setWithLastConsumed(current, "isAll", lv_isAll_5_0 != null, "*");
}
}
}
}
break;
}
otherlv_6=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getUnitCSAccess().getSemicolonKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleUnitCS"
// $ANTLR start "entryRuleVarDeclarationCS"
// InternalQVTrelation.g:2651:1: entryRuleVarDeclarationCS returns [EObject current=null] : iv_ruleVarDeclarationCS= ruleVarDeclarationCS EOF ;
public final EObject entryRuleVarDeclarationCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleVarDeclarationCS = null;
try {
// InternalQVTrelation.g:2651:57: (iv_ruleVarDeclarationCS= ruleVarDeclarationCS EOF )
// InternalQVTrelation.g:2652:2: iv_ruleVarDeclarationCS= ruleVarDeclarationCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getVarDeclarationCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleVarDeclarationCS=ruleVarDeclarationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleVarDeclarationCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleVarDeclarationCS"
// $ANTLR start "ruleVarDeclarationCS"
// InternalQVTrelation.g:2658:1: ruleVarDeclarationCS returns [EObject current=null] : ( ( (lv_ownedVarDeclarationIds_0_0= ruleVarDeclarationIdCS ) ) (otherlv_1= ',' ( (lv_ownedVarDeclarationIds_2_0= ruleVarDeclarationIdCS ) ) )* (otherlv_3= ':' ( (lv_ownedType_4_0= ruleTypeExpCS ) ) )? (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? otherlv_7= ';' ) ;
public final EObject ruleVarDeclarationCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
EObject lv_ownedVarDeclarationIds_0_0 = null;
EObject lv_ownedVarDeclarationIds_2_0 = null;
EObject lv_ownedType_4_0 = null;
EObject lv_ownedInitExpression_6_0 = null;
enterRule();
try {
// InternalQVTrelation.g:2664:2: ( ( ( (lv_ownedVarDeclarationIds_0_0= ruleVarDeclarationIdCS ) ) (otherlv_1= ',' ( (lv_ownedVarDeclarationIds_2_0= ruleVarDeclarationIdCS ) ) )* (otherlv_3= ':' ( (lv_ownedType_4_0= ruleTypeExpCS ) ) )? (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? otherlv_7= ';' ) )
// InternalQVTrelation.g:2665:2: ( ( (lv_ownedVarDeclarationIds_0_0= ruleVarDeclarationIdCS ) ) (otherlv_1= ',' ( (lv_ownedVarDeclarationIds_2_0= ruleVarDeclarationIdCS ) ) )* (otherlv_3= ':' ( (lv_ownedType_4_0= ruleTypeExpCS ) ) )? (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? otherlv_7= ';' )
{
// InternalQVTrelation.g:2665:2: ( ( (lv_ownedVarDeclarationIds_0_0= ruleVarDeclarationIdCS ) ) (otherlv_1= ',' ( (lv_ownedVarDeclarationIds_2_0= ruleVarDeclarationIdCS ) ) )* (otherlv_3= ':' ( (lv_ownedType_4_0= ruleTypeExpCS ) ) )? (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? otherlv_7= ';' )
// InternalQVTrelation.g:2666:3: ( (lv_ownedVarDeclarationIds_0_0= ruleVarDeclarationIdCS ) ) (otherlv_1= ',' ( (lv_ownedVarDeclarationIds_2_0= ruleVarDeclarationIdCS ) ) )* (otherlv_3= ':' ( (lv_ownedType_4_0= ruleTypeExpCS ) ) )? (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )? otherlv_7= ';'
{
// InternalQVTrelation.g:2666:3: ( (lv_ownedVarDeclarationIds_0_0= ruleVarDeclarationIdCS ) )
// InternalQVTrelation.g:2667:4: (lv_ownedVarDeclarationIds_0_0= ruleVarDeclarationIdCS )
{
// InternalQVTrelation.g:2667:4: (lv_ownedVarDeclarationIds_0_0= ruleVarDeclarationIdCS )
// InternalQVTrelation.g:2668:5: lv_ownedVarDeclarationIds_0_0= ruleVarDeclarationIdCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getVarDeclarationCSAccess().getOwnedVarDeclarationIdsVarDeclarationIdCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_54);
lv_ownedVarDeclarationIds_0_0=ruleVarDeclarationIdCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getVarDeclarationCSRule());
}
add(
current,
"ownedVarDeclarationIds",
lv_ownedVarDeclarationIds_0_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.VarDeclarationIdCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:2685:3: (otherlv_1= ',' ( (lv_ownedVarDeclarationIds_2_0= ruleVarDeclarationIdCS ) ) )*
loop63:
do {
int alt63=2;
int LA63_0 = input.LA(1);
if ( (LA63_0==23) ) {
alt63=1;
}
switch (alt63) {
case 1 :
// InternalQVTrelation.g:2686:4: otherlv_1= ',' ( (lv_ownedVarDeclarationIds_2_0= ruleVarDeclarationIdCS ) )
{
otherlv_1=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getVarDeclarationCSAccess().getCommaKeyword_1_0());
}
// InternalQVTrelation.g:2690:4: ( (lv_ownedVarDeclarationIds_2_0= ruleVarDeclarationIdCS ) )
// InternalQVTrelation.g:2691:5: (lv_ownedVarDeclarationIds_2_0= ruleVarDeclarationIdCS )
{
// InternalQVTrelation.g:2691:5: (lv_ownedVarDeclarationIds_2_0= ruleVarDeclarationIdCS )
// InternalQVTrelation.g:2692:6: lv_ownedVarDeclarationIds_2_0= ruleVarDeclarationIdCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getVarDeclarationCSAccess().getOwnedVarDeclarationIdsVarDeclarationIdCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_54);
lv_ownedVarDeclarationIds_2_0=ruleVarDeclarationIdCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getVarDeclarationCSRule());
}
add(
current,
"ownedVarDeclarationIds",
lv_ownedVarDeclarationIds_2_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.VarDeclarationIdCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop63;
}
} while (true);
// InternalQVTrelation.g:2710:3: (otherlv_3= ':' ( (lv_ownedType_4_0= ruleTypeExpCS ) ) )?
int alt64=2;
int LA64_0 = input.LA(1);
if ( (LA64_0==18) ) {
alt64=1;
}
switch (alt64) {
case 1 :
// InternalQVTrelation.g:2711:4: otherlv_3= ':' ( (lv_ownedType_4_0= ruleTypeExpCS ) )
{
otherlv_3=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getVarDeclarationCSAccess().getColonKeyword_2_0());
}
// InternalQVTrelation.g:2715:4: ( (lv_ownedType_4_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:2716:5: (lv_ownedType_4_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:2716:5: (lv_ownedType_4_0= ruleTypeExpCS )
// InternalQVTrelation.g:2717:6: lv_ownedType_4_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getVarDeclarationCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_55);
lv_ownedType_4_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getVarDeclarationCSRule());
}
set(
current,
"ownedType",
lv_ownedType_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:2735:3: (otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )?
int alt65=2;
int LA65_0 = input.LA(1);
if ( (LA65_0==19) ) {
alt65=1;
}
switch (alt65) {
case 1 :
// InternalQVTrelation.g:2736:4: otherlv_5= '=' ( (lv_ownedInitExpression_6_0= ruleExpCS ) )
{
otherlv_5=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getVarDeclarationCSAccess().getEqualsSignKeyword_3_0());
}
// InternalQVTrelation.g:2740:4: ( (lv_ownedInitExpression_6_0= ruleExpCS ) )
// InternalQVTrelation.g:2741:5: (lv_ownedInitExpression_6_0= ruleExpCS )
{
// InternalQVTrelation.g:2741:5: (lv_ownedInitExpression_6_0= ruleExpCS )
// InternalQVTrelation.g:2742:6: lv_ownedInitExpression_6_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getVarDeclarationCSAccess().getOwnedInitExpressionExpCSParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_20);
lv_ownedInitExpression_6_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getVarDeclarationCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_6_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_7=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getVarDeclarationCSAccess().getSemicolonKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleVarDeclarationCS"
// $ANTLR start "entryRuleVarDeclarationIdCS"
// InternalQVTrelation.g:2768:1: entryRuleVarDeclarationIdCS returns [EObject current=null] : iv_ruleVarDeclarationIdCS= ruleVarDeclarationIdCS EOF ;
public final EObject entryRuleVarDeclarationIdCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleVarDeclarationIdCS = null;
try {
// InternalQVTrelation.g:2768:59: (iv_ruleVarDeclarationIdCS= ruleVarDeclarationIdCS EOF )
// InternalQVTrelation.g:2769:2: iv_ruleVarDeclarationIdCS= ruleVarDeclarationIdCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getVarDeclarationIdCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleVarDeclarationIdCS=ruleVarDeclarationIdCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleVarDeclarationIdCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleVarDeclarationIdCS"
// $ANTLR start "ruleVarDeclarationIdCS"
// InternalQVTrelation.g:2775:1: ruleVarDeclarationIdCS returns [EObject current=null] : ( (lv_name_0_0= ruleUnrestrictedName ) ) ;
public final EObject ruleVarDeclarationIdCS() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
enterRule();
try {
// InternalQVTrelation.g:2781:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) )
// InternalQVTrelation.g:2782:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
{
// InternalQVTrelation.g:2782:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:2783:3: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:2783:3: (lv_name_0_0= ruleUnrestrictedName )
// InternalQVTrelation.g:2784:4: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getVarDeclarationIdCSAccess().getNameUnrestrictedNameParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_name_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getVarDeclarationIdCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleVarDeclarationIdCS"
// $ANTLR start "entryRuleWhenCS"
// InternalQVTrelation.g:2804:1: entryRuleWhenCS returns [EObject current=null] : iv_ruleWhenCS= ruleWhenCS EOF ;
public final EObject entryRuleWhenCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleWhenCS = null;
try {
// InternalQVTrelation.g:2804:47: (iv_ruleWhenCS= ruleWhenCS EOF )
// InternalQVTrelation.g:2805:2: iv_ruleWhenCS= ruleWhenCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getWhenCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleWhenCS=ruleWhenCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleWhenCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleWhenCS"
// $ANTLR start "ruleWhenCS"
// InternalQVTrelation.g:2811:1: ruleWhenCS returns [EObject current=null] : ( () otherlv_1= 'when' otherlv_2= '{' ( (lv_ownedPredicates_3_0= rulePredicateCS ) )* otherlv_4= '}' ) ;
public final EObject ruleWhenCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_ownedPredicates_3_0 = null;
enterRule();
try {
// InternalQVTrelation.g:2817:2: ( ( () otherlv_1= 'when' otherlv_2= '{' ( (lv_ownedPredicates_3_0= rulePredicateCS ) )* otherlv_4= '}' ) )
// InternalQVTrelation.g:2818:2: ( () otherlv_1= 'when' otherlv_2= '{' ( (lv_ownedPredicates_3_0= rulePredicateCS ) )* otherlv_4= '}' )
{
// InternalQVTrelation.g:2818:2: ( () otherlv_1= 'when' otherlv_2= '{' ( (lv_ownedPredicates_3_0= rulePredicateCS ) )* otherlv_4= '}' )
// InternalQVTrelation.g:2819:3: () otherlv_1= 'when' otherlv_2= '{' ( (lv_ownedPredicates_3_0= rulePredicateCS ) )* otherlv_4= '}'
{
// InternalQVTrelation.g:2819:3: ()
// InternalQVTrelation.g:2820:4:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getWhenCSAccess().getPatternCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,49,FollowSets000.FOLLOW_25); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getWhenCSAccess().getWhenKeyword_1());
}
otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getWhenCSAccess().getLeftCurlyBracketKeyword_2());
}
// InternalQVTrelation.g:2837:3: ( (lv_ownedPredicates_3_0= rulePredicateCS ) )*
loop66:
do {
int alt66=2;
int LA66_0 = input.LA(1);
if ( (LA66_0==RULE_SINGLE_QUOTED_STRING||(LA66_0>=RULE_INT && LA66_0<=RULE_ESCAPED_ID)||LA66_0==17||(LA66_0>=25 && LA66_0<=33)||(LA66_0>=35 && LA66_0<=43)||(LA66_0>=45 && LA66_0<=59)||LA66_0==61||LA66_0==63||LA66_0==65||LA66_0==68||LA66_0==70||LA66_0==72||(LA66_0>=74 && LA66_0<=77)||(LA66_0>=79 && LA66_0<=84)||LA66_0==86||LA66_0==88||(LA66_0>=90 && LA66_0<=94)||(LA66_0>=114 && LA66_0<=128)||LA66_0==130||(LA66_0>=132 && LA66_0<=135)||LA66_0==142||(LA66_0>=147 && LA66_0<=148)) ) {
alt66=1;
}
switch (alt66) {
case 1 :
// InternalQVTrelation.g:2838:4: (lv_ownedPredicates_3_0= rulePredicateCS )
{
// InternalQVTrelation.g:2838:4: (lv_ownedPredicates_3_0= rulePredicateCS )
// InternalQVTrelation.g:2839:5: lv_ownedPredicates_3_0= rulePredicateCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getWhenCSAccess().getOwnedPredicatesPredicateCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_56);
lv_ownedPredicates_3_0=rulePredicateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getWhenCSRule());
}
add(
current,
"ownedPredicates",
lv_ownedPredicates_3_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.PredicateCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop66;
}
} while (true);
otherlv_4=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, 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"
// InternalQVTrelation.g:2864:1: entryRuleWhereCS returns [EObject current=null] : iv_ruleWhereCS= ruleWhereCS EOF ;
public final EObject entryRuleWhereCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleWhereCS = null;
try {
// InternalQVTrelation.g:2864:48: (iv_ruleWhereCS= ruleWhereCS EOF )
// InternalQVTrelation.g:2865:2: iv_ruleWhereCS= ruleWhereCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getWhereCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleWhereCS=ruleWhereCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleWhereCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleWhereCS"
// $ANTLR start "ruleWhereCS"
// InternalQVTrelation.g:2871:1: ruleWhereCS returns [EObject current=null] : ( () otherlv_1= 'where' otherlv_2= '{' ( (lv_ownedPredicates_3_0= rulePredicateCS ) )* otherlv_4= '}' ) ;
public final EObject ruleWhereCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_ownedPredicates_3_0 = null;
enterRule();
try {
// InternalQVTrelation.g:2877:2: ( ( () otherlv_1= 'where' otherlv_2= '{' ( (lv_ownedPredicates_3_0= rulePredicateCS ) )* otherlv_4= '}' ) )
// InternalQVTrelation.g:2878:2: ( () otherlv_1= 'where' otherlv_2= '{' ( (lv_ownedPredicates_3_0= rulePredicateCS ) )* otherlv_4= '}' )
{
// InternalQVTrelation.g:2878:2: ( () otherlv_1= 'where' otherlv_2= '{' ( (lv_ownedPredicates_3_0= rulePredicateCS ) )* otherlv_4= '}' )
// InternalQVTrelation.g:2879:3: () otherlv_1= 'where' otherlv_2= '{' ( (lv_ownedPredicates_3_0= rulePredicateCS ) )* otherlv_4= '}'
{
// InternalQVTrelation.g:2879:3: ()
// InternalQVTrelation.g:2880:4:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getWhereCSAccess().getPatternCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,50,FollowSets000.FOLLOW_25); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getWhereCSAccess().getWhereKeyword_1());
}
otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getWhereCSAccess().getLeftCurlyBracketKeyword_2());
}
// InternalQVTrelation.g:2897:3: ( (lv_ownedPredicates_3_0= rulePredicateCS ) )*
loop67:
do {
int alt67=2;
int LA67_0 = input.LA(1);
if ( (LA67_0==RULE_SINGLE_QUOTED_STRING||(LA67_0>=RULE_INT && LA67_0<=RULE_ESCAPED_ID)||LA67_0==17||(LA67_0>=25 && LA67_0<=33)||(LA67_0>=35 && LA67_0<=43)||(LA67_0>=45 && LA67_0<=59)||LA67_0==61||LA67_0==63||LA67_0==65||LA67_0==68||LA67_0==70||LA67_0==72||(LA67_0>=74 && LA67_0<=77)||(LA67_0>=79 && LA67_0<=84)||LA67_0==86||LA67_0==88||(LA67_0>=90 && LA67_0<=94)||(LA67_0>=114 && LA67_0<=128)||LA67_0==130||(LA67_0>=132 && LA67_0<=135)||LA67_0==142||(LA67_0>=147 && LA67_0<=148)) ) {
alt67=1;
}
switch (alt67) {
case 1 :
// InternalQVTrelation.g:2898:4: (lv_ownedPredicates_3_0= rulePredicateCS )
{
// InternalQVTrelation.g:2898:4: (lv_ownedPredicates_3_0= rulePredicateCS )
// InternalQVTrelation.g:2899:5: lv_ownedPredicates_3_0= rulePredicateCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getWhereCSAccess().getOwnedPredicatesPredicateCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_56);
lv_ownedPredicates_3_0=rulePredicateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getWhereCSRule());
}
add(
current,
"ownedPredicates",
lv_ownedPredicates_3_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.PredicateCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop67;
}
} while (true);
otherlv_4=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getWhereCSAccess().getRightCurlyBracketKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleWhereCS"
// $ANTLR start "entryRuleExpCSOrTemplateCS"
// InternalQVTrelation.g:2924:1: entryRuleExpCSOrTemplateCS returns [EObject current=null] : iv_ruleExpCSOrTemplateCS= ruleExpCSOrTemplateCS EOF ;
public final EObject entryRuleExpCSOrTemplateCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleExpCSOrTemplateCS = null;
try {
// InternalQVTrelation.g:2924:58: (iv_ruleExpCSOrTemplateCS= ruleExpCSOrTemplateCS EOF )
// InternalQVTrelation.g:2925:2: iv_ruleExpCSOrTemplateCS= ruleExpCSOrTemplateCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSOrTemplateCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleExpCSOrTemplateCS=ruleExpCSOrTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleExpCSOrTemplateCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExpCSOrTemplateCS"
// $ANTLR start "ruleExpCSOrTemplateCS"
// InternalQVTrelation.g:2931:1: ruleExpCSOrTemplateCS returns [EObject current=null] : (this_ExpCS_0= ruleExpCS | this_TemplateCS_1= ruleTemplateCS ) ;
public final EObject ruleExpCSOrTemplateCS() throws RecognitionException {
EObject current = null;
EObject this_ExpCS_0 = null;
EObject this_TemplateCS_1 = null;
enterRule();
try {
// InternalQVTrelation.g:2937:2: ( (this_ExpCS_0= ruleExpCS | this_TemplateCS_1= ruleTemplateCS ) )
// InternalQVTrelation.g:2938:2: (this_ExpCS_0= ruleExpCS | this_TemplateCS_1= ruleTemplateCS )
{
// InternalQVTrelation.g:2938:2: (this_ExpCS_0= ruleExpCS | this_TemplateCS_1= ruleTemplateCS )
int alt68=2;
alt68 = dfa68.predict(input);
switch (alt68) {
case 1 :
// InternalQVTrelation.g:2939:3: this_ExpCS_0= ruleExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSOrTemplateCSAccess().getExpCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_ExpCS_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_ExpCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:2951:3: this_TemplateCS_1= ruleTemplateCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSOrTemplateCSAccess().getTemplateCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TemplateCS_1=ruleTemplateCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TemplateCS_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExpCSOrTemplateCS"
// $ANTLR start "entryRuleTypedTypeRefCS"
// InternalQVTrelation.g:2966:1: entryRuleTypedTypeRefCS returns [EObject current=null] : iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF ;
public final EObject entryRuleTypedTypeRefCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypedTypeRefCS = null;
try {
// InternalQVTrelation.g:2966:55: (iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF )
// InternalQVTrelation.g:2967:2: iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedTypeRefCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypedTypeRefCS=ruleTypedTypeRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypedTypeRefCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypedTypeRefCS"
// $ANTLR start "ruleTypedTypeRefCS"
// InternalQVTrelation.g:2973:1: ruleTypedTypeRefCS returns [EObject current=null] : ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ;
public final EObject ruleTypedTypeRefCS() throws RecognitionException {
EObject current = null;
EObject lv_ownedPathName_0_0 = null;
enterRule();
try {
// InternalQVTrelation.g:2979:2: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) )
// InternalQVTrelation.g:2980:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) )
{
// InternalQVTrelation.g:2980:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) )
// InternalQVTrelation.g:2981:3: (lv_ownedPathName_0_0= rulePathNameCS )
{
// InternalQVTrelation.g:2981:3: (lv_ownedPathName_0_0= rulePathNameCS )
// InternalQVTrelation.g:2982:4: lv_ownedPathName_0_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedTypeRefCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedPathName_0_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypedTypeRefCSRule());
}
set(
current,
"ownedPathName",
lv_ownedPathName_0_0,
"org.eclipse.ocl.xtext.base.Base.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypedTypeRefCS"
// $ANTLR start "entryRuleTypedRefCS"
// InternalQVTrelation.g:3002:1: entryRuleTypedRefCS returns [EObject current=null] : iv_ruleTypedRefCS= ruleTypedRefCS EOF ;
public final EObject entryRuleTypedRefCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypedRefCS = null;
try {
// InternalQVTrelation.g:3002:51: (iv_ruleTypedRefCS= ruleTypedRefCS EOF )
// InternalQVTrelation.g:3003:2: iv_ruleTypedRefCS= ruleTypedRefCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedRefCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypedRefCS=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypedRefCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypedRefCS"
// $ANTLR start "ruleTypedRefCS"
// InternalQVTrelation.g:3009:1: ruleTypedRefCS returns [EObject current=null] : ( (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) | (this_CollectionTypeCS_2= ruleCollectionTypeCS ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) | (this_TypedTypeRefCS_4= ruleTypedTypeRefCS ( (lv_ownedMultiplicity_5_0= ruleMultiplicityCS ) )? ) ) ;
public final EObject ruleTypedRefCS() throws RecognitionException {
EObject current = null;
EObject this_PrimitiveTypeCS_0 = null;
EObject lv_ownedMultiplicity_1_0 = null;
EObject this_CollectionTypeCS_2 = null;
EObject lv_ownedMultiplicity_3_0 = null;
EObject this_TypedTypeRefCS_4 = null;
EObject lv_ownedMultiplicity_5_0 = null;
enterRule();
try {
// InternalQVTrelation.g:3015:2: ( ( (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) | (this_CollectionTypeCS_2= ruleCollectionTypeCS ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) | (this_TypedTypeRefCS_4= ruleTypedTypeRefCS ( (lv_ownedMultiplicity_5_0= ruleMultiplicityCS ) )? ) ) )
// InternalQVTrelation.g:3016:2: ( (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) | (this_CollectionTypeCS_2= ruleCollectionTypeCS ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) | (this_TypedTypeRefCS_4= ruleTypedTypeRefCS ( (lv_ownedMultiplicity_5_0= ruleMultiplicityCS ) )? ) )
{
// InternalQVTrelation.g:3016:2: ( (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) | (this_CollectionTypeCS_2= ruleCollectionTypeCS ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) | (this_TypedTypeRefCS_4= ruleTypedTypeRefCS ( (lv_ownedMultiplicity_5_0= ruleMultiplicityCS ) )? ) )
int alt72=3;
switch ( input.LA(1) ) {
case 116:
case 117:
case 118:
case 119:
case 120:
case 121:
case 122:
case 123:
{
alt72=1;
}
break;
case 124:
case 125:
case 126:
case 127:
case 128:
{
alt72=2;
}
break;
case RULE_SIMPLE_ID:
case RULE_ESCAPED_ID:
case 17:
case 25:
case 26:
case 27:
case 28:
case 29:
case 30:
case 31:
case 32:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 45:
case 46:
case 47:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 61:
case 63:
case 65:
case 68:
case 70:
case 72:
case 74:
case 75:
case 76:
case 77:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 86:
case 88:
case 90:
case 91:
{
alt72=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 72, 0, input);
throw nvae;
}
switch (alt72) {
case 1 :
// InternalQVTrelation.g:3017:3: (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
{
// InternalQVTrelation.g:3017:3: (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
// InternalQVTrelation.g:3018:4: this_PrimitiveTypeCS_0= rulePrimitiveTypeCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedRefCSAccess().getPrimitiveTypeCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_57);
this_PrimitiveTypeCS_0=rulePrimitiveTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_PrimitiveTypeCS_0;
afterParserOrEnumRuleCall();
}
// InternalQVTrelation.g:3029:4: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
int alt69=2;
alt69 = dfa69.predict(input);
switch (alt69) {
case 1 :
// InternalQVTrelation.g:3030:5: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
{
// InternalQVTrelation.g:3030:5: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
// InternalQVTrelation.g:3031:6: lv_ownedMultiplicity_1_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedRefCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedMultiplicity_1_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypedRefCSRule());
}
set(
current,
"ownedMultiplicity",
lv_ownedMultiplicity_1_0,
"org.eclipse.ocl.xtext.base.Base.MultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
break;
case 2 :
// InternalQVTrelation.g:3050:3: (this_CollectionTypeCS_2= ruleCollectionTypeCS ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? )
{
// InternalQVTrelation.g:3050:3: (this_CollectionTypeCS_2= ruleCollectionTypeCS ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? )
// InternalQVTrelation.g:3051:4: this_CollectionTypeCS_2= ruleCollectionTypeCS ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )?
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedRefCSAccess().getCollectionTypeCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_57);
this_CollectionTypeCS_2=ruleCollectionTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_CollectionTypeCS_2;
afterParserOrEnumRuleCall();
}
// InternalQVTrelation.g:3062:4: ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )?
int alt70=2;
alt70 = dfa70.predict(input);
switch (alt70) {
case 1 :
// InternalQVTrelation.g:3063:5: (lv_ownedMultiplicity_3_0= ruleMultiplicityCS )
{
// InternalQVTrelation.g:3063:5: (lv_ownedMultiplicity_3_0= ruleMultiplicityCS )
// InternalQVTrelation.g:3064:6: lv_ownedMultiplicity_3_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedRefCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedMultiplicity_3_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypedRefCSRule());
}
set(
current,
"ownedMultiplicity",
lv_ownedMultiplicity_3_0,
"org.eclipse.ocl.xtext.base.Base.MultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
break;
case 3 :
// InternalQVTrelation.g:3083:3: (this_TypedTypeRefCS_4= ruleTypedTypeRefCS ( (lv_ownedMultiplicity_5_0= ruleMultiplicityCS ) )? )
{
// InternalQVTrelation.g:3083:3: (this_TypedTypeRefCS_4= ruleTypedTypeRefCS ( (lv_ownedMultiplicity_5_0= ruleMultiplicityCS ) )? )
// InternalQVTrelation.g:3084:4: this_TypedTypeRefCS_4= ruleTypedTypeRefCS ( (lv_ownedMultiplicity_5_0= ruleMultiplicityCS ) )?
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedRefCSAccess().getTypedTypeRefCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_57);
this_TypedTypeRefCS_4=ruleTypedTypeRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypedTypeRefCS_4;
afterParserOrEnumRuleCall();
}
// InternalQVTrelation.g:3095:4: ( (lv_ownedMultiplicity_5_0= ruleMultiplicityCS ) )?
int alt71=2;
alt71 = dfa71.predict(input);
switch (alt71) {
case 1 :
// InternalQVTrelation.g:3096:5: (lv_ownedMultiplicity_5_0= ruleMultiplicityCS )
{
// InternalQVTrelation.g:3096:5: (lv_ownedMultiplicity_5_0= ruleMultiplicityCS )
// InternalQVTrelation.g:3097:6: lv_ownedMultiplicity_5_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedRefCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedMultiplicity_5_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypedRefCSRule());
}
set(
current,
"ownedMultiplicity",
lv_ownedMultiplicity_5_0,
"org.eclipse.ocl.xtext.base.Base.MultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypedRefCS"
// $ANTLR start "entryRuleQVTrelationUnrestrictedName"
// InternalQVTrelation.g:3119:1: entryRuleQVTrelationUnrestrictedName returns [String current=null] : iv_ruleQVTrelationUnrestrictedName= ruleQVTrelationUnrestrictedName EOF ;
public final String entryRuleQVTrelationUnrestrictedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleQVTrelationUnrestrictedName = null;
try {
// InternalQVTrelation.g:3119:67: (iv_ruleQVTrelationUnrestrictedName= ruleQVTrelationUnrestrictedName EOF )
// InternalQVTrelation.g:3120:2: iv_ruleQVTrelationUnrestrictedName= ruleQVTrelationUnrestrictedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQVTrelationUnrestrictedNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleQVTrelationUnrestrictedName=ruleQVTrelationUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleQVTrelationUnrestrictedName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleQVTrelationUnrestrictedName"
// $ANTLR start "ruleQVTrelationUnrestrictedName"
// InternalQVTrelation.g:3126:1: ruleQVTrelationUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'abstract' | kw= 'checkonly' | kw= 'default_values' | kw= 'dependsOn' | kw= 'domain' | kw= 'enforce' | kw= 'extends' | kw= 'implementedby' | kw= 'import' | kw= 'input' | kw= 'iterates' | kw= 'library' | kw= 'key' | kw= 'opposite' | kw= 'output' | kw= 'overrides' | kw= 'package' | kw= 'primitive' | kw= 'query' | kw= 'relation' | kw= 'replace' | kw= 'target' | kw= 'top' | kw= 'transformation' | kw= 'via' | kw= 'when' | kw= 'where' ) ;
public final AntlrDatatypeRuleToken ruleQVTrelationUnrestrictedName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalQVTrelation.g:3132:2: ( (kw= 'abstract' | kw= 'checkonly' | kw= 'default_values' | kw= 'dependsOn' | kw= 'domain' | kw= 'enforce' | kw= 'extends' | kw= 'implementedby' | kw= 'import' | kw= 'input' | kw= 'iterates' | kw= 'library' | kw= 'key' | kw= 'opposite' | kw= 'output' | kw= 'overrides' | kw= 'package' | kw= 'primitive' | kw= 'query' | kw= 'relation' | kw= 'replace' | kw= 'target' | kw= 'top' | kw= 'transformation' | kw= 'via' | kw= 'when' | kw= 'where' ) )
// InternalQVTrelation.g:3133:2: (kw= 'abstract' | kw= 'checkonly' | kw= 'default_values' | kw= 'dependsOn' | kw= 'domain' | kw= 'enforce' | kw= 'extends' | kw= 'implementedby' | kw= 'import' | kw= 'input' | kw= 'iterates' | kw= 'library' | kw= 'key' | kw= 'opposite' | kw= 'output' | kw= 'overrides' | kw= 'package' | kw= 'primitive' | kw= 'query' | kw= 'relation' | kw= 'replace' | kw= 'target' | kw= 'top' | kw= 'transformation' | kw= 'via' | kw= 'when' | kw= 'where' )
{
// InternalQVTrelation.g:3133:2: (kw= 'abstract' | kw= 'checkonly' | kw= 'default_values' | kw= 'dependsOn' | kw= 'domain' | kw= 'enforce' | kw= 'extends' | kw= 'implementedby' | kw= 'import' | kw= 'input' | kw= 'iterates' | kw= 'library' | kw= 'key' | kw= 'opposite' | kw= 'output' | kw= 'overrides' | kw= 'package' | kw= 'primitive' | kw= 'query' | kw= 'relation' | kw= 'replace' | kw= 'target' | kw= 'top' | kw= 'transformation' | kw= 'via' | kw= 'when' | kw= 'where' )
int alt73=27;
switch ( input.LA(1) ) {
case 41:
{
alt73=1;
}
break;
case 25:
{
alt73=2;
}
break;
case 30:
{
alt73=3;
}
break;
case 35:
{
alt73=4;
}
break;
case 28:
{
alt73=5;
}
break;
case 26:
{
alt73=6;
}
break;
case 46:
{
alt73=7;
}
break;
case 29:
{
alt73=8;
}
break;
case 47:
{
alt73=9;
}
break;
case 51:
{
alt73=10;
}
break;
case 36:
{
alt73=11;
}
break;
case 52:
{
alt73=12;
}
break;
case 31:
{
alt73=13;
}
break;
case 32:
{
alt73=14;
}
break;
case 53:
{
alt73=15;
}
break;
case 43:
{
alt73=16;
}
break;
case 17:
{
alt73=17;
}
break;
case 37:
{
alt73=18;
}
break;
case 39:
{
alt73=19;
}
break;
case 42:
{
alt73=20;
}
break;
case 27:
{
alt73=21;
}
break;
case 54:
{
alt73=22;
}
break;
case 40:
{
alt73=23;
}
break;
case 45:
{
alt73=24;
}
break;
case 55:
{
alt73=25;
}
break;
case 49:
{
alt73=26;
}
break;
case 50:
{
alt73=27;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 73, 0, input);
throw nvae;
}
switch (alt73) {
case 1 :
// InternalQVTrelation.g:3134:3: kw= 'abstract'
{
kw=(Token)match(input,41,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getAbstractKeyword_0());
}
}
break;
case 2 :
// InternalQVTrelation.g:3140:3: kw= 'checkonly'
{
kw=(Token)match(input,25,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getCheckonlyKeyword_1());
}
}
break;
case 3 :
// InternalQVTrelation.g:3146:3: kw= 'default_values'
{
kw=(Token)match(input,30,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getDefault_valuesKeyword_2());
}
}
break;
case 4 :
// InternalQVTrelation.g:3152:3: kw= 'dependsOn'
{
kw=(Token)match(input,35,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getDependsOnKeyword_3());
}
}
break;
case 5 :
// InternalQVTrelation.g:3158:3: kw= 'domain'
{
kw=(Token)match(input,28,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getDomainKeyword_4());
}
}
break;
case 6 :
// InternalQVTrelation.g:3164:3: kw= 'enforce'
{
kw=(Token)match(input,26,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getEnforceKeyword_5());
}
}
break;
case 7 :
// InternalQVTrelation.g:3170:3: kw= 'extends'
{
kw=(Token)match(input,46,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getExtendsKeyword_6());
}
}
break;
case 8 :
// InternalQVTrelation.g:3176:3: kw= 'implementedby'
{
kw=(Token)match(input,29,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getImplementedbyKeyword_7());
}
}
break;
case 9 :
// InternalQVTrelation.g:3182:3: kw= 'import'
{
kw=(Token)match(input,47,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getImportKeyword_8());
}
}
break;
case 10 :
// InternalQVTrelation.g:3188:3: kw= 'input'
{
kw=(Token)match(input,51,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getInputKeyword_9());
}
}
break;
case 11 :
// InternalQVTrelation.g:3194:3: kw= 'iterates'
{
kw=(Token)match(input,36,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getIteratesKeyword_10());
}
}
break;
case 12 :
// InternalQVTrelation.g:3200:3: kw= 'library'
{
kw=(Token)match(input,52,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getLibraryKeyword_11());
}
}
break;
case 13 :
// InternalQVTrelation.g:3206:3: kw= 'key'
{
kw=(Token)match(input,31,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getKeyKeyword_12());
}
}
break;
case 14 :
// InternalQVTrelation.g:3212:3: kw= 'opposite'
{
kw=(Token)match(input,32,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getOppositeKeyword_13());
}
}
break;
case 15 :
// InternalQVTrelation.g:3218:3: kw= 'output'
{
kw=(Token)match(input,53,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getOutputKeyword_14());
}
}
break;
case 16 :
// InternalQVTrelation.g:3224:3: kw= 'overrides'
{
kw=(Token)match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getOverridesKeyword_15());
}
}
break;
case 17 :
// InternalQVTrelation.g:3230:3: kw= 'package'
{
kw=(Token)match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getPackageKeyword_16());
}
}
break;
case 18 :
// InternalQVTrelation.g:3236:3: kw= 'primitive'
{
kw=(Token)match(input,37,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getPrimitiveKeyword_17());
}
}
break;
case 19 :
// InternalQVTrelation.g:3242:3: kw= 'query'
{
kw=(Token)match(input,39,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getQueryKeyword_18());
}
}
break;
case 20 :
// InternalQVTrelation.g:3248:3: kw= 'relation'
{
kw=(Token)match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getRelationKeyword_19());
}
}
break;
case 21 :
// InternalQVTrelation.g:3254:3: kw= 'replace'
{
kw=(Token)match(input,27,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getReplaceKeyword_20());
}
}
break;
case 22 :
// InternalQVTrelation.g:3260:3: kw= 'target'
{
kw=(Token)match(input,54,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getTargetKeyword_21());
}
}
break;
case 23 :
// InternalQVTrelation.g:3266:3: kw= 'top'
{
kw=(Token)match(input,40,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getTopKeyword_22());
}
}
break;
case 24 :
// InternalQVTrelation.g:3272:3: kw= 'transformation'
{
kw=(Token)match(input,45,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getTransformationKeyword_23());
}
}
break;
case 25 :
// InternalQVTrelation.g:3278:3: kw= 'via'
{
kw=(Token)match(input,55,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getViaKeyword_24());
}
}
break;
case 26 :
// InternalQVTrelation.g:3284:3: kw= 'when'
{
kw=(Token)match(input,49,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getWhenKeyword_25());
}
}
break;
case 27 :
// InternalQVTrelation.g:3290:3: kw= 'where'
{
kw=(Token)match(input,50,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTrelationUnrestrictedNameAccess().getWhereKeyword_26());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleQVTrelationUnrestrictedName"
// $ANTLR start "entryRuleUnrestrictedName"
// InternalQVTrelation.g:3299:1: entryRuleUnrestrictedName returns [String current=null] : iv_ruleUnrestrictedName= ruleUnrestrictedName EOF ;
public final String entryRuleUnrestrictedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleUnrestrictedName = null;
try {
// InternalQVTrelation.g:3299:56: (iv_ruleUnrestrictedName= ruleUnrestrictedName EOF )
// InternalQVTrelation.g:3300:2: iv_ruleUnrestrictedName= ruleUnrestrictedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnrestrictedNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleUnrestrictedName=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleUnrestrictedName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleUnrestrictedName"
// $ANTLR start "ruleUnrestrictedName"
// InternalQVTrelation.g:3306:1: ruleUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | this_QVTbaseUnrestrictedName_1= ruleQVTbaseUnrestrictedName | this_QVTrelationUnrestrictedName_2= ruleQVTrelationUnrestrictedName ) ;
public final AntlrDatatypeRuleToken ruleUnrestrictedName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_EssentialOCLUnrestrictedName_0 = null;
AntlrDatatypeRuleToken this_QVTbaseUnrestrictedName_1 = null;
AntlrDatatypeRuleToken this_QVTrelationUnrestrictedName_2 = null;
enterRule();
try {
// InternalQVTrelation.g:3312:2: ( (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | this_QVTbaseUnrestrictedName_1= ruleQVTbaseUnrestrictedName | this_QVTrelationUnrestrictedName_2= ruleQVTrelationUnrestrictedName ) )
// InternalQVTrelation.g:3313:2: (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | this_QVTbaseUnrestrictedName_1= ruleQVTbaseUnrestrictedName | this_QVTrelationUnrestrictedName_2= ruleQVTrelationUnrestrictedName )
{
// InternalQVTrelation.g:3313:2: (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | this_QVTbaseUnrestrictedName_1= ruleQVTbaseUnrestrictedName | this_QVTrelationUnrestrictedName_2= ruleQVTrelationUnrestrictedName )
int alt74=3;
switch ( input.LA(1) ) {
case RULE_SIMPLE_ID:
case RULE_ESCAPED_ID:
{
alt74=1;
}
break;
case 41:
{
int LA74_2 = input.LA(2);
if ( (synpred109_InternalQVTrelation()) ) {
alt74=2;
}
else if ( (true) ) {
alt74=3;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 74, 2, input);
throw nvae;
}
}
break;
case 38:
case 56:
case 57:
case 58:
case 59:
case 61:
case 63:
case 65:
case 68:
case 70:
case 72:
case 74:
case 75:
case 76:
case 77:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 86:
case 88:
case 90:
case 91:
{
alt74=2;
}
break;
case 46:
{
int LA74_4 = input.LA(2);
if ( (synpred109_InternalQVTrelation()) ) {
alt74=2;
}
else if ( (true) ) {
alt74=3;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 74, 4, input);
throw nvae;
}
}
break;
case 37:
{
int LA74_5 = input.LA(2);
if ( (synpred109_InternalQVTrelation()) ) {
alt74=2;
}
else if ( (true) ) {
alt74=3;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 74, 5, input);
throw nvae;
}
}
break;
case 17:
case 25:
case 26:
case 27:
case 28:
case 29:
case 30:
case 31:
case 32:
case 35:
case 36:
case 39:
case 40:
case 42:
case 43:
case 45:
case 47:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
{
alt74=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 74, 0, input);
throw nvae;
}
switch (alt74) {
case 1 :
// InternalQVTrelation.g:3314:3: this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnrestrictedNameAccess().getEssentialOCLUnrestrictedNameParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
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 :
// InternalQVTrelation.g:3325:3: this_QVTbaseUnrestrictedName_1= ruleQVTbaseUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnrestrictedNameAccess().getQVTbaseUnrestrictedNameParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_QVTbaseUnrestrictedName_1=ruleQVTbaseUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_QVTbaseUnrestrictedName_1);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalQVTrelation.g:3336:3: this_QVTrelationUnrestrictedName_2= ruleQVTrelationUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnrestrictedNameAccess().getQVTrelationUnrestrictedNameParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_QVTrelationUnrestrictedName_2=ruleQVTrelationUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_QVTrelationUnrestrictedName_2);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleUnrestrictedName"
// $ANTLR start "entryRuleAttributeCS"
// InternalQVTrelation.g:3350:1: entryRuleAttributeCS returns [EObject current=null] : iv_ruleAttributeCS= ruleAttributeCS EOF ;
public final EObject entryRuleAttributeCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleAttributeCS = null;
try {
// InternalQVTrelation.g:3350:52: (iv_ruleAttributeCS= ruleAttributeCS EOF )
// InternalQVTrelation.g:3351:2: iv_ruleAttributeCS= ruleAttributeCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAttributeCS=ruleAttributeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAttributeCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAttributeCS"
// $ANTLR start "ruleAttributeCS"
// InternalQVTrelation.g:3357:1: ruleAttributeCS returns [EObject current=null] : ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( (otherlv_30= 'initial' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | (otherlv_35= 'derivation' ( ruleUnrestrictedName )? otherlv_37= ':' ( (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS ) )? otherlv_39= ';' ) )* otherlv_40= '}' ) | otherlv_41= ';' ) ) ;
public final EObject ruleAttributeCS() throws RecognitionException {
EObject current = null;
Token lv_qualifiers_0_0=null;
Token lv_qualifiers_1_0=null;
Token lv_qualifiers_2_0=null;
Token lv_qualifiers_3_0=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token lv_default_9_0=null;
Token otherlv_10=null;
Token lv_qualifiers_11_0=null;
Token lv_qualifiers_12_0=null;
Token lv_qualifiers_13_0=null;
Token lv_qualifiers_14_0=null;
Token lv_qualifiers_15_0=null;
Token lv_qualifiers_16_0=null;
Token lv_qualifiers_17_0=null;
Token lv_qualifiers_18_0=null;
Token lv_qualifiers_19_0=null;
Token lv_qualifiers_20_0=null;
Token lv_qualifiers_21_0=null;
Token lv_qualifiers_22_0=null;
Token lv_qualifiers_23_0=null;
Token lv_qualifiers_24_0=null;
Token lv_qualifiers_25_0=null;
Token lv_qualifiers_26_0=null;
Token otherlv_27=null;
Token otherlv_28=null;
Token otherlv_29=null;
Token otherlv_30=null;
Token otherlv_32=null;
Token otherlv_34=null;
Token otherlv_35=null;
Token otherlv_37=null;
Token otherlv_39=null;
Token otherlv_40=null;
Token otherlv_41=null;
AntlrDatatypeRuleToken lv_name_5_0 = null;
EObject lv_ownedType_7_0 = null;
EObject lv_ownedDefaultExpressions_33_0 = null;
EObject lv_ownedDefaultExpressions_38_0 = null;
enterRule();
try {
// InternalQVTrelation.g:3363:2: ( ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( (otherlv_30= 'initial' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | (otherlv_35= 'derivation' ( ruleUnrestrictedName )? otherlv_37= ':' ( (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS ) )? otherlv_39= ';' ) )* otherlv_40= '}' ) | otherlv_41= ';' ) ) )
// InternalQVTrelation.g:3364:2: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( (otherlv_30= 'initial' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | (otherlv_35= 'derivation' ( ruleUnrestrictedName )? otherlv_37= ':' ( (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS ) )? otherlv_39= ';' ) )* otherlv_40= '}' ) | otherlv_41= ';' ) )
{
// InternalQVTrelation.g:3364:2: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( (otherlv_30= 'initial' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | (otherlv_35= 'derivation' ( ruleUnrestrictedName )? otherlv_37= ':' ( (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS ) )? otherlv_39= ';' ) )* otherlv_40= '}' ) | otherlv_41= ';' ) )
// InternalQVTrelation.g:3365:3: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( (otherlv_30= 'initial' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | (otherlv_35= 'derivation' ( ruleUnrestrictedName )? otherlv_37= ':' ( (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS ) )? otherlv_39= ';' ) )* otherlv_40= '}' ) | otherlv_41= ';' )
{
// InternalQVTrelation.g:3365:3: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )?
int alt77=3;
int LA77_0 = input.LA(1);
if ( (LA77_0==56) ) {
alt77=1;
}
else if ( (LA77_0==57) ) {
alt77=2;
}
switch (alt77) {
case 1 :
// InternalQVTrelation.g:3366:4: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
{
// InternalQVTrelation.g:3366:4: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
// InternalQVTrelation.g:3367:5: ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )?
{
// InternalQVTrelation.g:3367:5: ( (lv_qualifiers_0_0= 'static' ) )
// InternalQVTrelation.g:3368:6: (lv_qualifiers_0_0= 'static' )
{
// InternalQVTrelation.g:3368:6: (lv_qualifiers_0_0= 'static' )
// InternalQVTrelation.g:3369:7: lv_qualifiers_0_0= 'static'
{
lv_qualifiers_0_0=(Token)match(input,56,FollowSets000.FOLLOW_58); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_0_0, grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_0_0, "static");
}
}
}
// InternalQVTrelation.g:3381:5: ( (lv_qualifiers_1_0= 'definition' ) )?
int alt75=2;
int LA75_0 = input.LA(1);
if ( (LA75_0==57) ) {
alt75=1;
}
switch (alt75) {
case 1 :
// InternalQVTrelation.g:3382:6: (lv_qualifiers_1_0= 'definition' )
{
// InternalQVTrelation.g:3382:6: (lv_qualifiers_1_0= 'definition' )
// InternalQVTrelation.g:3383:7: lv_qualifiers_1_0= 'definition'
{
lv_qualifiers_1_0=(Token)match(input,57,FollowSets000.FOLLOW_59); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_1_0, grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_1_0, "definition");
}
}
}
break;
}
}
}
break;
case 2 :
// InternalQVTrelation.g:3397:4: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
{
// InternalQVTrelation.g:3397:4: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
// InternalQVTrelation.g:3398:5: ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )?
{
// InternalQVTrelation.g:3398:5: ( (lv_qualifiers_2_0= 'definition' ) )
// InternalQVTrelation.g:3399:6: (lv_qualifiers_2_0= 'definition' )
{
// InternalQVTrelation.g:3399:6: (lv_qualifiers_2_0= 'definition' )
// InternalQVTrelation.g:3400:7: lv_qualifiers_2_0= 'definition'
{
lv_qualifiers_2_0=(Token)match(input,57,FollowSets000.FOLLOW_60); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_2_0, grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_2_0, "definition");
}
}
}
// InternalQVTrelation.g:3412:5: ( (lv_qualifiers_3_0= 'static' ) )?
int alt76=2;
int LA76_0 = input.LA(1);
if ( (LA76_0==56) ) {
alt76=1;
}
switch (alt76) {
case 1 :
// InternalQVTrelation.g:3413:6: (lv_qualifiers_3_0= 'static' )
{
// InternalQVTrelation.g:3413:6: (lv_qualifiers_3_0= 'static' )
// InternalQVTrelation.g:3414:7: lv_qualifiers_3_0= 'static'
{
lv_qualifiers_3_0=(Token)match(input,56,FollowSets000.FOLLOW_59); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_3_0, grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_3_0, "static");
}
}
}
break;
}
}
}
break;
}
otherlv_4=(Token)match(input,58,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getAttributeCSAccess().getAttributeKeyword_1());
}
// InternalQVTrelation.g:3432:3: ( (lv_name_5_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:3433:4: (lv_name_5_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:3433:4: (lv_name_5_0= ruleUnrestrictedName )
// InternalQVTrelation.g:3434:5: lv_name_5_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_6);
lv_name_5_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAttributeCSRule());
}
set(
current,
"name",
lv_name_5_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:3451:3: (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )?
int alt78=2;
int LA78_0 = input.LA(1);
if ( (LA78_0==18) ) {
alt78=1;
}
switch (alt78) {
case 1 :
// InternalQVTrelation.g:3452:4: otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) )
{
otherlv_6=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getAttributeCSAccess().getColonKeyword_3_0());
}
// InternalQVTrelation.g:3456:4: ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) )
// InternalQVTrelation.g:3457:5: (lv_ownedType_7_0= ruleTypedMultiplicityRefCS )
{
// InternalQVTrelation.g:3457:5: (lv_ownedType_7_0= ruleTypedMultiplicityRefCS )
// InternalQVTrelation.g:3458:6: lv_ownedType_7_0= ruleTypedMultiplicityRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_7);
lv_ownedType_7_0=ruleTypedMultiplicityRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAttributeCSRule());
}
set(
current,
"ownedType",
lv_ownedType_7_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.TypedMultiplicityRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:3476:3: (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )?
int alt79=2;
int LA79_0 = input.LA(1);
if ( (LA79_0==19) ) {
alt79=1;
}
switch (alt79) {
case 1 :
// InternalQVTrelation.g:3477:4: otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) )
{
otherlv_8=(Token)match(input,19,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getAttributeCSAccess().getEqualsSignKeyword_4_0());
}
// InternalQVTrelation.g:3481:4: ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) )
// InternalQVTrelation.g:3482:5: (lv_default_9_0= RULE_SINGLE_QUOTED_STRING )
{
// InternalQVTrelation.g:3482:5: (lv_default_9_0= RULE_SINGLE_QUOTED_STRING )
// InternalQVTrelation.g:3483:6: lv_default_9_0= RULE_SINGLE_QUOTED_STRING
{
lv_default_9_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_default_9_0, grammarAccess.getAttributeCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
setWithLastConsumed(
current,
"default",
lv_default_9_0,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
}
}
break;
}
// InternalQVTrelation.g:3500:3: (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )?
int alt83=2;
int LA83_0 = input.LA(1);
if ( (LA83_0==20) ) {
int LA83_1 = input.LA(2);
if ( (LA83_1==38||(LA83_1>=59 && LA83_1<=73)) ) {
alt83=1;
}
}
switch (alt83) {
case 1 :
// InternalQVTrelation.g:3501:4: otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}'
{
otherlv_10=(Token)match(input,20,FollowSets000.FOLLOW_61); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0());
}
// InternalQVTrelation.g:3505:4: ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+
int cnt82=0;
loop82:
do {
int alt82=2;
int LA82_0 = input.LA(1);
if ( (LA82_0==38||(LA82_0>=59 && LA82_0<=73)) ) {
alt82=1;
}
switch (alt82) {
case 1 :
// InternalQVTrelation.g:3506:5: ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )?
{
// InternalQVTrelation.g:3506:5: ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) )
int alt80=16;
switch ( input.LA(1) ) {
case 59:
{
alt80=1;
}
break;
case 60:
{
alt80=2;
}
break;
case 61:
{
alt80=3;
}
break;
case 62:
{
alt80=4;
}
break;
case 63:
{
alt80=5;
}
break;
case 64:
{
alt80=6;
}
break;
case 65:
{
alt80=7;
}
break;
case 66:
{
alt80=8;
}
break;
case 38:
{
alt80=9;
}
break;
case 67:
{
alt80=10;
}
break;
case 68:
{
alt80=11;
}
break;
case 69:
{
alt80=12;
}
break;
case 70:
{
alt80=13;
}
break;
case 71:
{
alt80=14;
}
break;
case 72:
{
alt80=15;
}
break;
case 73:
{
alt80=16;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 80, 0, input);
throw nvae;
}
switch (alt80) {
case 1 :
// InternalQVTrelation.g:3507:6: ( (lv_qualifiers_11_0= 'derived' ) )
{
// InternalQVTrelation.g:3507:6: ( (lv_qualifiers_11_0= 'derived' ) )
// InternalQVTrelation.g:3508:7: (lv_qualifiers_11_0= 'derived' )
{
// InternalQVTrelation.g:3508:7: (lv_qualifiers_11_0= 'derived' )
// InternalQVTrelation.g:3509:8: lv_qualifiers_11_0= 'derived'
{
lv_qualifiers_11_0=(Token)match(input,59,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_11_0, grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_11_0, "derived");
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:3522:6: ( (lv_qualifiers_12_0= '!derived' ) )
{
// InternalQVTrelation.g:3522:6: ( (lv_qualifiers_12_0= '!derived' ) )
// InternalQVTrelation.g:3523:7: (lv_qualifiers_12_0= '!derived' )
{
// InternalQVTrelation.g:3523:7: (lv_qualifiers_12_0= '!derived' )
// InternalQVTrelation.g:3524:8: lv_qualifiers_12_0= '!derived'
{
lv_qualifiers_12_0=(Token)match(input,60,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_12_0, grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_12_0, "!derived");
}
}
}
}
break;
case 3 :
// InternalQVTrelation.g:3537:6: ( (lv_qualifiers_13_0= 'id' ) )
{
// InternalQVTrelation.g:3537:6: ( (lv_qualifiers_13_0= 'id' ) )
// InternalQVTrelation.g:3538:7: (lv_qualifiers_13_0= 'id' )
{
// InternalQVTrelation.g:3538:7: (lv_qualifiers_13_0= 'id' )
// InternalQVTrelation.g:3539:8: lv_qualifiers_13_0= 'id'
{
lv_qualifiers_13_0=(Token)match(input,61,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_13_0, grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_13_0, "id");
}
}
}
}
break;
case 4 :
// InternalQVTrelation.g:3552:6: ( (lv_qualifiers_14_0= '!id' ) )
{
// InternalQVTrelation.g:3552:6: ( (lv_qualifiers_14_0= '!id' ) )
// InternalQVTrelation.g:3553:7: (lv_qualifiers_14_0= '!id' )
{
// InternalQVTrelation.g:3553:7: (lv_qualifiers_14_0= '!id' )
// InternalQVTrelation.g:3554:8: lv_qualifiers_14_0= '!id'
{
lv_qualifiers_14_0=(Token)match(input,62,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_14_0, grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_3_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_14_0, "!id");
}
}
}
}
break;
case 5 :
// InternalQVTrelation.g:3567:6: ( (lv_qualifiers_15_0= 'ordered' ) )
{
// InternalQVTrelation.g:3567:6: ( (lv_qualifiers_15_0= 'ordered' ) )
// InternalQVTrelation.g:3568:7: (lv_qualifiers_15_0= 'ordered' )
{
// InternalQVTrelation.g:3568:7: (lv_qualifiers_15_0= 'ordered' )
// InternalQVTrelation.g:3569:8: lv_qualifiers_15_0= 'ordered'
{
lv_qualifiers_15_0=(Token)match(input,63,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_15_0, grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_4_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_15_0, "ordered");
}
}
}
}
break;
case 6 :
// InternalQVTrelation.g:3582:6: ( (lv_qualifiers_16_0= '!ordered' ) )
{
// InternalQVTrelation.g:3582:6: ( (lv_qualifiers_16_0= '!ordered' ) )
// InternalQVTrelation.g:3583:7: (lv_qualifiers_16_0= '!ordered' )
{
// InternalQVTrelation.g:3583:7: (lv_qualifiers_16_0= '!ordered' )
// InternalQVTrelation.g:3584:8: lv_qualifiers_16_0= '!ordered'
{
lv_qualifiers_16_0=(Token)match(input,64,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_16_0, grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_5_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_16_0, "!ordered");
}
}
}
}
break;
case 7 :
// InternalQVTrelation.g:3597:6: ( (lv_qualifiers_17_0= 'readonly' ) )
{
// InternalQVTrelation.g:3597:6: ( (lv_qualifiers_17_0= 'readonly' ) )
// InternalQVTrelation.g:3598:7: (lv_qualifiers_17_0= 'readonly' )
{
// InternalQVTrelation.g:3598:7: (lv_qualifiers_17_0= 'readonly' )
// InternalQVTrelation.g:3599:8: lv_qualifiers_17_0= 'readonly'
{
lv_qualifiers_17_0=(Token)match(input,65,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_17_0, grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_6_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_17_0, "readonly");
}
}
}
}
break;
case 8 :
// InternalQVTrelation.g:3612:6: ( (lv_qualifiers_18_0= '!readonly' ) )
{
// InternalQVTrelation.g:3612:6: ( (lv_qualifiers_18_0= '!readonly' ) )
// InternalQVTrelation.g:3613:7: (lv_qualifiers_18_0= '!readonly' )
{
// InternalQVTrelation.g:3613:7: (lv_qualifiers_18_0= '!readonly' )
// InternalQVTrelation.g:3614:8: lv_qualifiers_18_0= '!readonly'
{
lv_qualifiers_18_0=(Token)match(input,66,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_18_0, grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_7_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_18_0, "!readonly");
}
}
}
}
break;
case 9 :
// InternalQVTrelation.g:3627:6: ( (lv_qualifiers_19_0= 'transient' ) )
{
// InternalQVTrelation.g:3627:6: ( (lv_qualifiers_19_0= 'transient' ) )
// InternalQVTrelation.g:3628:7: (lv_qualifiers_19_0= 'transient' )
{
// InternalQVTrelation.g:3628:7: (lv_qualifiers_19_0= 'transient' )
// InternalQVTrelation.g:3629:8: lv_qualifiers_19_0= 'transient'
{
lv_qualifiers_19_0=(Token)match(input,38,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_19_0, grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_8_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_19_0, "transient");
}
}
}
}
break;
case 10 :
// InternalQVTrelation.g:3642:6: ( (lv_qualifiers_20_0= '!transient' ) )
{
// InternalQVTrelation.g:3642:6: ( (lv_qualifiers_20_0= '!transient' ) )
// InternalQVTrelation.g:3643:7: (lv_qualifiers_20_0= '!transient' )
{
// InternalQVTrelation.g:3643:7: (lv_qualifiers_20_0= '!transient' )
// InternalQVTrelation.g:3644:8: lv_qualifiers_20_0= '!transient'
{
lv_qualifiers_20_0=(Token)match(input,67,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_20_0, grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_9_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_20_0, "!transient");
}
}
}
}
break;
case 11 :
// InternalQVTrelation.g:3657:6: ( (lv_qualifiers_21_0= 'unique' ) )
{
// InternalQVTrelation.g:3657:6: ( (lv_qualifiers_21_0= 'unique' ) )
// InternalQVTrelation.g:3658:7: (lv_qualifiers_21_0= 'unique' )
{
// InternalQVTrelation.g:3658:7: (lv_qualifiers_21_0= 'unique' )
// InternalQVTrelation.g:3659:8: lv_qualifiers_21_0= 'unique'
{
lv_qualifiers_21_0=(Token)match(input,68,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_21_0, grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_10_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_21_0, "unique");
}
}
}
}
break;
case 12 :
// InternalQVTrelation.g:3672:6: ( (lv_qualifiers_22_0= '!unique' ) )
{
// InternalQVTrelation.g:3672:6: ( (lv_qualifiers_22_0= '!unique' ) )
// InternalQVTrelation.g:3673:7: (lv_qualifiers_22_0= '!unique' )
{
// InternalQVTrelation.g:3673:7: (lv_qualifiers_22_0= '!unique' )
// InternalQVTrelation.g:3674:8: lv_qualifiers_22_0= '!unique'
{
lv_qualifiers_22_0=(Token)match(input,69,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_22_0, grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_11_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_22_0, "!unique");
}
}
}
}
break;
case 13 :
// InternalQVTrelation.g:3687:6: ( (lv_qualifiers_23_0= 'unsettable' ) )
{
// InternalQVTrelation.g:3687:6: ( (lv_qualifiers_23_0= 'unsettable' ) )
// InternalQVTrelation.g:3688:7: (lv_qualifiers_23_0= 'unsettable' )
{
// InternalQVTrelation.g:3688:7: (lv_qualifiers_23_0= 'unsettable' )
// InternalQVTrelation.g:3689:8: lv_qualifiers_23_0= 'unsettable'
{
lv_qualifiers_23_0=(Token)match(input,70,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_23_0, grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_12_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_23_0, "unsettable");
}
}
}
}
break;
case 14 :
// InternalQVTrelation.g:3702:6: ( (lv_qualifiers_24_0= '!unsettable' ) )
{
// InternalQVTrelation.g:3702:6: ( (lv_qualifiers_24_0= '!unsettable' ) )
// InternalQVTrelation.g:3703:7: (lv_qualifiers_24_0= '!unsettable' )
{
// InternalQVTrelation.g:3703:7: (lv_qualifiers_24_0= '!unsettable' )
// InternalQVTrelation.g:3704:8: lv_qualifiers_24_0= '!unsettable'
{
lv_qualifiers_24_0=(Token)match(input,71,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_24_0, grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_13_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_24_0, "!unsettable");
}
}
}
}
break;
case 15 :
// InternalQVTrelation.g:3717:6: ( (lv_qualifiers_25_0= 'volatile' ) )
{
// InternalQVTrelation.g:3717:6: ( (lv_qualifiers_25_0= 'volatile' ) )
// InternalQVTrelation.g:3718:7: (lv_qualifiers_25_0= 'volatile' )
{
// InternalQVTrelation.g:3718:7: (lv_qualifiers_25_0= 'volatile' )
// InternalQVTrelation.g:3719:8: lv_qualifiers_25_0= 'volatile'
{
lv_qualifiers_25_0=(Token)match(input,72,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_25_0, grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_14_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_25_0, "volatile");
}
}
}
}
break;
case 16 :
// InternalQVTrelation.g:3732:6: ( (lv_qualifiers_26_0= '!volatile' ) )
{
// InternalQVTrelation.g:3732:6: ( (lv_qualifiers_26_0= '!volatile' ) )
// InternalQVTrelation.g:3733:7: (lv_qualifiers_26_0= '!volatile' )
{
// InternalQVTrelation.g:3733:7: (lv_qualifiers_26_0= '!volatile' )
// InternalQVTrelation.g:3734:8: lv_qualifiers_26_0= '!volatile'
{
lv_qualifiers_26_0=(Token)match(input,73,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_26_0, grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_15_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAttributeCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_26_0, "!volatile");
}
}
}
}
break;
}
// InternalQVTrelation.g:3747:5: (otherlv_27= ',' )?
int alt81=2;
int LA81_0 = input.LA(1);
if ( (LA81_0==23) ) {
alt81=1;
}
switch (alt81) {
case 1 :
// InternalQVTrelation.g:3748:6: otherlv_27= ','
{
otherlv_27=(Token)match(input,23,FollowSets000.FOLLOW_63); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_27, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1());
}
}
break;
}
}
break;
default :
if ( cnt82 >= 1 ) break loop82;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(82, input);
throw eee;
}
cnt82++;
} while (true);
otherlv_28=(Token)match(input,21,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_28, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_2());
}
}
break;
}
// InternalQVTrelation.g:3759:3: ( (otherlv_29= '{' ( (otherlv_30= 'initial' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | (otherlv_35= 'derivation' ( ruleUnrestrictedName )? otherlv_37= ':' ( (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS ) )? otherlv_39= ';' ) )* otherlv_40= '}' ) | otherlv_41= ';' )
int alt89=2;
int LA89_0 = input.LA(1);
if ( (LA89_0==20) ) {
alt89=1;
}
else if ( (LA89_0==22) ) {
alt89=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 89, 0, input);
throw nvae;
}
switch (alt89) {
case 1 :
// InternalQVTrelation.g:3760:4: (otherlv_29= '{' ( (otherlv_30= 'initial' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | (otherlv_35= 'derivation' ( ruleUnrestrictedName )? otherlv_37= ':' ( (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS ) )? otherlv_39= ';' ) )* otherlv_40= '}' )
{
// InternalQVTrelation.g:3760:4: (otherlv_29= '{' ( (otherlv_30= 'initial' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | (otherlv_35= 'derivation' ( ruleUnrestrictedName )? otherlv_37= ':' ( (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS ) )? otherlv_39= ';' ) )* otherlv_40= '}' )
// InternalQVTrelation.g:3761:5: otherlv_29= '{' ( (otherlv_30= 'initial' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | (otherlv_35= 'derivation' ( ruleUnrestrictedName )? otherlv_37= ':' ( (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS ) )? otherlv_39= ';' ) )* otherlv_40= '}'
{
otherlv_29=(Token)match(input,20,FollowSets000.FOLLOW_64); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_29, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_6_0_0());
}
// InternalQVTrelation.g:3765:5: ( (otherlv_30= 'initial' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | (otherlv_35= 'derivation' ( ruleUnrestrictedName )? otherlv_37= ':' ( (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS ) )? otherlv_39= ';' ) )*
loop88:
do {
int alt88=3;
int LA88_0 = input.LA(1);
if ( (LA88_0==74) ) {
alt88=1;
}
else if ( (LA88_0==75) ) {
alt88=2;
}
switch (alt88) {
case 1 :
// InternalQVTrelation.g:3766:6: (otherlv_30= 'initial' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' )
{
// InternalQVTrelation.g:3766:6: (otherlv_30= 'initial' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' )
// InternalQVTrelation.g:3767:7: otherlv_30= 'initial' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';'
{
otherlv_30=(Token)match(input,74,FollowSets000.FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_30, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_0_0());
}
// InternalQVTrelation.g:3771:7: ( ruleUnrestrictedName )?
int alt84=2;
int LA84_0 = input.LA(1);
if ( ((LA84_0>=RULE_SIMPLE_ID && LA84_0<=RULE_ESCAPED_ID)||LA84_0==17||(LA84_0>=25 && LA84_0<=32)||(LA84_0>=35 && LA84_0<=43)||(LA84_0>=45 && LA84_0<=47)||(LA84_0>=49 && LA84_0<=59)||LA84_0==61||LA84_0==63||LA84_0==65||LA84_0==68||LA84_0==70||LA84_0==72||(LA84_0>=74 && LA84_0<=77)||(LA84_0>=79 && LA84_0<=84)||LA84_0==86||LA84_0==88||(LA84_0>=90 && LA84_0<=91)) ) {
alt84=1;
}
switch (alt84) {
case 1 :
// InternalQVTrelation.g:3772:8: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_0_1());
}
pushFollow(FollowSets000.FOLLOW_11);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
otherlv_32=(Token)match(input,18,FollowSets000.FOLLOW_65); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_32, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_0_2());
}
// InternalQVTrelation.g:3787:7: ( (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS ) )?
int alt85=2;
int LA85_0 = input.LA(1);
if ( ((LA85_0>=RULE_SINGLE_QUOTED_STRING && LA85_0<=RULE_ESCAPED_ID)||LA85_0==17||(LA85_0>=25 && LA85_0<=33)||(LA85_0>=35 && LA85_0<=43)||(LA85_0>=45 && LA85_0<=59)||LA85_0==61||LA85_0==63||LA85_0==65||LA85_0==68||LA85_0==70||LA85_0==72||(LA85_0>=74 && LA85_0<=77)||(LA85_0>=79 && LA85_0<=84)||LA85_0==86||LA85_0==88||(LA85_0>=90 && LA85_0<=94)||(LA85_0>=114 && LA85_0<=128)||LA85_0==130||(LA85_0>=132 && LA85_0<=135)||LA85_0==142||(LA85_0>=147 && LA85_0<=148)) ) {
alt85=1;
}
switch (alt85) {
case 1 :
// InternalQVTrelation.g:3788:8: (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS )
{
// InternalQVTrelation.g:3788:8: (lv_ownedDefaultExpressions_33_0= ruleSpecificationCS )
// InternalQVTrelation.g:3789:9: lv_ownedDefaultExpressions_33_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_6_0_1_0_3_0());
}
pushFollow(FollowSets000.FOLLOW_20);
lv_ownedDefaultExpressions_33_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAttributeCSRule());
}
add(
current,
"ownedDefaultExpressions",
lv_ownedDefaultExpressions_33_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_34=(Token)match(input,22,FollowSets000.FOLLOW_64); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_34, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_0_4());
}
}
}
break;
case 2 :
// InternalQVTrelation.g:3812:6: (otherlv_35= 'derivation' ( ruleUnrestrictedName )? otherlv_37= ':' ( (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS ) )? otherlv_39= ';' )
{
// InternalQVTrelation.g:3812:6: (otherlv_35= 'derivation' ( ruleUnrestrictedName )? otherlv_37= ':' ( (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS ) )? otherlv_39= ';' )
// InternalQVTrelation.g:3813:7: otherlv_35= 'derivation' ( ruleUnrestrictedName )? otherlv_37= ':' ( (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS ) )? otherlv_39= ';'
{
otherlv_35=(Token)match(input,75,FollowSets000.FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_35, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0());
}
// InternalQVTrelation.g:3817:7: ( ruleUnrestrictedName )?
int alt86=2;
int LA86_0 = input.LA(1);
if ( ((LA86_0>=RULE_SIMPLE_ID && LA86_0<=RULE_ESCAPED_ID)||LA86_0==17||(LA86_0>=25 && LA86_0<=32)||(LA86_0>=35 && LA86_0<=43)||(LA86_0>=45 && LA86_0<=47)||(LA86_0>=49 && LA86_0<=59)||LA86_0==61||LA86_0==63||LA86_0==65||LA86_0==68||LA86_0==70||LA86_0==72||(LA86_0>=74 && LA86_0<=77)||(LA86_0>=79 && LA86_0<=84)||LA86_0==86||LA86_0==88||(LA86_0>=90 && LA86_0<=91)) ) {
alt86=1;
}
switch (alt86) {
case 1 :
// InternalQVTrelation.g:3818:8: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1());
}
pushFollow(FollowSets000.FOLLOW_11);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
otherlv_37=(Token)match(input,18,FollowSets000.FOLLOW_65); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_37, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2());
}
// InternalQVTrelation.g:3833:7: ( (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS ) )?
int alt87=2;
int LA87_0 = input.LA(1);
if ( ((LA87_0>=RULE_SINGLE_QUOTED_STRING && LA87_0<=RULE_ESCAPED_ID)||LA87_0==17||(LA87_0>=25 && LA87_0<=33)||(LA87_0>=35 && LA87_0<=43)||(LA87_0>=45 && LA87_0<=59)||LA87_0==61||LA87_0==63||LA87_0==65||LA87_0==68||LA87_0==70||LA87_0==72||(LA87_0>=74 && LA87_0<=77)||(LA87_0>=79 && LA87_0<=84)||LA87_0==86||LA87_0==88||(LA87_0>=90 && LA87_0<=94)||(LA87_0>=114 && LA87_0<=128)||LA87_0==130||(LA87_0>=132 && LA87_0<=135)||LA87_0==142||(LA87_0>=147 && LA87_0<=148)) ) {
alt87=1;
}
switch (alt87) {
case 1 :
// InternalQVTrelation.g:3834:8: (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS )
{
// InternalQVTrelation.g:3834:8: (lv_ownedDefaultExpressions_38_0= ruleSpecificationCS )
// InternalQVTrelation.g:3835:9: lv_ownedDefaultExpressions_38_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_6_0_1_1_3_0());
}
pushFollow(FollowSets000.FOLLOW_20);
lv_ownedDefaultExpressions_38_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAttributeCSRule());
}
add(
current,
"ownedDefaultExpressions",
lv_ownedDefaultExpressions_38_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_39=(Token)match(input,22,FollowSets000.FOLLOW_64); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_39, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4());
}
}
}
break;
default :
break loop88;
}
} while (true);
otherlv_40=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_40, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_6_0_2());
}
}
}
break;
case 2 :
// InternalQVTrelation.g:3864:4: otherlv_41= ';'
{
otherlv_41=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_41, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAttributeCS"
// $ANTLR start "entryRuleClassCS"
// InternalQVTrelation.g:3873:1: entryRuleClassCS returns [EObject current=null] : iv_ruleClassCS= ruleClassCS EOF ;
public final EObject entryRuleClassCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleClassCS = null;
try {
// InternalQVTrelation.g:3873:48: (iv_ruleClassCS= ruleClassCS EOF )
// InternalQVTrelation.g:3874:2: iv_ruleClassCS= ruleClassCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleClassCS=ruleClassCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleClassCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleClassCS"
// $ANTLR start "ruleClassCS"
// InternalQVTrelation.g:3880:1: ruleClassCS returns [EObject current=null] : (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS ) ;
public final EObject ruleClassCS() throws RecognitionException {
EObject current = null;
EObject this_StructuredClassCS_0 = null;
EObject this_DataTypeCS_1 = null;
EObject this_EnumerationCS_2 = null;
enterRule();
try {
// InternalQVTrelation.g:3886:2: ( (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS ) )
// InternalQVTrelation.g:3887:2: (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS )
{
// InternalQVTrelation.g:3887:2: (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS )
int alt90=3;
switch ( input.LA(1) ) {
case 41:
case 90:
{
alt90=1;
}
break;
case 37:
case 76:
{
alt90=2;
}
break;
case 79:
{
alt90=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 90, 0, input);
throw nvae;
}
switch (alt90) {
case 1 :
// InternalQVTrelation.g:3888:3: this_StructuredClassCS_0= ruleStructuredClassCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassCSAccess().getStructuredClassCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_StructuredClassCS_0=ruleStructuredClassCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_StructuredClassCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:3900:3: this_DataTypeCS_1= ruleDataTypeCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassCSAccess().getDataTypeCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_DataTypeCS_1=ruleDataTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_DataTypeCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalQVTrelation.g:3912:3: this_EnumerationCS_2= ruleEnumerationCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getClassCSAccess().getEnumerationCSParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_EnumerationCS_2=ruleEnumerationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_EnumerationCS_2;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleClassCS"
// $ANTLR start "entryRuleCompoundTargetElementCS"
// InternalQVTrelation.g:3927:1: entryRuleCompoundTargetElementCS returns [EObject current=null] : iv_ruleCompoundTargetElementCS= ruleCompoundTargetElementCS EOF ;
public final EObject entryRuleCompoundTargetElementCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCompoundTargetElementCS = null;
try {
// InternalQVTrelation.g:3927:64: (iv_ruleCompoundTargetElementCS= ruleCompoundTargetElementCS EOF )
// InternalQVTrelation.g:3928:2: iv_ruleCompoundTargetElementCS= ruleCompoundTargetElementCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCompoundTargetElementCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCompoundTargetElementCS=ruleCompoundTargetElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCompoundTargetElementCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCompoundTargetElementCS"
// $ANTLR start "ruleCompoundTargetElementCS"
// InternalQVTrelation.g:3934:1: ruleCompoundTargetElementCS returns [EObject current=null] : (otherlv_0= '{' ( (lv_ownedTargetElements_1_0= ruleSimpleTargetElementCS ) )* otherlv_2= '}' (otherlv_3= ';' )? ) ;
public final EObject ruleCompoundTargetElementCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_3=null;
EObject lv_ownedTargetElements_1_0 = null;
enterRule();
try {
// InternalQVTrelation.g:3940:2: ( (otherlv_0= '{' ( (lv_ownedTargetElements_1_0= ruleSimpleTargetElementCS ) )* otherlv_2= '}' (otherlv_3= ';' )? ) )
// InternalQVTrelation.g:3941:2: (otherlv_0= '{' ( (lv_ownedTargetElements_1_0= ruleSimpleTargetElementCS ) )* otherlv_2= '}' (otherlv_3= ';' )? )
{
// InternalQVTrelation.g:3941:2: (otherlv_0= '{' ( (lv_ownedTargetElements_1_0= ruleSimpleTargetElementCS ) )* otherlv_2= '}' (otherlv_3= ';' )? )
// InternalQVTrelation.g:3942:3: otherlv_0= '{' ( (lv_ownedTargetElements_1_0= ruleSimpleTargetElementCS ) )* otherlv_2= '}' (otherlv_3= ';' )?
{
otherlv_0=(Token)match(input,20,FollowSets000.FOLLOW_66); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getCompoundTargetElementCSAccess().getLeftCurlyBracketKeyword_0());
}
// InternalQVTrelation.g:3946:3: ( (lv_ownedTargetElements_1_0= ruleSimpleTargetElementCS ) )*
loop91:
do {
int alt91=2;
int LA91_0 = input.LA(1);
if ( (LA91_0==51||LA91_0==53||LA91_0==55) ) {
alt91=1;
}
switch (alt91) {
case 1 :
// InternalQVTrelation.g:3947:4: (lv_ownedTargetElements_1_0= ruleSimpleTargetElementCS )
{
// InternalQVTrelation.g:3947:4: (lv_ownedTargetElements_1_0= ruleSimpleTargetElementCS )
// InternalQVTrelation.g:3948:5: lv_ownedTargetElements_1_0= ruleSimpleTargetElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCompoundTargetElementCSAccess().getOwnedTargetElementsSimpleTargetElementCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_66);
lv_ownedTargetElements_1_0=ruleSimpleTargetElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCompoundTargetElementCSRule());
}
add(
current,
"ownedTargetElements",
lv_ownedTargetElements_1_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.SimpleTargetElementCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop91;
}
} while (true);
otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_67); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getCompoundTargetElementCSAccess().getRightCurlyBracketKeyword_2());
}
// InternalQVTrelation.g:3969:3: (otherlv_3= ';' )?
int alt92=2;
int LA92_0 = input.LA(1);
if ( (LA92_0==22) ) {
alt92=1;
}
switch (alt92) {
case 1 :
// InternalQVTrelation.g:3970:4: otherlv_3= ';'
{
otherlv_3=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getCompoundTargetElementCSAccess().getSemicolonKeyword_3());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCompoundTargetElementCS"
// $ANTLR start "entryRuleDataTypeCS"
// InternalQVTrelation.g:3979:1: entryRuleDataTypeCS returns [EObject current=null] : iv_ruleDataTypeCS= ruleDataTypeCS EOF ;
public final EObject entryRuleDataTypeCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleDataTypeCS = null;
try {
// InternalQVTrelation.g:3979:51: (iv_ruleDataTypeCS= ruleDataTypeCS EOF )
// InternalQVTrelation.g:3980:2: iv_ruleDataTypeCS= ruleDataTypeCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDataTypeCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleDataTypeCS=ruleDataTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDataTypeCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDataTypeCS"
// $ANTLR start "ruleDataTypeCS"
// InternalQVTrelation.g:3986:1: ruleDataTypeCS returns [EObject current=null] : ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' otherlv_11= '}' ) | otherlv_12= ';' ) ) ;
public final EObject ruleDataTypeCS() throws RecognitionException {
EObject current = null;
Token lv_isPrimitive_0_0=null;
Token otherlv_1=null;
Token otherlv_4=null;
Token lv_instanceClassName_5_0=null;
Token otherlv_6=null;
Token lv_isSerializable_7_0=null;
Token otherlv_8=null;
Token otherlv_9=null;
Token otherlv_10=null;
Token otherlv_11=null;
Token otherlv_12=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_ownedSignature_3_0 = null;
enterRule();
try {
// InternalQVTrelation.g:3992:2: ( ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' otherlv_11= '}' ) | otherlv_12= ';' ) ) )
// InternalQVTrelation.g:3993:2: ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' otherlv_11= '}' ) | otherlv_12= ';' ) )
{
// InternalQVTrelation.g:3993:2: ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' otherlv_11= '}' ) | otherlv_12= ';' ) )
// InternalQVTrelation.g:3994:3: ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' otherlv_11= '}' ) | otherlv_12= ';' )
{
// InternalQVTrelation.g:3994:3: ( (lv_isPrimitive_0_0= 'primitive' ) )?
int alt93=2;
int LA93_0 = input.LA(1);
if ( (LA93_0==37) ) {
alt93=1;
}
switch (alt93) {
case 1 :
// InternalQVTrelation.g:3995:4: (lv_isPrimitive_0_0= 'primitive' )
{
// InternalQVTrelation.g:3995:4: (lv_isPrimitive_0_0= 'primitive' )
// InternalQVTrelation.g:3996:5: lv_isPrimitive_0_0= 'primitive'
{
lv_isPrimitive_0_0=(Token)match(input,37,FollowSets000.FOLLOW_68); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isPrimitive_0_0, grammarAccess.getDataTypeCSAccess().getIsPrimitivePrimitiveKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDataTypeCSRule());
}
setWithLastConsumed(current, "isPrimitive", lv_isPrimitive_0_0 != null, "primitive");
}
}
}
break;
}
otherlv_1=(Token)match(input,76,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getDataTypeCSAccess().getDatatypeKeyword_1());
}
// InternalQVTrelation.g:4012:3: ( (lv_name_2_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:4013:4: (lv_name_2_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:4013:4: (lv_name_2_0= ruleUnrestrictedName )
// InternalQVTrelation.g:4014:5: lv_name_2_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDataTypeCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_69);
lv_name_2_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDataTypeCSRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:4031:3: ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )?
int alt94=2;
int LA94_0 = input.LA(1);
if ( (LA94_0==33) ) {
alt94=1;
}
switch (alt94) {
case 1 :
// InternalQVTrelation.g:4032:4: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
{
// InternalQVTrelation.g:4032:4: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
// InternalQVTrelation.g:4033:5: lv_ownedSignature_3_0= ruleTemplateSignatureCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDataTypeCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_70);
lv_ownedSignature_3_0=ruleTemplateSignatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDataTypeCSRule());
}
set(
current,
"ownedSignature",
lv_ownedSignature_3_0,
"org.eclipse.ocl.xtext.base.Base.TemplateSignatureCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalQVTrelation.g:4050:3: (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )?
int alt95=2;
int LA95_0 = input.LA(1);
if ( (LA95_0==18) ) {
alt95=1;
}
switch (alt95) {
case 1 :
// InternalQVTrelation.g:4051:4: otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) )
{
otherlv_4=(Token)match(input,18,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getDataTypeCSAccess().getColonKeyword_4_0());
}
// InternalQVTrelation.g:4055:4: ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) )
// InternalQVTrelation.g:4056:5: (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING )
{
// InternalQVTrelation.g:4056:5: (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING )
// InternalQVTrelation.g:4057:6: lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING
{
lv_instanceClassName_5_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_instanceClassName_5_0, grammarAccess.getDataTypeCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDataTypeCSRule());
}
setWithLastConsumed(
current,
"instanceClassName",
lv_instanceClassName_5_0,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
}
}
break;
}
// InternalQVTrelation.g:4074:3: (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )?
int alt97=2;
int LA97_0 = input.LA(1);
if ( (LA97_0==20) ) {
int LA97_1 = input.LA(2);
if ( (LA97_1==21) ) {
int LA97_3 = input.LA(3);
if ( (LA97_3==20||LA97_3==22) ) {
alt97=1;
}
}
else if ( ((LA97_1>=77 && LA97_1<=78)) ) {
alt97=1;
}
}
switch (alt97) {
case 1 :
// InternalQVTrelation.g:4075:4: otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}'
{
otherlv_6=(Token)match(input,20,FollowSets000.FOLLOW_71); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getDataTypeCSAccess().getLeftCurlyBracketKeyword_5_0());
}
// InternalQVTrelation.g:4079:4: ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )?
int alt96=3;
int LA96_0 = input.LA(1);
if ( (LA96_0==77) ) {
alt96=1;
}
else if ( (LA96_0==78) ) {
alt96=2;
}
switch (alt96) {
case 1 :
// InternalQVTrelation.g:4080:5: ( (lv_isSerializable_7_0= 'serializable' ) )
{
// InternalQVTrelation.g:4080:5: ( (lv_isSerializable_7_0= 'serializable' ) )
// InternalQVTrelation.g:4081:6: (lv_isSerializable_7_0= 'serializable' )
{
// InternalQVTrelation.g:4081:6: (lv_isSerializable_7_0= 'serializable' )
// InternalQVTrelation.g:4082:7: lv_isSerializable_7_0= 'serializable'
{
lv_isSerializable_7_0=(Token)match(input,77,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isSerializable_7_0, grammarAccess.getDataTypeCSAccess().getIsSerializableSerializableKeyword_5_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDataTypeCSRule());
}
setWithLastConsumed(current, "isSerializable", lv_isSerializable_7_0 != null, "serializable");
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:4095:5: otherlv_8= '!serializable'
{
otherlv_8=(Token)match(input,78,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getDataTypeCSAccess().getSerializableKeyword_5_1_1());
}
}
break;
}
otherlv_9=(Token)match(input,21,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getDataTypeCSAccess().getRightCurlyBracketKeyword_5_2());
}
}
break;
}
// InternalQVTrelation.g:4105:3: ( (otherlv_10= '{' otherlv_11= '}' ) | otherlv_12= ';' )
int alt98=2;
int LA98_0 = input.LA(1);
if ( (LA98_0==20) ) {
alt98=1;
}
else if ( (LA98_0==22) ) {
alt98=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 98, 0, input);
throw nvae;
}
switch (alt98) {
case 1 :
// InternalQVTrelation.g:4106:4: (otherlv_10= '{' otherlv_11= '}' )
{
// InternalQVTrelation.g:4106:4: (otherlv_10= '{' otherlv_11= '}' )
// InternalQVTrelation.g:4107:5: otherlv_10= '{' otherlv_11= '}'
{
otherlv_10=(Token)match(input,20,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getDataTypeCSAccess().getLeftCurlyBracketKeyword_6_0_0());
}
otherlv_11=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getDataTypeCSAccess().getRightCurlyBracketKeyword_6_0_1());
}
}
}
break;
case 2 :
// InternalQVTrelation.g:4117:4: otherlv_12= ';'
{
otherlv_12=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getDataTypeCSAccess().getSemicolonKeyword_6_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDataTypeCS"
// $ANTLR start "entryRuleEnumerationCS"
// InternalQVTrelation.g:4126:1: entryRuleEnumerationCS returns [EObject current=null] : iv_ruleEnumerationCS= ruleEnumerationCS EOF ;
public final EObject entryRuleEnumerationCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleEnumerationCS = null;
try {
// InternalQVTrelation.g:4126:54: (iv_ruleEnumerationCS= ruleEnumerationCS EOF )
// InternalQVTrelation.g:4127:2: iv_ruleEnumerationCS= ruleEnumerationCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEnumerationCS=ruleEnumerationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEnumerationCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEnumerationCS"
// $ANTLR start "ruleEnumerationCS"
// InternalQVTrelation.g:4133:1: ruleEnumerationCS returns [EObject current=null] : (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( (lv_ownedLiterals_10_0= ruleEnumerationLiteralCS ) )* otherlv_11= '}' ) | otherlv_12= ';' ) ) ;
public final EObject ruleEnumerationCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_3=null;
Token lv_instanceClassName_4_0=null;
Token otherlv_5=null;
Token lv_isSerializable_6_0=null;
Token otherlv_7=null;
Token otherlv_8=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token otherlv_12=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_ownedSignature_2_0 = null;
EObject lv_ownedLiterals_10_0 = null;
enterRule();
try {
// InternalQVTrelation.g:4139:2: ( (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( (lv_ownedLiterals_10_0= ruleEnumerationLiteralCS ) )* otherlv_11= '}' ) | otherlv_12= ';' ) ) )
// InternalQVTrelation.g:4140:2: (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( (lv_ownedLiterals_10_0= ruleEnumerationLiteralCS ) )* otherlv_11= '}' ) | otherlv_12= ';' ) )
{
// InternalQVTrelation.g:4140:2: (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( (lv_ownedLiterals_10_0= ruleEnumerationLiteralCS ) )* otherlv_11= '}' ) | otherlv_12= ';' ) )
// InternalQVTrelation.g:4141:3: otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( (lv_ownedLiterals_10_0= ruleEnumerationLiteralCS ) )* otherlv_11= '}' ) | otherlv_12= ';' )
{
otherlv_0=(Token)match(input,79,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getEnumerationCSAccess().getEnumKeyword_0());
}
// InternalQVTrelation.g:4145:3: ( (lv_name_1_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:4146:4: (lv_name_1_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:4146:4: (lv_name_1_0= ruleUnrestrictedName )
// InternalQVTrelation.g:4147:5: lv_name_1_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationCSAccess().getNameUnrestrictedNameParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_69);
lv_name_1_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationCSRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:4164:3: ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )?
int alt99=2;
int LA99_0 = input.LA(1);
if ( (LA99_0==33) ) {
alt99=1;
}
switch (alt99) {
case 1 :
// InternalQVTrelation.g:4165:4: (lv_ownedSignature_2_0= ruleTemplateSignatureCS )
{
// InternalQVTrelation.g:4165:4: (lv_ownedSignature_2_0= ruleTemplateSignatureCS )
// InternalQVTrelation.g:4166:5: lv_ownedSignature_2_0= ruleTemplateSignatureCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_70);
lv_ownedSignature_2_0=ruleTemplateSignatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationCSRule());
}
set(
current,
"ownedSignature",
lv_ownedSignature_2_0,
"org.eclipse.ocl.xtext.base.Base.TemplateSignatureCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalQVTrelation.g:4183:3: (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )?
int alt100=2;
int LA100_0 = input.LA(1);
if ( (LA100_0==18) ) {
alt100=1;
}
switch (alt100) {
case 1 :
// InternalQVTrelation.g:4184:4: otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) )
{
otherlv_3=(Token)match(input,18,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getEnumerationCSAccess().getColonKeyword_3_0());
}
// InternalQVTrelation.g:4188:4: ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) )
// InternalQVTrelation.g:4189:5: (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING )
{
// InternalQVTrelation.g:4189:5: (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING )
// InternalQVTrelation.g:4190:6: lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING
{
lv_instanceClassName_4_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_instanceClassName_4_0, grammarAccess.getEnumerationCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_3_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getEnumerationCSRule());
}
setWithLastConsumed(
current,
"instanceClassName",
lv_instanceClassName_4_0,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
}
}
break;
}
// InternalQVTrelation.g:4207:3: (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )?
int alt102=2;
int LA102_0 = input.LA(1);
if ( (LA102_0==20) ) {
int LA102_1 = input.LA(2);
if ( ((LA102_1>=77 && LA102_1<=78)) ) {
alt102=1;
}
else if ( (LA102_1==21) ) {
int LA102_4 = input.LA(3);
if ( (LA102_4==20||LA102_4==22) ) {
alt102=1;
}
}
}
switch (alt102) {
case 1 :
// InternalQVTrelation.g:4208:4: otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}'
{
otherlv_5=(Token)match(input,20,FollowSets000.FOLLOW_71); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getEnumerationCSAccess().getLeftCurlyBracketKeyword_4_0());
}
// InternalQVTrelation.g:4212:4: ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )?
int alt101=3;
int LA101_0 = input.LA(1);
if ( (LA101_0==77) ) {
alt101=1;
}
else if ( (LA101_0==78) ) {
alt101=2;
}
switch (alt101) {
case 1 :
// InternalQVTrelation.g:4213:5: ( (lv_isSerializable_6_0= 'serializable' ) )
{
// InternalQVTrelation.g:4213:5: ( (lv_isSerializable_6_0= 'serializable' ) )
// InternalQVTrelation.g:4214:6: (lv_isSerializable_6_0= 'serializable' )
{
// InternalQVTrelation.g:4214:6: (lv_isSerializable_6_0= 'serializable' )
// InternalQVTrelation.g:4215:7: lv_isSerializable_6_0= 'serializable'
{
lv_isSerializable_6_0=(Token)match(input,77,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isSerializable_6_0, grammarAccess.getEnumerationCSAccess().getIsSerializableSerializableKeyword_4_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getEnumerationCSRule());
}
setWithLastConsumed(current, "isSerializable", lv_isSerializable_6_0 != null, "serializable");
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:4228:5: otherlv_7= '!serializable'
{
otherlv_7=(Token)match(input,78,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getEnumerationCSAccess().getSerializableKeyword_4_1_1());
}
}
break;
}
otherlv_8=(Token)match(input,21,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getEnumerationCSAccess().getRightCurlyBracketKeyword_4_2());
}
}
break;
}
// InternalQVTrelation.g:4238:3: ( (otherlv_9= '{' ( (lv_ownedLiterals_10_0= ruleEnumerationLiteralCS ) )* otherlv_11= '}' ) | otherlv_12= ';' )
int alt104=2;
int LA104_0 = input.LA(1);
if ( (LA104_0==20) ) {
alt104=1;
}
else if ( (LA104_0==22) ) {
alt104=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 104, 0, input);
throw nvae;
}
switch (alt104) {
case 1 :
// InternalQVTrelation.g:4239:4: (otherlv_9= '{' ( (lv_ownedLiterals_10_0= ruleEnumerationLiteralCS ) )* otherlv_11= '}' )
{
// InternalQVTrelation.g:4239:4: (otherlv_9= '{' ( (lv_ownedLiterals_10_0= ruleEnumerationLiteralCS ) )* otherlv_11= '}' )
// InternalQVTrelation.g:4240:5: otherlv_9= '{' ( (lv_ownedLiterals_10_0= ruleEnumerationLiteralCS ) )* otherlv_11= '}'
{
otherlv_9=(Token)match(input,20,FollowSets000.FOLLOW_72); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getEnumerationCSAccess().getLeftCurlyBracketKeyword_5_0_0());
}
// InternalQVTrelation.g:4244:5: ( (lv_ownedLiterals_10_0= ruleEnumerationLiteralCS ) )*
loop103:
do {
int alt103=2;
int LA103_0 = input.LA(1);
if ( ((LA103_0>=RULE_SIMPLE_ID && LA103_0<=RULE_ESCAPED_ID)||LA103_0==80) ) {
alt103=1;
}
switch (alt103) {
case 1 :
// InternalQVTrelation.g:4245:6: (lv_ownedLiterals_10_0= ruleEnumerationLiteralCS )
{
// InternalQVTrelation.g:4245:6: (lv_ownedLiterals_10_0= ruleEnumerationLiteralCS )
// InternalQVTrelation.g:4246:7: lv_ownedLiterals_10_0= ruleEnumerationLiteralCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationCSAccess().getOwnedLiteralsEnumerationLiteralCSParserRuleCall_5_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_72);
lv_ownedLiterals_10_0=ruleEnumerationLiteralCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationCSRule());
}
add(
current,
"ownedLiterals",
lv_ownedLiterals_10_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.EnumerationLiteralCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop103;
}
} while (true);
otherlv_11=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getEnumerationCSAccess().getRightCurlyBracketKeyword_5_0_2());
}
}
}
break;
case 2 :
// InternalQVTrelation.g:4269:4: otherlv_12= ';'
{
otherlv_12=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getEnumerationCSAccess().getSemicolonKeyword_5_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEnumerationCS"
// $ANTLR start "entryRuleEnumerationLiteralCS"
// InternalQVTrelation.g:4278:1: entryRuleEnumerationLiteralCS returns [EObject current=null] : iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF ;
public final EObject entryRuleEnumerationLiteralCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleEnumerationLiteralCS = null;
try {
// InternalQVTrelation.g:4278:61: (iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF )
// InternalQVTrelation.g:4279:2: iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationLiteralCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEnumerationLiteralCS=ruleEnumerationLiteralCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEnumerationLiteralCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEnumerationLiteralCS"
// $ANTLR start "ruleEnumerationLiteralCS"
// InternalQVTrelation.g:4285:1: ruleEnumerationLiteralCS returns [EObject current=null] : ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' otherlv_6= '}' ) | otherlv_7= ';' ) ) ;
public final EObject ruleEnumerationLiteralCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_6=null;
Token otherlv_7=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
AntlrDatatypeRuleToken lv_value_4_0 = null;
enterRule();
try {
// InternalQVTrelation.g:4291:2: ( ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' otherlv_6= '}' ) | otherlv_7= ';' ) ) )
// InternalQVTrelation.g:4292:2: ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' otherlv_6= '}' ) | otherlv_7= ';' ) )
{
// InternalQVTrelation.g:4292:2: ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' otherlv_6= '}' ) | otherlv_7= ';' ) )
// InternalQVTrelation.g:4293:3: ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' otherlv_6= '}' ) | otherlv_7= ';' )
{
// InternalQVTrelation.g:4293:3: ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) )
int alt105=2;
int LA105_0 = input.LA(1);
if ( (LA105_0==80) ) {
alt105=1;
}
else if ( ((LA105_0>=RULE_SIMPLE_ID && LA105_0<=RULE_ESCAPED_ID)) ) {
alt105=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 105, 0, input);
throw nvae;
}
switch (alt105) {
case 1 :
// InternalQVTrelation.g:4294:4: (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) )
{
// InternalQVTrelation.g:4294:4: (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) )
// InternalQVTrelation.g:4295:5: otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) )
{
otherlv_0=(Token)match(input,80,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getEnumerationLiteralCSAccess().getLiteralKeyword_0_0_0());
}
// InternalQVTrelation.g:4299:5: ( (lv_name_1_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:4300:6: (lv_name_1_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:4300:6: (lv_name_1_0= ruleUnrestrictedName )
// InternalQVTrelation.g:4301:7: lv_name_1_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getNameUnrestrictedNameParserRuleCall_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_7);
lv_name_1_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationLiteralCSRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:4320:4: ( (lv_name_2_0= ruleEnumerationLiteralName ) )
{
// InternalQVTrelation.g:4320:4: ( (lv_name_2_0= ruleEnumerationLiteralName ) )
// InternalQVTrelation.g:4321:5: (lv_name_2_0= ruleEnumerationLiteralName )
{
// InternalQVTrelation.g:4321:5: (lv_name_2_0= ruleEnumerationLiteralName )
// InternalQVTrelation.g:4322:6: lv_name_2_0= ruleEnumerationLiteralName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getNameEnumerationLiteralNameParserRuleCall_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_7);
lv_name_2_0=ruleEnumerationLiteralName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationLiteralCSRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.EnumerationLiteralName");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:4340:3: (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )?
int alt106=2;
int LA106_0 = input.LA(1);
if ( (LA106_0==19) ) {
alt106=1;
}
switch (alt106) {
case 1 :
// InternalQVTrelation.g:4341:4: otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) )
{
otherlv_3=(Token)match(input,19,FollowSets000.FOLLOW_73); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getEnumerationLiteralCSAccess().getEqualsSignKeyword_1_0());
}
// InternalQVTrelation.g:4345:4: ( (lv_value_4_0= ruleSIGNED ) )
// InternalQVTrelation.g:4346:5: (lv_value_4_0= ruleSIGNED )
{
// InternalQVTrelation.g:4346:5: (lv_value_4_0= ruleSIGNED )
// InternalQVTrelation.g:4347:6: lv_value_4_0= ruleSIGNED
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getValueSIGNEDParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_9);
lv_value_4_0=ruleSIGNED();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEnumerationLiteralCSRule());
}
set(
current,
"value",
lv_value_4_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.SIGNED");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:4365:3: ( (otherlv_5= '{' otherlv_6= '}' ) | otherlv_7= ';' )
int alt107=2;
int LA107_0 = input.LA(1);
if ( (LA107_0==20) ) {
alt107=1;
}
else if ( (LA107_0==22) ) {
alt107=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 107, 0, input);
throw nvae;
}
switch (alt107) {
case 1 :
// InternalQVTrelation.g:4366:4: (otherlv_5= '{' otherlv_6= '}' )
{
// InternalQVTrelation.g:4366:4: (otherlv_5= '{' otherlv_6= '}' )
// InternalQVTrelation.g:4367:5: otherlv_5= '{' otherlv_6= '}'
{
otherlv_5=(Token)match(input,20,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getEnumerationLiteralCSAccess().getLeftCurlyBracketKeyword_2_0_0());
}
otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getEnumerationLiteralCSAccess().getRightCurlyBracketKeyword_2_0_1());
}
}
}
break;
case 2 :
// InternalQVTrelation.g:4377:4: otherlv_7= ';'
{
otherlv_7=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getEnumerationLiteralCSAccess().getSemicolonKeyword_2_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEnumerationLiteralCS"
// $ANTLR start "entryRuleOperationCS"
// InternalQVTrelation.g:4386:1: entryRuleOperationCS returns [EObject current=null] : iv_ruleOperationCS= ruleOperationCS EOF ;
public final EObject entryRuleOperationCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleOperationCS = null;
try {
// InternalQVTrelation.g:4386:52: (iv_ruleOperationCS= ruleOperationCS EOF )
// InternalQVTrelation.g:4387:2: iv_ruleOperationCS= ruleOperationCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOperationCS=ruleOperationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOperationCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOperationCS"
// $ANTLR start "ruleOperationCS"
// InternalQVTrelation.g:4393:1: ruleOperationCS returns [EObject current=null] : ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+ otherlv_26= '}' )? ( (otherlv_27= '{' (otherlv_28= 'body' ( ruleUnrestrictedName )? otherlv_30= ':' ( (lv_ownedBodyExpressions_31_0= ruleSpecificationCS ) )? otherlv_32= ';' )* otherlv_33= '}' ) | otherlv_34= ';' ) ) ;
public final EObject ruleOperationCS() throws RecognitionException {
EObject current = null;
Token lv_qualifiers_0_0=null;
Token lv_qualifiers_1_0=null;
Token lv_qualifiers_2_0=null;
Token lv_qualifiers_3_0=null;
Token otherlv_4=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token otherlv_12=null;
Token otherlv_14=null;
Token otherlv_16=null;
Token otherlv_18=null;
Token lv_qualifiers_19_0=null;
Token lv_qualifiers_20_0=null;
Token lv_qualifiers_21_0=null;
Token lv_qualifiers_22_0=null;
Token lv_qualifiers_23_0=null;
Token lv_qualifiers_24_0=null;
Token otherlv_25=null;
Token otherlv_26=null;
Token otherlv_27=null;
Token otherlv_28=null;
Token otherlv_30=null;
Token otherlv_32=null;
Token otherlv_33=null;
Token otherlv_34=null;
EObject lv_ownedSignature_5_0 = null;
AntlrDatatypeRuleToken lv_name_6_0 = null;
EObject lv_ownedParameters_8_0 = null;
EObject lv_ownedParameters_10_0 = null;
EObject lv_ownedType_13_0 = null;
EObject lv_ownedExceptions_15_0 = null;
EObject lv_ownedExceptions_17_0 = null;
EObject lv_ownedBodyExpressions_31_0 = null;
enterRule();
try {
// InternalQVTrelation.g:4399:2: ( ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+ otherlv_26= '}' )? ( (otherlv_27= '{' (otherlv_28= 'body' ( ruleUnrestrictedName )? otherlv_30= ':' ( (lv_ownedBodyExpressions_31_0= ruleSpecificationCS ) )? otherlv_32= ';' )* otherlv_33= '}' ) | otherlv_34= ';' ) ) )
// InternalQVTrelation.g:4400:2: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+ otherlv_26= '}' )? ( (otherlv_27= '{' (otherlv_28= 'body' ( ruleUnrestrictedName )? otherlv_30= ':' ( (lv_ownedBodyExpressions_31_0= ruleSpecificationCS ) )? otherlv_32= ';' )* otherlv_33= '}' ) | otherlv_34= ';' ) )
{
// InternalQVTrelation.g:4400:2: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+ otherlv_26= '}' )? ( (otherlv_27= '{' (otherlv_28= 'body' ( ruleUnrestrictedName )? otherlv_30= ':' ( (lv_ownedBodyExpressions_31_0= ruleSpecificationCS ) )? otherlv_32= ';' )* otherlv_33= '}' ) | otherlv_34= ';' ) )
// InternalQVTrelation.g:4401:3: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+ otherlv_26= '}' )? ( (otherlv_27= '{' (otherlv_28= 'body' ( ruleUnrestrictedName )? otherlv_30= ':' ( (lv_ownedBodyExpressions_31_0= ruleSpecificationCS ) )? otherlv_32= ';' )* otherlv_33= '}' ) | otherlv_34= ';' )
{
// InternalQVTrelation.g:4401:3: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )?
int alt110=3;
int LA110_0 = input.LA(1);
if ( (LA110_0==56) ) {
alt110=1;
}
else if ( (LA110_0==57) ) {
alt110=2;
}
switch (alt110) {
case 1 :
// InternalQVTrelation.g:4402:4: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
{
// InternalQVTrelation.g:4402:4: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
// InternalQVTrelation.g:4403:5: ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )?
{
// InternalQVTrelation.g:4403:5: ( (lv_qualifiers_0_0= 'static' ) )
// InternalQVTrelation.g:4404:6: (lv_qualifiers_0_0= 'static' )
{
// InternalQVTrelation.g:4404:6: (lv_qualifiers_0_0= 'static' )
// InternalQVTrelation.g:4405:7: lv_qualifiers_0_0= 'static'
{
lv_qualifiers_0_0=(Token)match(input,56,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_0_0, grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_0_0, "static");
}
}
}
// InternalQVTrelation.g:4417:5: ( (lv_qualifiers_1_0= 'definition' ) )?
int alt108=2;
int LA108_0 = input.LA(1);
if ( (LA108_0==57) ) {
alt108=1;
}
switch (alt108) {
case 1 :
// InternalQVTrelation.g:4418:6: (lv_qualifiers_1_0= 'definition' )
{
// InternalQVTrelation.g:4418:6: (lv_qualifiers_1_0= 'definition' )
// InternalQVTrelation.g:4419:7: lv_qualifiers_1_0= 'definition'
{
lv_qualifiers_1_0=(Token)match(input,57,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_1_0, grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_1_0, "definition");
}
}
}
break;
}
}
}
break;
case 2 :
// InternalQVTrelation.g:4433:4: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
{
// InternalQVTrelation.g:4433:4: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
// InternalQVTrelation.g:4434:5: ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )?
{
// InternalQVTrelation.g:4434:5: ( (lv_qualifiers_2_0= 'definition' ) )
// InternalQVTrelation.g:4435:6: (lv_qualifiers_2_0= 'definition' )
{
// InternalQVTrelation.g:4435:6: (lv_qualifiers_2_0= 'definition' )
// InternalQVTrelation.g:4436:7: lv_qualifiers_2_0= 'definition'
{
lv_qualifiers_2_0=(Token)match(input,57,FollowSets000.FOLLOW_76); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_2_0, grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_2_0, "definition");
}
}
}
// InternalQVTrelation.g:4448:5: ( (lv_qualifiers_3_0= 'static' ) )?
int alt109=2;
int LA109_0 = input.LA(1);
if ( (LA109_0==56) ) {
alt109=1;
}
switch (alt109) {
case 1 :
// InternalQVTrelation.g:4449:6: (lv_qualifiers_3_0= 'static' )
{
// InternalQVTrelation.g:4449:6: (lv_qualifiers_3_0= 'static' )
// InternalQVTrelation.g:4450:7: lv_qualifiers_3_0= 'static'
{
lv_qualifiers_3_0=(Token)match(input,56,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_3_0, grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_3_0, "static");
}
}
}
break;
}
}
}
break;
}
otherlv_4=(Token)match(input,81,FollowSets000.FOLLOW_77); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getOperationCSAccess().getOperationKeyword_1());
}
// InternalQVTrelation.g:4468:3: ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )?
int alt111=2;
int LA111_0 = input.LA(1);
if ( (LA111_0==33) ) {
alt111=1;
}
switch (alt111) {
case 1 :
// InternalQVTrelation.g:4469:4: (lv_ownedSignature_5_0= ruleTemplateSignatureCS )
{
// InternalQVTrelation.g:4469:4: (lv_ownedSignature_5_0= ruleTemplateSignatureCS )
// InternalQVTrelation.g:4470:5: lv_ownedSignature_5_0= ruleTemplateSignatureCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_5);
lv_ownedSignature_5_0=ruleTemplateSignatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
set(
current,
"ownedSignature",
lv_ownedSignature_5_0,
"org.eclipse.ocl.xtext.base.Base.TemplateSignatureCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalQVTrelation.g:4487:3: ( (lv_name_6_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:4488:4: (lv_name_6_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:4488:4: (lv_name_6_0= ruleUnrestrictedName )
// InternalQVTrelation.g:4489:5: lv_name_6_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getNameUnrestrictedNameParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_29);
lv_name_6_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
set(
current,
"name",
lv_name_6_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_7=(Token)match(input,33,FollowSets000.FOLLOW_37); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getOperationCSAccess().getLeftParenthesisKeyword_4());
}
// InternalQVTrelation.g:4510:3: ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )?
int alt113=2;
int LA113_0 = input.LA(1);
if ( ((LA113_0>=RULE_SIMPLE_ID && LA113_0<=RULE_ESCAPED_ID)||LA113_0==17||(LA113_0>=25 && LA113_0<=32)||(LA113_0>=35 && LA113_0<=43)||(LA113_0>=45 && LA113_0<=47)||(LA113_0>=49 && LA113_0<=59)||LA113_0==61||LA113_0==63||LA113_0==65||LA113_0==68||LA113_0==70||LA113_0==72||(LA113_0>=74 && LA113_0<=77)||(LA113_0>=79 && LA113_0<=84)||LA113_0==86||LA113_0==88||(LA113_0>=90 && LA113_0<=91)) ) {
alt113=1;
}
switch (alt113) {
case 1 :
// InternalQVTrelation.g:4511:4: ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )*
{
// InternalQVTrelation.g:4511:4: ( (lv_ownedParameters_8_0= ruleParameterCS ) )
// InternalQVTrelation.g:4512:5: (lv_ownedParameters_8_0= ruleParameterCS )
{
// InternalQVTrelation.g:4512:5: (lv_ownedParameters_8_0= ruleParameterCS )
// InternalQVTrelation.g:4513:6: lv_ownedParameters_8_0= ruleParameterCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedParametersParameterCSParserRuleCall_5_0_0());
}
pushFollow(FollowSets000.FOLLOW_38);
lv_ownedParameters_8_0=ruleParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"ownedParameters",
lv_ownedParameters_8_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.ParameterCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:4530:4: (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )*
loop112:
do {
int alt112=2;
int LA112_0 = input.LA(1);
if ( (LA112_0==23) ) {
alt112=1;
}
switch (alt112) {
case 1 :
// InternalQVTrelation.g:4531:5: otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) )
{
otherlv_9=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getOperationCSAccess().getCommaKeyword_5_1_0());
}
// InternalQVTrelation.g:4535:5: ( (lv_ownedParameters_10_0= ruleParameterCS ) )
// InternalQVTrelation.g:4536:6: (lv_ownedParameters_10_0= ruleParameterCS )
{
// InternalQVTrelation.g:4536:6: (lv_ownedParameters_10_0= ruleParameterCS )
// InternalQVTrelation.g:4537:7: lv_ownedParameters_10_0= ruleParameterCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedParametersParameterCSParserRuleCall_5_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_38);
lv_ownedParameters_10_0=ruleParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"ownedParameters",
lv_ownedParameters_10_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.ParameterCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop112;
}
} while (true);
}
break;
}
otherlv_11=(Token)match(input,34,FollowSets000.FOLLOW_78); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getOperationCSAccess().getRightParenthesisKeyword_6());
}
// InternalQVTrelation.g:4560:3: (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )?
int alt114=2;
int LA114_0 = input.LA(1);
if ( (LA114_0==18) ) {
alt114=1;
}
switch (alt114) {
case 1 :
// InternalQVTrelation.g:4561:4: otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) )
{
otherlv_12=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getOperationCSAccess().getColonKeyword_7_0());
}
// InternalQVTrelation.g:4565:4: ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) )
// InternalQVTrelation.g:4566:5: (lv_ownedType_13_0= ruleTypedMultiplicityRefCS )
{
// InternalQVTrelation.g:4566:5: (lv_ownedType_13_0= ruleTypedMultiplicityRefCS )
// InternalQVTrelation.g:4567:6: lv_ownedType_13_0= ruleTypedMultiplicityRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_7_1_0());
}
pushFollow(FollowSets000.FOLLOW_79);
lv_ownedType_13_0=ruleTypedMultiplicityRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
set(
current,
"ownedType",
lv_ownedType_13_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.TypedMultiplicityRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:4585:3: (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )?
int alt116=2;
int LA116_0 = input.LA(1);
if ( (LA116_0==82) ) {
alt116=1;
}
switch (alt116) {
case 1 :
// InternalQVTrelation.g:4586:4: otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )*
{
otherlv_14=(Token)match(input,82,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getOperationCSAccess().getThrowsKeyword_8_0());
}
// InternalQVTrelation.g:4590:4: ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) )
// InternalQVTrelation.g:4591:5: (lv_ownedExceptions_15_0= ruleTypedRefCS )
{
// InternalQVTrelation.g:4591:5: (lv_ownedExceptions_15_0= ruleTypedRefCS )
// InternalQVTrelation.g:4592:6: lv_ownedExceptions_15_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedExceptionsTypedRefCSParserRuleCall_8_1_0());
}
pushFollow(FollowSets000.FOLLOW_80);
lv_ownedExceptions_15_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"ownedExceptions",
lv_ownedExceptions_15_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:4609:4: (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )*
loop115:
do {
int alt115=2;
int LA115_0 = input.LA(1);
if ( (LA115_0==23) ) {
alt115=1;
}
switch (alt115) {
case 1 :
// InternalQVTrelation.g:4610:5: otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) )
{
otherlv_16=(Token)match(input,23,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getOperationCSAccess().getCommaKeyword_8_2_0());
}
// InternalQVTrelation.g:4614:5: ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) )
// InternalQVTrelation.g:4615:6: (lv_ownedExceptions_17_0= ruleTypedRefCS )
{
// InternalQVTrelation.g:4615:6: (lv_ownedExceptions_17_0= ruleTypedRefCS )
// InternalQVTrelation.g:4616:7: lv_ownedExceptions_17_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedExceptionsTypedRefCSParserRuleCall_8_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_80);
lv_ownedExceptions_17_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"ownedExceptions",
lv_ownedExceptions_17_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop115;
}
} while (true);
}
break;
}
// InternalQVTrelation.g:4635:3: (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+ otherlv_26= '}' )?
int alt120=2;
int LA120_0 = input.LA(1);
if ( (LA120_0==20) ) {
int LA120_1 = input.LA(2);
if ( ((LA120_1>=59 && LA120_1<=60)||(LA120_1>=63 && LA120_1<=64)||(LA120_1>=68 && LA120_1<=69)) ) {
alt120=1;
}
}
switch (alt120) {
case 1 :
// InternalQVTrelation.g:4636:4: otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+ otherlv_26= '}'
{
otherlv_18=(Token)match(input,20,FollowSets000.FOLLOW_81); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0());
}
// InternalQVTrelation.g:4640:4: ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+
int cnt119=0;
loop119:
do {
int alt119=2;
int LA119_0 = input.LA(1);
if ( ((LA119_0>=59 && LA119_0<=60)||(LA119_0>=63 && LA119_0<=64)||(LA119_0>=68 && LA119_0<=69)) ) {
alt119=1;
}
switch (alt119) {
case 1 :
// InternalQVTrelation.g:4641:5: ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )?
{
// InternalQVTrelation.g:4641:5: ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) )
int alt117=6;
switch ( input.LA(1) ) {
case 59:
{
alt117=1;
}
break;
case 60:
{
alt117=2;
}
break;
case 63:
{
alt117=3;
}
break;
case 64:
{
alt117=4;
}
break;
case 68:
{
alt117=5;
}
break;
case 69:
{
alt117=6;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 117, 0, input);
throw nvae;
}
switch (alt117) {
case 1 :
// InternalQVTrelation.g:4642:6: ( (lv_qualifiers_19_0= 'derived' ) )
{
// InternalQVTrelation.g:4642:6: ( (lv_qualifiers_19_0= 'derived' ) )
// InternalQVTrelation.g:4643:7: (lv_qualifiers_19_0= 'derived' )
{
// InternalQVTrelation.g:4643:7: (lv_qualifiers_19_0= 'derived' )
// InternalQVTrelation.g:4644:8: lv_qualifiers_19_0= 'derived'
{
lv_qualifiers_19_0=(Token)match(input,59,FollowSets000.FOLLOW_82); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_19_0, grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_19_0, "derived");
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:4657:6: ( (lv_qualifiers_20_0= '!derived' ) )
{
// InternalQVTrelation.g:4657:6: ( (lv_qualifiers_20_0= '!derived' ) )
// InternalQVTrelation.g:4658:7: (lv_qualifiers_20_0= '!derived' )
{
// InternalQVTrelation.g:4658:7: (lv_qualifiers_20_0= '!derived' )
// InternalQVTrelation.g:4659:8: lv_qualifiers_20_0= '!derived'
{
lv_qualifiers_20_0=(Token)match(input,60,FollowSets000.FOLLOW_82); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_20_0, grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_20_0, "!derived");
}
}
}
}
break;
case 3 :
// InternalQVTrelation.g:4672:6: ( (lv_qualifiers_21_0= 'ordered' ) )
{
// InternalQVTrelation.g:4672:6: ( (lv_qualifiers_21_0= 'ordered' ) )
// InternalQVTrelation.g:4673:7: (lv_qualifiers_21_0= 'ordered' )
{
// InternalQVTrelation.g:4673:7: (lv_qualifiers_21_0= 'ordered' )
// InternalQVTrelation.g:4674:8: lv_qualifiers_21_0= 'ordered'
{
lv_qualifiers_21_0=(Token)match(input,63,FollowSets000.FOLLOW_82); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_21_0, grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_21_0, "ordered");
}
}
}
}
break;
case 4 :
// InternalQVTrelation.g:4687:6: ( (lv_qualifiers_22_0= '!ordered' ) )
{
// InternalQVTrelation.g:4687:6: ( (lv_qualifiers_22_0= '!ordered' ) )
// InternalQVTrelation.g:4688:7: (lv_qualifiers_22_0= '!ordered' )
{
// InternalQVTrelation.g:4688:7: (lv_qualifiers_22_0= '!ordered' )
// InternalQVTrelation.g:4689:8: lv_qualifiers_22_0= '!ordered'
{
lv_qualifiers_22_0=(Token)match(input,64,FollowSets000.FOLLOW_82); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_22_0, grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_3_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_22_0, "!ordered");
}
}
}
}
break;
case 5 :
// InternalQVTrelation.g:4702:6: ( (lv_qualifiers_23_0= 'unique' ) )
{
// InternalQVTrelation.g:4702:6: ( (lv_qualifiers_23_0= 'unique' ) )
// InternalQVTrelation.g:4703:7: (lv_qualifiers_23_0= 'unique' )
{
// InternalQVTrelation.g:4703:7: (lv_qualifiers_23_0= 'unique' )
// InternalQVTrelation.g:4704:8: lv_qualifiers_23_0= 'unique'
{
lv_qualifiers_23_0=(Token)match(input,68,FollowSets000.FOLLOW_82); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_23_0, grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_4_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_23_0, "unique");
}
}
}
}
break;
case 6 :
// InternalQVTrelation.g:4717:6: ( (lv_qualifiers_24_0= '!unique' ) )
{
// InternalQVTrelation.g:4717:6: ( (lv_qualifiers_24_0= '!unique' ) )
// InternalQVTrelation.g:4718:7: (lv_qualifiers_24_0= '!unique' )
{
// InternalQVTrelation.g:4718:7: (lv_qualifiers_24_0= '!unique' )
// InternalQVTrelation.g:4719:8: lv_qualifiers_24_0= '!unique'
{
lv_qualifiers_24_0=(Token)match(input,69,FollowSets000.FOLLOW_82); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_24_0, grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_5_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_24_0, "!unique");
}
}
}
}
break;
}
// InternalQVTrelation.g:4732:5: (otherlv_25= ',' )?
int alt118=2;
int LA118_0 = input.LA(1);
if ( (LA118_0==23) ) {
alt118=1;
}
switch (alt118) {
case 1 :
// InternalQVTrelation.g:4733:6: otherlv_25= ','
{
otherlv_25=(Token)match(input,23,FollowSets000.FOLLOW_83); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_25, grammarAccess.getOperationCSAccess().getCommaKeyword_9_1_1());
}
}
break;
}
}
break;
default :
if ( cnt119 >= 1 ) break loop119;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(119, input);
throw eee;
}
cnt119++;
} while (true);
otherlv_26=(Token)match(input,21,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_26, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2());
}
}
break;
}
// InternalQVTrelation.g:4744:3: ( (otherlv_27= '{' (otherlv_28= 'body' ( ruleUnrestrictedName )? otherlv_30= ':' ( (lv_ownedBodyExpressions_31_0= ruleSpecificationCS ) )? otherlv_32= ';' )* otherlv_33= '}' ) | otherlv_34= ';' )
int alt124=2;
int LA124_0 = input.LA(1);
if ( (LA124_0==20) ) {
alt124=1;
}
else if ( (LA124_0==22) ) {
alt124=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 124, 0, input);
throw nvae;
}
switch (alt124) {
case 1 :
// InternalQVTrelation.g:4745:4: (otherlv_27= '{' (otherlv_28= 'body' ( ruleUnrestrictedName )? otherlv_30= ':' ( (lv_ownedBodyExpressions_31_0= ruleSpecificationCS ) )? otherlv_32= ';' )* otherlv_33= '}' )
{
// InternalQVTrelation.g:4745:4: (otherlv_27= '{' (otherlv_28= 'body' ( ruleUnrestrictedName )? otherlv_30= ':' ( (lv_ownedBodyExpressions_31_0= ruleSpecificationCS ) )? otherlv_32= ';' )* otherlv_33= '}' )
// InternalQVTrelation.g:4746:5: otherlv_27= '{' (otherlv_28= 'body' ( ruleUnrestrictedName )? otherlv_30= ':' ( (lv_ownedBodyExpressions_31_0= ruleSpecificationCS ) )? otherlv_32= ';' )* otherlv_33= '}'
{
otherlv_27=(Token)match(input,20,FollowSets000.FOLLOW_84); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_27, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_10_0_0());
}
// InternalQVTrelation.g:4750:5: (otherlv_28= 'body' ( ruleUnrestrictedName )? otherlv_30= ':' ( (lv_ownedBodyExpressions_31_0= ruleSpecificationCS ) )? otherlv_32= ';' )*
loop123:
do {
int alt123=2;
int LA123_0 = input.LA(1);
if ( (LA123_0==83) ) {
alt123=1;
}
switch (alt123) {
case 1 :
// InternalQVTrelation.g:4751:6: otherlv_28= 'body' ( ruleUnrestrictedName )? otherlv_30= ':' ( (lv_ownedBodyExpressions_31_0= ruleSpecificationCS ) )? otherlv_32= ';'
{
otherlv_28=(Token)match(input,83,FollowSets000.FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_28, grammarAccess.getOperationCSAccess().getBodyKeyword_10_0_1_0());
}
// InternalQVTrelation.g:4755:6: ( ruleUnrestrictedName )?
int alt121=2;
int LA121_0 = input.LA(1);
if ( ((LA121_0>=RULE_SIMPLE_ID && LA121_0<=RULE_ESCAPED_ID)||LA121_0==17||(LA121_0>=25 && LA121_0<=32)||(LA121_0>=35 && LA121_0<=43)||(LA121_0>=45 && LA121_0<=47)||(LA121_0>=49 && LA121_0<=59)||LA121_0==61||LA121_0==63||LA121_0==65||LA121_0==68||LA121_0==70||LA121_0==72||(LA121_0>=74 && LA121_0<=77)||(LA121_0>=79 && LA121_0<=84)||LA121_0==86||LA121_0==88||(LA121_0>=90 && LA121_0<=91)) ) {
alt121=1;
}
switch (alt121) {
case 1 :
// InternalQVTrelation.g:4756:7: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getUnrestrictedNameParserRuleCall_10_0_1_1());
}
pushFollow(FollowSets000.FOLLOW_11);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
otherlv_30=(Token)match(input,18,FollowSets000.FOLLOW_65); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_30, grammarAccess.getOperationCSAccess().getColonKeyword_10_0_1_2());
}
// InternalQVTrelation.g:4771:6: ( (lv_ownedBodyExpressions_31_0= ruleSpecificationCS ) )?
int alt122=2;
int LA122_0 = input.LA(1);
if ( ((LA122_0>=RULE_SINGLE_QUOTED_STRING && LA122_0<=RULE_ESCAPED_ID)||LA122_0==17||(LA122_0>=25 && LA122_0<=33)||(LA122_0>=35 && LA122_0<=43)||(LA122_0>=45 && LA122_0<=59)||LA122_0==61||LA122_0==63||LA122_0==65||LA122_0==68||LA122_0==70||LA122_0==72||(LA122_0>=74 && LA122_0<=77)||(LA122_0>=79 && LA122_0<=84)||LA122_0==86||LA122_0==88||(LA122_0>=90 && LA122_0<=94)||(LA122_0>=114 && LA122_0<=128)||LA122_0==130||(LA122_0>=132 && LA122_0<=135)||LA122_0==142||(LA122_0>=147 && LA122_0<=148)) ) {
alt122=1;
}
switch (alt122) {
case 1 :
// InternalQVTrelation.g:4772:7: (lv_ownedBodyExpressions_31_0= ruleSpecificationCS )
{
// InternalQVTrelation.g:4772:7: (lv_ownedBodyExpressions_31_0= ruleSpecificationCS )
// InternalQVTrelation.g:4773:8: lv_ownedBodyExpressions_31_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedBodyExpressionsSpecificationCSParserRuleCall_10_0_1_3_0());
}
pushFollow(FollowSets000.FOLLOW_20);
lv_ownedBodyExpressions_31_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationCSRule());
}
add(
current,
"ownedBodyExpressions",
lv_ownedBodyExpressions_31_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_32=(Token)match(input,22,FollowSets000.FOLLOW_84); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_32, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_0_1_4());
}
}
break;
default :
break loop123;
}
} while (true);
otherlv_33=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_33, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_10_0_2());
}
}
}
break;
case 2 :
// InternalQVTrelation.g:4801:4: otherlv_34= ';'
{
otherlv_34=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_34, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOperationCS"
// $ANTLR start "entryRuleParameterCS"
// InternalQVTrelation.g:4810:1: entryRuleParameterCS returns [EObject current=null] : iv_ruleParameterCS= ruleParameterCS EOF ;
public final EObject entryRuleParameterCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleParameterCS = null;
try {
// InternalQVTrelation.g:4810:52: (iv_ruleParameterCS= ruleParameterCS EOF )
// InternalQVTrelation.g:4811:2: iv_ruleParameterCS= ruleParameterCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleParameterCS=ruleParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleParameterCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleParameterCS"
// $ANTLR start "ruleParameterCS"
// InternalQVTrelation.g:4817:1: ruleParameterCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' otherlv_11= '}' )? ) ;
public final EObject ruleParameterCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token lv_qualifiers_4_0=null;
Token lv_qualifiers_5_0=null;
Token lv_qualifiers_6_0=null;
Token lv_qualifiers_7_0=null;
Token otherlv_8=null;
Token otherlv_9=null;
Token otherlv_10=null;
Token otherlv_11=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedType_2_0 = null;
enterRule();
try {
// InternalQVTrelation.g:4823:2: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' otherlv_11= '}' )? ) )
// InternalQVTrelation.g:4824:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' otherlv_11= '}' )? )
{
// InternalQVTrelation.g:4824:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' otherlv_11= '}' )? )
// InternalQVTrelation.g:4825:3: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' otherlv_11= '}' )?
{
// InternalQVTrelation.g:4825:3: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:4826:4: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:4826:4: (lv_name_0_0= ruleUnrestrictedName )
// InternalQVTrelation.g:4827:5: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_85);
lv_name_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:4844:3: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )?
int alt125=2;
int LA125_0 = input.LA(1);
if ( (LA125_0==18) ) {
alt125=1;
}
switch (alt125) {
case 1 :
// InternalQVTrelation.g:4845:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) )
{
otherlv_1=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getParameterCSAccess().getColonKeyword_1_0());
}
// InternalQVTrelation.g:4849:4: ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) )
// InternalQVTrelation.g:4850:5: (lv_ownedType_2_0= ruleTypedMultiplicityRefCS )
{
// InternalQVTrelation.g:4850:5: (lv_ownedType_2_0= ruleTypedMultiplicityRefCS )
// InternalQVTrelation.g:4851:6: lv_ownedType_2_0= ruleTypedMultiplicityRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_13);
lv_ownedType_2_0=ruleTypedMultiplicityRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterCSRule());
}
set(
current,
"ownedType",
lv_ownedType_2_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.TypedMultiplicityRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:4869:3: (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )?
int alt129=2;
int LA129_0 = input.LA(1);
if ( (LA129_0==20) ) {
int LA129_1 = input.LA(2);
if ( ((LA129_1>=63 && LA129_1<=64)||(LA129_1>=68 && LA129_1<=69)) ) {
alt129=1;
}
}
switch (alt129) {
case 1 :
// InternalQVTrelation.g:4870:4: otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}'
{
otherlv_3=(Token)match(input,20,FollowSets000.FOLLOW_86); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0());
}
// InternalQVTrelation.g:4874:4: ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+
int cnt128=0;
loop128:
do {
int alt128=2;
int LA128_0 = input.LA(1);
if ( ((LA128_0>=63 && LA128_0<=64)||(LA128_0>=68 && LA128_0<=69)) ) {
alt128=1;
}
switch (alt128) {
case 1 :
// InternalQVTrelation.g:4875:5: ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )?
{
// InternalQVTrelation.g:4875:5: ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) )
int alt126=4;
switch ( input.LA(1) ) {
case 63:
{
alt126=1;
}
break;
case 64:
{
alt126=2;
}
break;
case 68:
{
alt126=3;
}
break;
case 69:
{
alt126=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 126, 0, input);
throw nvae;
}
switch (alt126) {
case 1 :
// InternalQVTrelation.g:4876:6: ( (lv_qualifiers_4_0= 'ordered' ) )
{
// InternalQVTrelation.g:4876:6: ( (lv_qualifiers_4_0= 'ordered' ) )
// InternalQVTrelation.g:4877:7: (lv_qualifiers_4_0= 'ordered' )
{
// InternalQVTrelation.g:4877:7: (lv_qualifiers_4_0= 'ordered' )
// InternalQVTrelation.g:4878:8: lv_qualifiers_4_0= 'ordered'
{
lv_qualifiers_4_0=(Token)match(input,63,FollowSets000.FOLLOW_87); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_4_0, grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getParameterCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_4_0, "ordered");
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:4891:6: ( (lv_qualifiers_5_0= '!ordered' ) )
{
// InternalQVTrelation.g:4891:6: ( (lv_qualifiers_5_0= '!ordered' ) )
// InternalQVTrelation.g:4892:7: (lv_qualifiers_5_0= '!ordered' )
{
// InternalQVTrelation.g:4892:7: (lv_qualifiers_5_0= '!ordered' )
// InternalQVTrelation.g:4893:8: lv_qualifiers_5_0= '!ordered'
{
lv_qualifiers_5_0=(Token)match(input,64,FollowSets000.FOLLOW_87); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_5_0, grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getParameterCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_5_0, "!ordered");
}
}
}
}
break;
case 3 :
// InternalQVTrelation.g:4906:6: ( (lv_qualifiers_6_0= 'unique' ) )
{
// InternalQVTrelation.g:4906:6: ( (lv_qualifiers_6_0= 'unique' ) )
// InternalQVTrelation.g:4907:7: (lv_qualifiers_6_0= 'unique' )
{
// InternalQVTrelation.g:4907:7: (lv_qualifiers_6_0= 'unique' )
// InternalQVTrelation.g:4908:8: lv_qualifiers_6_0= 'unique'
{
lv_qualifiers_6_0=(Token)match(input,68,FollowSets000.FOLLOW_87); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_6_0, grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getParameterCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_6_0, "unique");
}
}
}
}
break;
case 4 :
// InternalQVTrelation.g:4921:6: ( (lv_qualifiers_7_0= '!unique' ) )
{
// InternalQVTrelation.g:4921:6: ( (lv_qualifiers_7_0= '!unique' ) )
// InternalQVTrelation.g:4922:7: (lv_qualifiers_7_0= '!unique' )
{
// InternalQVTrelation.g:4922:7: (lv_qualifiers_7_0= '!unique' )
// InternalQVTrelation.g:4923:8: lv_qualifiers_7_0= '!unique'
{
lv_qualifiers_7_0=(Token)match(input,69,FollowSets000.FOLLOW_87); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_7_0, grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_3_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getParameterCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_7_0, "!unique");
}
}
}
}
break;
}
// InternalQVTrelation.g:4936:5: (otherlv_8= ',' )?
int alt127=2;
int LA127_0 = input.LA(1);
if ( (LA127_0==23) ) {
alt127=1;
}
switch (alt127) {
case 1 :
// InternalQVTrelation.g:4937:6: otherlv_8= ','
{
otherlv_8=(Token)match(input,23,FollowSets000.FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_1());
}
}
break;
}
}
break;
default :
if ( cnt128 >= 1 ) break loop128;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(128, input);
throw eee;
}
cnt128++;
} while (true);
otherlv_9=(Token)match(input,21,FollowSets000.FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_2());
}
}
break;
}
// InternalQVTrelation.g:4948:3: (otherlv_10= '{' otherlv_11= '}' )?
int alt130=2;
int LA130_0 = input.LA(1);
if ( (LA130_0==20) ) {
alt130=1;
}
switch (alt130) {
case 1 :
// InternalQVTrelation.g:4949:4: otherlv_10= '{' otherlv_11= '}'
{
otherlv_10=(Token)match(input,20,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_3_0());
}
otherlv_11=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_3_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleParameterCS"
// $ANTLR start "entryRuleReferenceCS"
// InternalQVTrelation.g:4962:1: entryRuleReferenceCS returns [EObject current=null] : iv_ruleReferenceCS= ruleReferenceCS EOF ;
public final EObject entryRuleReferenceCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleReferenceCS = null;
try {
// InternalQVTrelation.g:4962:52: (iv_ruleReferenceCS= ruleReferenceCS EOF )
// InternalQVTrelation.g:4963:2: iv_ruleReferenceCS= ruleReferenceCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleReferenceCS=ruleReferenceCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleReferenceCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleReferenceCS"
// $ANTLR start "ruleReferenceCS"
// InternalQVTrelation.g:4969:1: ruleReferenceCS returns [EObject current=null] : ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( (otherlv_34= 'initial' ( ruleUnrestrictedName )? otherlv_36= ':' ( (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS ) )? otherlv_38= ';' ) | (otherlv_39= 'derivation' ( ruleUnrestrictedName )? otherlv_41= ':' ( (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS ) )? otherlv_43= ';' ) )* otherlv_44= '}' ) | otherlv_45= ';' ) ) ;
public final EObject ruleReferenceCS() throws RecognitionException {
EObject current = null;
Token lv_qualifiers_0_0=null;
Token lv_qualifiers_1_0=null;
Token lv_qualifiers_2_0=null;
Token lv_qualifiers_3_0=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token lv_default_11_0=null;
Token otherlv_12=null;
Token lv_qualifiers_13_0=null;
Token lv_qualifiers_14_0=null;
Token lv_qualifiers_15_0=null;
Token lv_qualifiers_16_0=null;
Token lv_qualifiers_17_0=null;
Token lv_qualifiers_18_0=null;
Token lv_qualifiers_19_0=null;
Token lv_qualifiers_20_0=null;
Token lv_qualifiers_21_0=null;
Token lv_qualifiers_22_0=null;
Token lv_qualifiers_23_0=null;
Token lv_qualifiers_24_0=null;
Token lv_qualifiers_25_0=null;
Token lv_qualifiers_26_0=null;
Token lv_qualifiers_27_0=null;
Token lv_qualifiers_28_0=null;
Token lv_qualifiers_29_0=null;
Token lv_qualifiers_30_0=null;
Token otherlv_31=null;
Token otherlv_32=null;
Token otherlv_33=null;
Token otherlv_34=null;
Token otherlv_36=null;
Token otherlv_38=null;
Token otherlv_39=null;
Token otherlv_41=null;
Token otherlv_43=null;
Token otherlv_44=null;
Token otherlv_45=null;
AntlrDatatypeRuleToken lv_name_5_0 = null;
EObject lv_ownedType_9_0 = null;
EObject lv_ownedDefaultExpressions_37_0 = null;
EObject lv_ownedDefaultExpressions_42_0 = null;
enterRule();
try {
// InternalQVTrelation.g:4975:2: ( ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( (otherlv_34= 'initial' ( ruleUnrestrictedName )? otherlv_36= ':' ( (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS ) )? otherlv_38= ';' ) | (otherlv_39= 'derivation' ( ruleUnrestrictedName )? otherlv_41= ':' ( (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS ) )? otherlv_43= ';' ) )* otherlv_44= '}' ) | otherlv_45= ';' ) ) )
// InternalQVTrelation.g:4976:2: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( (otherlv_34= 'initial' ( ruleUnrestrictedName )? otherlv_36= ':' ( (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS ) )? otherlv_38= ';' ) | (otherlv_39= 'derivation' ( ruleUnrestrictedName )? otherlv_41= ':' ( (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS ) )? otherlv_43= ';' ) )* otherlv_44= '}' ) | otherlv_45= ';' ) )
{
// InternalQVTrelation.g:4976:2: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( (otherlv_34= 'initial' ( ruleUnrestrictedName )? otherlv_36= ':' ( (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS ) )? otherlv_38= ';' ) | (otherlv_39= 'derivation' ( ruleUnrestrictedName )? otherlv_41= ':' ( (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS ) )? otherlv_43= ';' ) )* otherlv_44= '}' ) | otherlv_45= ';' ) )
// InternalQVTrelation.g:4977:3: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( (otherlv_34= 'initial' ( ruleUnrestrictedName )? otherlv_36= ':' ( (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS ) )? otherlv_38= ';' ) | (otherlv_39= 'derivation' ( ruleUnrestrictedName )? otherlv_41= ':' ( (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS ) )? otherlv_43= ';' ) )* otherlv_44= '}' ) | otherlv_45= ';' )
{
// InternalQVTrelation.g:4977:3: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )?
int alt133=3;
int LA133_0 = input.LA(1);
if ( (LA133_0==56) ) {
alt133=1;
}
else if ( (LA133_0==57) ) {
alt133=2;
}
switch (alt133) {
case 1 :
// InternalQVTrelation.g:4978:4: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
{
// InternalQVTrelation.g:4978:4: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
// InternalQVTrelation.g:4979:5: ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )?
{
// InternalQVTrelation.g:4979:5: ( (lv_qualifiers_0_0= 'static' ) )
// InternalQVTrelation.g:4980:6: (lv_qualifiers_0_0= 'static' )
{
// InternalQVTrelation.g:4980:6: (lv_qualifiers_0_0= 'static' )
// InternalQVTrelation.g:4981:7: lv_qualifiers_0_0= 'static'
{
lv_qualifiers_0_0=(Token)match(input,56,FollowSets000.FOLLOW_89); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_0_0, grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_0_0, "static");
}
}
}
// InternalQVTrelation.g:4993:5: ( (lv_qualifiers_1_0= 'definition' ) )?
int alt131=2;
int LA131_0 = input.LA(1);
if ( (LA131_0==57) ) {
alt131=1;
}
switch (alt131) {
case 1 :
// InternalQVTrelation.g:4994:6: (lv_qualifiers_1_0= 'definition' )
{
// InternalQVTrelation.g:4994:6: (lv_qualifiers_1_0= 'definition' )
// InternalQVTrelation.g:4995:7: lv_qualifiers_1_0= 'definition'
{
lv_qualifiers_1_0=(Token)match(input,57,FollowSets000.FOLLOW_90); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_1_0, grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_1_0, "definition");
}
}
}
break;
}
}
}
break;
case 2 :
// InternalQVTrelation.g:5009:4: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
{
// InternalQVTrelation.g:5009:4: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
// InternalQVTrelation.g:5010:5: ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )?
{
// InternalQVTrelation.g:5010:5: ( (lv_qualifiers_2_0= 'definition' ) )
// InternalQVTrelation.g:5011:6: (lv_qualifiers_2_0= 'definition' )
{
// InternalQVTrelation.g:5011:6: (lv_qualifiers_2_0= 'definition' )
// InternalQVTrelation.g:5012:7: lv_qualifiers_2_0= 'definition'
{
lv_qualifiers_2_0=(Token)match(input,57,FollowSets000.FOLLOW_91); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_2_0, grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_2_0, "definition");
}
}
}
// InternalQVTrelation.g:5024:5: ( (lv_qualifiers_3_0= 'static' ) )?
int alt132=2;
int LA132_0 = input.LA(1);
if ( (LA132_0==56) ) {
alt132=1;
}
switch (alt132) {
case 1 :
// InternalQVTrelation.g:5025:6: (lv_qualifiers_3_0= 'static' )
{
// InternalQVTrelation.g:5025:6: (lv_qualifiers_3_0= 'static' )
// InternalQVTrelation.g:5026:7: lv_qualifiers_3_0= 'static'
{
lv_qualifiers_3_0=(Token)match(input,56,FollowSets000.FOLLOW_90); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_3_0, grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_3_0, "static");
}
}
}
break;
}
}
}
break;
}
otherlv_4=(Token)match(input,84,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getReferenceCSAccess().getPropertyKeyword_1());
}
// InternalQVTrelation.g:5044:3: ( (lv_name_5_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:5045:4: (lv_name_5_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:5045:4: (lv_name_5_0= ruleUnrestrictedName )
// InternalQVTrelation.g:5046:5: lv_name_5_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_92);
lv_name_5_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReferenceCSRule());
}
set(
current,
"name",
lv_name_5_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:5063:3: (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )?
int alt134=2;
int LA134_0 = input.LA(1);
if ( (LA134_0==85) ) {
alt134=1;
}
switch (alt134) {
case 1 :
// InternalQVTrelation.g:5064:4: otherlv_6= '#' ( ( ruleUnrestrictedName ) )
{
otherlv_6=(Token)match(input,85,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getReferenceCSAccess().getNumberSignKeyword_3_0());
}
// InternalQVTrelation.g:5068:4: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:5069:5: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:5069:5: ( ruleUnrestrictedName )
// InternalQVTrelation.g:5070:6: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getReferredOppositePropertyCrossReference_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_6);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:5088:3: (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )?
int alt135=2;
int LA135_0 = input.LA(1);
if ( (LA135_0==18) ) {
alt135=1;
}
switch (alt135) {
case 1 :
// InternalQVTrelation.g:5089:4: otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) )
{
otherlv_8=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getReferenceCSAccess().getColonKeyword_4_0());
}
// InternalQVTrelation.g:5093:4: ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) )
// InternalQVTrelation.g:5094:5: (lv_ownedType_9_0= ruleTypedMultiplicityRefCS )
{
// InternalQVTrelation.g:5094:5: (lv_ownedType_9_0= ruleTypedMultiplicityRefCS )
// InternalQVTrelation.g:5095:6: lv_ownedType_9_0= ruleTypedMultiplicityRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_4_1_0());
}
pushFollow(FollowSets000.FOLLOW_7);
lv_ownedType_9_0=ruleTypedMultiplicityRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReferenceCSRule());
}
set(
current,
"ownedType",
lv_ownedType_9_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.TypedMultiplicityRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:5113:3: (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )?
int alt136=2;
int LA136_0 = input.LA(1);
if ( (LA136_0==19) ) {
alt136=1;
}
switch (alt136) {
case 1 :
// InternalQVTrelation.g:5114:4: otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) )
{
otherlv_10=(Token)match(input,19,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getReferenceCSAccess().getEqualsSignKeyword_5_0());
}
// InternalQVTrelation.g:5118:4: ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) )
// InternalQVTrelation.g:5119:5: (lv_default_11_0= RULE_SINGLE_QUOTED_STRING )
{
// InternalQVTrelation.g:5119:5: (lv_default_11_0= RULE_SINGLE_QUOTED_STRING )
// InternalQVTrelation.g:5120:6: lv_default_11_0= RULE_SINGLE_QUOTED_STRING
{
lv_default_11_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_default_11_0, grammarAccess.getReferenceCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
setWithLastConsumed(
current,
"default",
lv_default_11_0,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
}
}
break;
}
// InternalQVTrelation.g:5137:3: (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )?
int alt140=2;
int LA140_0 = input.LA(1);
if ( (LA140_0==20) ) {
int LA140_1 = input.LA(2);
if ( (LA140_1==38||(LA140_1>=59 && LA140_1<=60)||(LA140_1>=63 && LA140_1<=73)||(LA140_1>=86 && LA140_1<=89)) ) {
alt140=1;
}
}
switch (alt140) {
case 1 :
// InternalQVTrelation.g:5138:4: otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}'
{
otherlv_12=(Token)match(input,20,FollowSets000.FOLLOW_93); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0());
}
// InternalQVTrelation.g:5142:4: ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+
int cnt139=0;
loop139:
do {
int alt139=2;
int LA139_0 = input.LA(1);
if ( (LA139_0==38||(LA139_0>=59 && LA139_0<=60)||(LA139_0>=63 && LA139_0<=73)||(LA139_0>=86 && LA139_0<=89)) ) {
alt139=1;
}
switch (alt139) {
case 1 :
// InternalQVTrelation.g:5143:5: ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )?
{
// InternalQVTrelation.g:5143:5: ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) )
int alt137=18;
switch ( input.LA(1) ) {
case 86:
{
alt137=1;
}
break;
case 87:
{
alt137=2;
}
break;
case 59:
{
alt137=3;
}
break;
case 60:
{
alt137=4;
}
break;
case 63:
{
alt137=5;
}
break;
case 64:
{
alt137=6;
}
break;
case 65:
{
alt137=7;
}
break;
case 66:
{
alt137=8;
}
break;
case 88:
{
alt137=9;
}
break;
case 89:
{
alt137=10;
}
break;
case 38:
{
alt137=11;
}
break;
case 67:
{
alt137=12;
}
break;
case 68:
{
alt137=13;
}
break;
case 69:
{
alt137=14;
}
break;
case 70:
{
alt137=15;
}
break;
case 71:
{
alt137=16;
}
break;
case 72:
{
alt137=17;
}
break;
case 73:
{
alt137=18;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 137, 0, input);
throw nvae;
}
switch (alt137) {
case 1 :
// InternalQVTrelation.g:5144:6: ( (lv_qualifiers_13_0= 'composes' ) )
{
// InternalQVTrelation.g:5144:6: ( (lv_qualifiers_13_0= 'composes' ) )
// InternalQVTrelation.g:5145:7: (lv_qualifiers_13_0= 'composes' )
{
// InternalQVTrelation.g:5145:7: (lv_qualifiers_13_0= 'composes' )
// InternalQVTrelation.g:5146:8: lv_qualifiers_13_0= 'composes'
{
lv_qualifiers_13_0=(Token)match(input,86,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_13_0, grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_13_0, "composes");
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:5159:6: ( (lv_qualifiers_14_0= '!composes' ) )
{
// InternalQVTrelation.g:5159:6: ( (lv_qualifiers_14_0= '!composes' ) )
// InternalQVTrelation.g:5160:7: (lv_qualifiers_14_0= '!composes' )
{
// InternalQVTrelation.g:5160:7: (lv_qualifiers_14_0= '!composes' )
// InternalQVTrelation.g:5161:8: lv_qualifiers_14_0= '!composes'
{
lv_qualifiers_14_0=(Token)match(input,87,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_14_0, grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_14_0, "!composes");
}
}
}
}
break;
case 3 :
// InternalQVTrelation.g:5174:6: ( (lv_qualifiers_15_0= 'derived' ) )
{
// InternalQVTrelation.g:5174:6: ( (lv_qualifiers_15_0= 'derived' ) )
// InternalQVTrelation.g:5175:7: (lv_qualifiers_15_0= 'derived' )
{
// InternalQVTrelation.g:5175:7: (lv_qualifiers_15_0= 'derived' )
// InternalQVTrelation.g:5176:8: lv_qualifiers_15_0= 'derived'
{
lv_qualifiers_15_0=(Token)match(input,59,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_15_0, grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_15_0, "derived");
}
}
}
}
break;
case 4 :
// InternalQVTrelation.g:5189:6: ( (lv_qualifiers_16_0= '!derived' ) )
{
// InternalQVTrelation.g:5189:6: ( (lv_qualifiers_16_0= '!derived' ) )
// InternalQVTrelation.g:5190:7: (lv_qualifiers_16_0= '!derived' )
{
// InternalQVTrelation.g:5190:7: (lv_qualifiers_16_0= '!derived' )
// InternalQVTrelation.g:5191:8: lv_qualifiers_16_0= '!derived'
{
lv_qualifiers_16_0=(Token)match(input,60,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_16_0, grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_3_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_16_0, "!derived");
}
}
}
}
break;
case 5 :
// InternalQVTrelation.g:5204:6: ( (lv_qualifiers_17_0= 'ordered' ) )
{
// InternalQVTrelation.g:5204:6: ( (lv_qualifiers_17_0= 'ordered' ) )
// InternalQVTrelation.g:5205:7: (lv_qualifiers_17_0= 'ordered' )
{
// InternalQVTrelation.g:5205:7: (lv_qualifiers_17_0= 'ordered' )
// InternalQVTrelation.g:5206:8: lv_qualifiers_17_0= 'ordered'
{
lv_qualifiers_17_0=(Token)match(input,63,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_17_0, grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_4_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_17_0, "ordered");
}
}
}
}
break;
case 6 :
// InternalQVTrelation.g:5219:6: ( (lv_qualifiers_18_0= '!ordered' ) )
{
// InternalQVTrelation.g:5219:6: ( (lv_qualifiers_18_0= '!ordered' ) )
// InternalQVTrelation.g:5220:7: (lv_qualifiers_18_0= '!ordered' )
{
// InternalQVTrelation.g:5220:7: (lv_qualifiers_18_0= '!ordered' )
// InternalQVTrelation.g:5221:8: lv_qualifiers_18_0= '!ordered'
{
lv_qualifiers_18_0=(Token)match(input,64,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_18_0, grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_5_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_18_0, "!ordered");
}
}
}
}
break;
case 7 :
// InternalQVTrelation.g:5234:6: ( (lv_qualifiers_19_0= 'readonly' ) )
{
// InternalQVTrelation.g:5234:6: ( (lv_qualifiers_19_0= 'readonly' ) )
// InternalQVTrelation.g:5235:7: (lv_qualifiers_19_0= 'readonly' )
{
// InternalQVTrelation.g:5235:7: (lv_qualifiers_19_0= 'readonly' )
// InternalQVTrelation.g:5236:8: lv_qualifiers_19_0= 'readonly'
{
lv_qualifiers_19_0=(Token)match(input,65,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_19_0, grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_6_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_19_0, "readonly");
}
}
}
}
break;
case 8 :
// InternalQVTrelation.g:5249:6: ( (lv_qualifiers_20_0= '!readonly' ) )
{
// InternalQVTrelation.g:5249:6: ( (lv_qualifiers_20_0= '!readonly' ) )
// InternalQVTrelation.g:5250:7: (lv_qualifiers_20_0= '!readonly' )
{
// InternalQVTrelation.g:5250:7: (lv_qualifiers_20_0= '!readonly' )
// InternalQVTrelation.g:5251:8: lv_qualifiers_20_0= '!readonly'
{
lv_qualifiers_20_0=(Token)match(input,66,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_20_0, grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_7_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_20_0, "!readonly");
}
}
}
}
break;
case 9 :
// InternalQVTrelation.g:5264:6: ( (lv_qualifiers_21_0= 'resolve' ) )
{
// InternalQVTrelation.g:5264:6: ( (lv_qualifiers_21_0= 'resolve' ) )
// InternalQVTrelation.g:5265:7: (lv_qualifiers_21_0= 'resolve' )
{
// InternalQVTrelation.g:5265:7: (lv_qualifiers_21_0= 'resolve' )
// InternalQVTrelation.g:5266:8: lv_qualifiers_21_0= 'resolve'
{
lv_qualifiers_21_0=(Token)match(input,88,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_21_0, grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_8_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_21_0, "resolve");
}
}
}
}
break;
case 10 :
// InternalQVTrelation.g:5279:6: ( (lv_qualifiers_22_0= '!resolve' ) )
{
// InternalQVTrelation.g:5279:6: ( (lv_qualifiers_22_0= '!resolve' ) )
// InternalQVTrelation.g:5280:7: (lv_qualifiers_22_0= '!resolve' )
{
// InternalQVTrelation.g:5280:7: (lv_qualifiers_22_0= '!resolve' )
// InternalQVTrelation.g:5281:8: lv_qualifiers_22_0= '!resolve'
{
lv_qualifiers_22_0=(Token)match(input,89,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_22_0, grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_9_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_22_0, "!resolve");
}
}
}
}
break;
case 11 :
// InternalQVTrelation.g:5294:6: ( (lv_qualifiers_23_0= 'transient' ) )
{
// InternalQVTrelation.g:5294:6: ( (lv_qualifiers_23_0= 'transient' ) )
// InternalQVTrelation.g:5295:7: (lv_qualifiers_23_0= 'transient' )
{
// InternalQVTrelation.g:5295:7: (lv_qualifiers_23_0= 'transient' )
// InternalQVTrelation.g:5296:8: lv_qualifiers_23_0= 'transient'
{
lv_qualifiers_23_0=(Token)match(input,38,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_23_0, grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_10_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_23_0, "transient");
}
}
}
}
break;
case 12 :
// InternalQVTrelation.g:5309:6: ( (lv_qualifiers_24_0= '!transient' ) )
{
// InternalQVTrelation.g:5309:6: ( (lv_qualifiers_24_0= '!transient' ) )
// InternalQVTrelation.g:5310:7: (lv_qualifiers_24_0= '!transient' )
{
// InternalQVTrelation.g:5310:7: (lv_qualifiers_24_0= '!transient' )
// InternalQVTrelation.g:5311:8: lv_qualifiers_24_0= '!transient'
{
lv_qualifiers_24_0=(Token)match(input,67,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_24_0, grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_11_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_24_0, "!transient");
}
}
}
}
break;
case 13 :
// InternalQVTrelation.g:5324:6: ( (lv_qualifiers_25_0= 'unique' ) )
{
// InternalQVTrelation.g:5324:6: ( (lv_qualifiers_25_0= 'unique' ) )
// InternalQVTrelation.g:5325:7: (lv_qualifiers_25_0= 'unique' )
{
// InternalQVTrelation.g:5325:7: (lv_qualifiers_25_0= 'unique' )
// InternalQVTrelation.g:5326:8: lv_qualifiers_25_0= 'unique'
{
lv_qualifiers_25_0=(Token)match(input,68,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_25_0, grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_12_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_25_0, "unique");
}
}
}
}
break;
case 14 :
// InternalQVTrelation.g:5339:6: ( (lv_qualifiers_26_0= '!unique' ) )
{
// InternalQVTrelation.g:5339:6: ( (lv_qualifiers_26_0= '!unique' ) )
// InternalQVTrelation.g:5340:7: (lv_qualifiers_26_0= '!unique' )
{
// InternalQVTrelation.g:5340:7: (lv_qualifiers_26_0= '!unique' )
// InternalQVTrelation.g:5341:8: lv_qualifiers_26_0= '!unique'
{
lv_qualifiers_26_0=(Token)match(input,69,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_26_0, grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_13_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_26_0, "!unique");
}
}
}
}
break;
case 15 :
// InternalQVTrelation.g:5354:6: ( (lv_qualifiers_27_0= 'unsettable' ) )
{
// InternalQVTrelation.g:5354:6: ( (lv_qualifiers_27_0= 'unsettable' ) )
// InternalQVTrelation.g:5355:7: (lv_qualifiers_27_0= 'unsettable' )
{
// InternalQVTrelation.g:5355:7: (lv_qualifiers_27_0= 'unsettable' )
// InternalQVTrelation.g:5356:8: lv_qualifiers_27_0= 'unsettable'
{
lv_qualifiers_27_0=(Token)match(input,70,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_27_0, grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_14_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_27_0, "unsettable");
}
}
}
}
break;
case 16 :
// InternalQVTrelation.g:5369:6: ( (lv_qualifiers_28_0= '!unsettable' ) )
{
// InternalQVTrelation.g:5369:6: ( (lv_qualifiers_28_0= '!unsettable' ) )
// InternalQVTrelation.g:5370:7: (lv_qualifiers_28_0= '!unsettable' )
{
// InternalQVTrelation.g:5370:7: (lv_qualifiers_28_0= '!unsettable' )
// InternalQVTrelation.g:5371:8: lv_qualifiers_28_0= '!unsettable'
{
lv_qualifiers_28_0=(Token)match(input,71,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_28_0, grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_15_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_28_0, "!unsettable");
}
}
}
}
break;
case 17 :
// InternalQVTrelation.g:5384:6: ( (lv_qualifiers_29_0= 'volatile' ) )
{
// InternalQVTrelation.g:5384:6: ( (lv_qualifiers_29_0= 'volatile' ) )
// InternalQVTrelation.g:5385:7: (lv_qualifiers_29_0= 'volatile' )
{
// InternalQVTrelation.g:5385:7: (lv_qualifiers_29_0= 'volatile' )
// InternalQVTrelation.g:5386:8: lv_qualifiers_29_0= 'volatile'
{
lv_qualifiers_29_0=(Token)match(input,72,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_29_0, grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_16_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_29_0, "volatile");
}
}
}
}
break;
case 18 :
// InternalQVTrelation.g:5399:6: ( (lv_qualifiers_30_0= '!volatile' ) )
{
// InternalQVTrelation.g:5399:6: ( (lv_qualifiers_30_0= '!volatile' ) )
// InternalQVTrelation.g:5400:7: (lv_qualifiers_30_0= '!volatile' )
{
// InternalQVTrelation.g:5400:7: (lv_qualifiers_30_0= '!volatile' )
// InternalQVTrelation.g:5401:8: lv_qualifiers_30_0= '!volatile'
{
lv_qualifiers_30_0=(Token)match(input,73,FollowSets000.FOLLOW_94); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_qualifiers_30_0, grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_17_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReferenceCSRule());
}
addWithLastConsumed(current, "qualifiers", lv_qualifiers_30_0, "!volatile");
}
}
}
}
break;
}
// InternalQVTrelation.g:5414:5: (otherlv_31= ',' )?
int alt138=2;
int LA138_0 = input.LA(1);
if ( (LA138_0==23) ) {
alt138=1;
}
switch (alt138) {
case 1 :
// InternalQVTrelation.g:5415:6: otherlv_31= ','
{
otherlv_31=(Token)match(input,23,FollowSets000.FOLLOW_95); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_31, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1());
}
}
break;
}
}
break;
default :
if ( cnt139 >= 1 ) break loop139;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(139, input);
throw eee;
}
cnt139++;
} while (true);
otherlv_32=(Token)match(input,21,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_32, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_2());
}
}
break;
}
// InternalQVTrelation.g:5426:3: ( (otherlv_33= '{' ( (otherlv_34= 'initial' ( ruleUnrestrictedName )? otherlv_36= ':' ( (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS ) )? otherlv_38= ';' ) | (otherlv_39= 'derivation' ( ruleUnrestrictedName )? otherlv_41= ':' ( (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS ) )? otherlv_43= ';' ) )* otherlv_44= '}' ) | otherlv_45= ';' )
int alt146=2;
int LA146_0 = input.LA(1);
if ( (LA146_0==20) ) {
alt146=1;
}
else if ( (LA146_0==22) ) {
alt146=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 146, 0, input);
throw nvae;
}
switch (alt146) {
case 1 :
// InternalQVTrelation.g:5427:4: (otherlv_33= '{' ( (otherlv_34= 'initial' ( ruleUnrestrictedName )? otherlv_36= ':' ( (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS ) )? otherlv_38= ';' ) | (otherlv_39= 'derivation' ( ruleUnrestrictedName )? otherlv_41= ':' ( (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS ) )? otherlv_43= ';' ) )* otherlv_44= '}' )
{
// InternalQVTrelation.g:5427:4: (otherlv_33= '{' ( (otherlv_34= 'initial' ( ruleUnrestrictedName )? otherlv_36= ':' ( (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS ) )? otherlv_38= ';' ) | (otherlv_39= 'derivation' ( ruleUnrestrictedName )? otherlv_41= ':' ( (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS ) )? otherlv_43= ';' ) )* otherlv_44= '}' )
// InternalQVTrelation.g:5428:5: otherlv_33= '{' ( (otherlv_34= 'initial' ( ruleUnrestrictedName )? otherlv_36= ':' ( (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS ) )? otherlv_38= ';' ) | (otherlv_39= 'derivation' ( ruleUnrestrictedName )? otherlv_41= ':' ( (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS ) )? otherlv_43= ';' ) )* otherlv_44= '}'
{
otherlv_33=(Token)match(input,20,FollowSets000.FOLLOW_64); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_33, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_7_0_0());
}
// InternalQVTrelation.g:5432:5: ( (otherlv_34= 'initial' ( ruleUnrestrictedName )? otherlv_36= ':' ( (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS ) )? otherlv_38= ';' ) | (otherlv_39= 'derivation' ( ruleUnrestrictedName )? otherlv_41= ':' ( (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS ) )? otherlv_43= ';' ) )*
loop145:
do {
int alt145=3;
int LA145_0 = input.LA(1);
if ( (LA145_0==74) ) {
alt145=1;
}
else if ( (LA145_0==75) ) {
alt145=2;
}
switch (alt145) {
case 1 :
// InternalQVTrelation.g:5433:6: (otherlv_34= 'initial' ( ruleUnrestrictedName )? otherlv_36= ':' ( (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS ) )? otherlv_38= ';' )
{
// InternalQVTrelation.g:5433:6: (otherlv_34= 'initial' ( ruleUnrestrictedName )? otherlv_36= ':' ( (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS ) )? otherlv_38= ';' )
// InternalQVTrelation.g:5434:7: otherlv_34= 'initial' ( ruleUnrestrictedName )? otherlv_36= ':' ( (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS ) )? otherlv_38= ';'
{
otherlv_34=(Token)match(input,74,FollowSets000.FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_34, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_0_0());
}
// InternalQVTrelation.g:5438:7: ( ruleUnrestrictedName )?
int alt141=2;
int LA141_0 = input.LA(1);
if ( ((LA141_0>=RULE_SIMPLE_ID && LA141_0<=RULE_ESCAPED_ID)||LA141_0==17||(LA141_0>=25 && LA141_0<=32)||(LA141_0>=35 && LA141_0<=43)||(LA141_0>=45 && LA141_0<=47)||(LA141_0>=49 && LA141_0<=59)||LA141_0==61||LA141_0==63||LA141_0==65||LA141_0==68||LA141_0==70||LA141_0==72||(LA141_0>=74 && LA141_0<=77)||(LA141_0>=79 && LA141_0<=84)||LA141_0==86||LA141_0==88||(LA141_0>=90 && LA141_0<=91)) ) {
alt141=1;
}
switch (alt141) {
case 1 :
// InternalQVTrelation.g:5439:8: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_0_1());
}
pushFollow(FollowSets000.FOLLOW_11);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
otherlv_36=(Token)match(input,18,FollowSets000.FOLLOW_65); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_36, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_0_2());
}
// InternalQVTrelation.g:5454:7: ( (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS ) )?
int alt142=2;
int LA142_0 = input.LA(1);
if ( ((LA142_0>=RULE_SINGLE_QUOTED_STRING && LA142_0<=RULE_ESCAPED_ID)||LA142_0==17||(LA142_0>=25 && LA142_0<=33)||(LA142_0>=35 && LA142_0<=43)||(LA142_0>=45 && LA142_0<=59)||LA142_0==61||LA142_0==63||LA142_0==65||LA142_0==68||LA142_0==70||LA142_0==72||(LA142_0>=74 && LA142_0<=77)||(LA142_0>=79 && LA142_0<=84)||LA142_0==86||LA142_0==88||(LA142_0>=90 && LA142_0<=94)||(LA142_0>=114 && LA142_0<=128)||LA142_0==130||(LA142_0>=132 && LA142_0<=135)||LA142_0==142||(LA142_0>=147 && LA142_0<=148)) ) {
alt142=1;
}
switch (alt142) {
case 1 :
// InternalQVTrelation.g:5455:8: (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS )
{
// InternalQVTrelation.g:5455:8: (lv_ownedDefaultExpressions_37_0= ruleSpecificationCS )
// InternalQVTrelation.g:5456:9: lv_ownedDefaultExpressions_37_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_7_0_1_0_3_0());
}
pushFollow(FollowSets000.FOLLOW_20);
lv_ownedDefaultExpressions_37_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReferenceCSRule());
}
add(
current,
"ownedDefaultExpressions",
lv_ownedDefaultExpressions_37_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_38=(Token)match(input,22,FollowSets000.FOLLOW_64); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_38, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_0_4());
}
}
}
break;
case 2 :
// InternalQVTrelation.g:5479:6: (otherlv_39= 'derivation' ( ruleUnrestrictedName )? otherlv_41= ':' ( (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS ) )? otherlv_43= ';' )
{
// InternalQVTrelation.g:5479:6: (otherlv_39= 'derivation' ( ruleUnrestrictedName )? otherlv_41= ':' ( (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS ) )? otherlv_43= ';' )
// InternalQVTrelation.g:5480:7: otherlv_39= 'derivation' ( ruleUnrestrictedName )? otherlv_41= ':' ( (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS ) )? otherlv_43= ';'
{
otherlv_39=(Token)match(input,75,FollowSets000.FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_39, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_1_0());
}
// InternalQVTrelation.g:5484:7: ( ruleUnrestrictedName )?
int alt143=2;
int LA143_0 = input.LA(1);
if ( ((LA143_0>=RULE_SIMPLE_ID && LA143_0<=RULE_ESCAPED_ID)||LA143_0==17||(LA143_0>=25 && LA143_0<=32)||(LA143_0>=35 && LA143_0<=43)||(LA143_0>=45 && LA143_0<=47)||(LA143_0>=49 && LA143_0<=59)||LA143_0==61||LA143_0==63||LA143_0==65||LA143_0==68||LA143_0==70||LA143_0==72||(LA143_0>=74 && LA143_0<=77)||(LA143_0>=79 && LA143_0<=84)||LA143_0==86||LA143_0==88||(LA143_0>=90 && LA143_0<=91)) ) {
alt143=1;
}
switch (alt143) {
case 1 :
// InternalQVTrelation.g:5485:8: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_1_1());
}
pushFollow(FollowSets000.FOLLOW_11);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
otherlv_41=(Token)match(input,18,FollowSets000.FOLLOW_65); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_41, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_1_2());
}
// InternalQVTrelation.g:5500:7: ( (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS ) )?
int alt144=2;
int LA144_0 = input.LA(1);
if ( ((LA144_0>=RULE_SINGLE_QUOTED_STRING && LA144_0<=RULE_ESCAPED_ID)||LA144_0==17||(LA144_0>=25 && LA144_0<=33)||(LA144_0>=35 && LA144_0<=43)||(LA144_0>=45 && LA144_0<=59)||LA144_0==61||LA144_0==63||LA144_0==65||LA144_0==68||LA144_0==70||LA144_0==72||(LA144_0>=74 && LA144_0<=77)||(LA144_0>=79 && LA144_0<=84)||LA144_0==86||LA144_0==88||(LA144_0>=90 && LA144_0<=94)||(LA144_0>=114 && LA144_0<=128)||LA144_0==130||(LA144_0>=132 && LA144_0<=135)||LA144_0==142||(LA144_0>=147 && LA144_0<=148)) ) {
alt144=1;
}
switch (alt144) {
case 1 :
// InternalQVTrelation.g:5501:8: (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS )
{
// InternalQVTrelation.g:5501:8: (lv_ownedDefaultExpressions_42_0= ruleSpecificationCS )
// InternalQVTrelation.g:5502:9: lv_ownedDefaultExpressions_42_0= ruleSpecificationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_7_0_1_1_3_0());
}
pushFollow(FollowSets000.FOLLOW_20);
lv_ownedDefaultExpressions_42_0=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReferenceCSRule());
}
add(
current,
"ownedDefaultExpressions",
lv_ownedDefaultExpressions_42_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.SpecificationCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_43=(Token)match(input,22,FollowSets000.FOLLOW_64); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_43, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_1_4());
}
}
}
break;
default :
break loop145;
}
} while (true);
otherlv_44=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_44, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_7_0_2());
}
}
}
break;
case 2 :
// InternalQVTrelation.g:5531:4: otherlv_45= ';'
{
otherlv_45=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_45, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleReferenceCS"
// $ANTLR start "entryRuleSimpleTargetElementCS"
// InternalQVTrelation.g:5540:1: entryRuleSimpleTargetElementCS returns [EObject current=null] : iv_ruleSimpleTargetElementCS= ruleSimpleTargetElementCS EOF ;
public final EObject entryRuleSimpleTargetElementCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleSimpleTargetElementCS = null;
try {
// InternalQVTrelation.g:5540:62: (iv_ruleSimpleTargetElementCS= ruleSimpleTargetElementCS EOF )
// InternalQVTrelation.g:5541:2: iv_ruleSimpleTargetElementCS= ruleSimpleTargetElementCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSimpleTargetElementCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleSimpleTargetElementCS=ruleSimpleTargetElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSimpleTargetElementCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSimpleTargetElementCS"
// $ANTLR start "ruleSimpleTargetElementCS"
// InternalQVTrelation.g:5547:1: ruleSimpleTargetElementCS returns [EObject current=null] : ( ( ( (lv_input_0_0= 'input' ) ) | ( (lv_output_1_0= 'output' ) ) | ( (lv_via_2_0= 'via' ) ) ) ( ( ruleUnrestrictedName ) ) (otherlv_4= 'iterates' ( ( ( ruleUnrestrictedName ) ) | (otherlv_6= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_8= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_10= '}' ) ) )? otherlv_11= ';' ) ;
public final EObject ruleSimpleTargetElementCS() throws RecognitionException {
EObject current = null;
Token lv_input_0_0=null;
Token lv_output_1_0=null;
Token lv_via_2_0=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_11=null;
enterRule();
try {
// InternalQVTrelation.g:5553:2: ( ( ( ( (lv_input_0_0= 'input' ) ) | ( (lv_output_1_0= 'output' ) ) | ( (lv_via_2_0= 'via' ) ) ) ( ( ruleUnrestrictedName ) ) (otherlv_4= 'iterates' ( ( ( ruleUnrestrictedName ) ) | (otherlv_6= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_8= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_10= '}' ) ) )? otherlv_11= ';' ) )
// InternalQVTrelation.g:5554:2: ( ( ( (lv_input_0_0= 'input' ) ) | ( (lv_output_1_0= 'output' ) ) | ( (lv_via_2_0= 'via' ) ) ) ( ( ruleUnrestrictedName ) ) (otherlv_4= 'iterates' ( ( ( ruleUnrestrictedName ) ) | (otherlv_6= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_8= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_10= '}' ) ) )? otherlv_11= ';' )
{
// InternalQVTrelation.g:5554:2: ( ( ( (lv_input_0_0= 'input' ) ) | ( (lv_output_1_0= 'output' ) ) | ( (lv_via_2_0= 'via' ) ) ) ( ( ruleUnrestrictedName ) ) (otherlv_4= 'iterates' ( ( ( ruleUnrestrictedName ) ) | (otherlv_6= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_8= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_10= '}' ) ) )? otherlv_11= ';' )
// InternalQVTrelation.g:5555:3: ( ( (lv_input_0_0= 'input' ) ) | ( (lv_output_1_0= 'output' ) ) | ( (lv_via_2_0= 'via' ) ) ) ( ( ruleUnrestrictedName ) ) (otherlv_4= 'iterates' ( ( ( ruleUnrestrictedName ) ) | (otherlv_6= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_8= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_10= '}' ) ) )? otherlv_11= ';'
{
// InternalQVTrelation.g:5555:3: ( ( (lv_input_0_0= 'input' ) ) | ( (lv_output_1_0= 'output' ) ) | ( (lv_via_2_0= 'via' ) ) )
int alt147=3;
switch ( input.LA(1) ) {
case 51:
{
alt147=1;
}
break;
case 53:
{
alt147=2;
}
break;
case 55:
{
alt147=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 147, 0, input);
throw nvae;
}
switch (alt147) {
case 1 :
// InternalQVTrelation.g:5556:4: ( (lv_input_0_0= 'input' ) )
{
// InternalQVTrelation.g:5556:4: ( (lv_input_0_0= 'input' ) )
// InternalQVTrelation.g:5557:5: (lv_input_0_0= 'input' )
{
// InternalQVTrelation.g:5557:5: (lv_input_0_0= 'input' )
// InternalQVTrelation.g:5558:6: lv_input_0_0= 'input'
{
lv_input_0_0=(Token)match(input,51,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_input_0_0, grammarAccess.getSimpleTargetElementCSAccess().getInputInputKeyword_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSimpleTargetElementCSRule());
}
setWithLastConsumed(current, "input", lv_input_0_0 != null, "input");
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:5571:4: ( (lv_output_1_0= 'output' ) )
{
// InternalQVTrelation.g:5571:4: ( (lv_output_1_0= 'output' ) )
// InternalQVTrelation.g:5572:5: (lv_output_1_0= 'output' )
{
// InternalQVTrelation.g:5572:5: (lv_output_1_0= 'output' )
// InternalQVTrelation.g:5573:6: lv_output_1_0= 'output'
{
lv_output_1_0=(Token)match(input,53,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_output_1_0, grammarAccess.getSimpleTargetElementCSAccess().getOutputOutputKeyword_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSimpleTargetElementCSRule());
}
setWithLastConsumed(current, "output", lv_output_1_0 != null, "output");
}
}
}
}
break;
case 3 :
// InternalQVTrelation.g:5586:4: ( (lv_via_2_0= 'via' ) )
{
// InternalQVTrelation.g:5586:4: ( (lv_via_2_0= 'via' ) )
// InternalQVTrelation.g:5587:5: (lv_via_2_0= 'via' )
{
// InternalQVTrelation.g:5587:5: (lv_via_2_0= 'via' )
// InternalQVTrelation.g:5588:6: lv_via_2_0= 'via'
{
lv_via_2_0=(Token)match(input,55,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_via_2_0, grammarAccess.getSimpleTargetElementCSAccess().getViaViaKeyword_0_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSimpleTargetElementCSRule());
}
setWithLastConsumed(current, "via", lv_via_2_0 != null, "via");
}
}
}
}
break;
}
// InternalQVTrelation.g:5601:3: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:5602:4: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:5602:4: ( ruleUnrestrictedName )
// InternalQVTrelation.g:5603:5: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSimpleTargetElementCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSimpleTargetElementCSAccess().getTypedModelTypedModelCrossReference_1_0());
}
pushFollow(FollowSets000.FOLLOW_96);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:5620:3: (otherlv_4= 'iterates' ( ( ( ruleUnrestrictedName ) ) | (otherlv_6= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_8= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_10= '}' ) ) )?
int alt151=2;
int LA151_0 = input.LA(1);
if ( (LA151_0==36) ) {
alt151=1;
}
switch (alt151) {
case 1 :
// InternalQVTrelation.g:5621:4: otherlv_4= 'iterates' ( ( ( ruleUnrestrictedName ) ) | (otherlv_6= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_8= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_10= '}' ) )
{
otherlv_4=(Token)match(input,36,FollowSets000.FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getSimpleTargetElementCSAccess().getIteratesKeyword_2_0());
}
// InternalQVTrelation.g:5625:4: ( ( ( ruleUnrestrictedName ) ) | (otherlv_6= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_8= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_10= '}' ) )
int alt150=2;
int LA150_0 = input.LA(1);
if ( ((LA150_0>=RULE_SIMPLE_ID && LA150_0<=RULE_ESCAPED_ID)||LA150_0==17||(LA150_0>=25 && LA150_0<=32)||(LA150_0>=35 && LA150_0<=43)||(LA150_0>=45 && LA150_0<=47)||(LA150_0>=49 && LA150_0<=59)||LA150_0==61||LA150_0==63||LA150_0==65||LA150_0==68||LA150_0==70||LA150_0==72||(LA150_0>=74 && LA150_0<=77)||(LA150_0>=79 && LA150_0<=84)||LA150_0==86||LA150_0==88||(LA150_0>=90 && LA150_0<=91)) ) {
alt150=1;
}
else if ( (LA150_0==20) ) {
alt150=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 150, 0, input);
throw nvae;
}
switch (alt150) {
case 1 :
// InternalQVTrelation.g:5626:5: ( ( ruleUnrestrictedName ) )
{
// InternalQVTrelation.g:5626:5: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:5627:6: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:5627:6: ( ruleUnrestrictedName )
// InternalQVTrelation.g:5628:7: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSimpleTargetElementCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSimpleTargetElementCSAccess().getIteratesTypedModelCrossReference_2_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_20);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:5646:5: (otherlv_6= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_8= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_10= '}' )
{
// InternalQVTrelation.g:5646:5: (otherlv_6= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_8= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_10= '}' )
// InternalQVTrelation.g:5647:6: otherlv_6= '{' ( ( ( ruleUnrestrictedName ) ) (otherlv_8= ',' ( ( ruleUnrestrictedName ) ) )* )? otherlv_10= '}'
{
otherlv_6=(Token)match(input,20,FollowSets000.FOLLOW_26); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getSimpleTargetElementCSAccess().getLeftCurlyBracketKeyword_2_1_1_0());
}
// InternalQVTrelation.g:5651:6: ( ( ( ruleUnrestrictedName ) ) (otherlv_8= ',' ( ( ruleUnrestrictedName ) ) )* )?
int alt149=2;
int LA149_0 = input.LA(1);
if ( ((LA149_0>=RULE_SIMPLE_ID && LA149_0<=RULE_ESCAPED_ID)||LA149_0==17||(LA149_0>=25 && LA149_0<=32)||(LA149_0>=35 && LA149_0<=43)||(LA149_0>=45 && LA149_0<=47)||(LA149_0>=49 && LA149_0<=59)||LA149_0==61||LA149_0==63||LA149_0==65||LA149_0==68||LA149_0==70||LA149_0==72||(LA149_0>=74 && LA149_0<=77)||(LA149_0>=79 && LA149_0<=84)||LA149_0==86||LA149_0==88||(LA149_0>=90 && LA149_0<=91)) ) {
alt149=1;
}
switch (alt149) {
case 1 :
// InternalQVTrelation.g:5652:7: ( ( ruleUnrestrictedName ) ) (otherlv_8= ',' ( ( ruleUnrestrictedName ) ) )*
{
// InternalQVTrelation.g:5652:7: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:5653:8: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:5653:8: ( ruleUnrestrictedName )
// InternalQVTrelation.g:5654:9: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSimpleTargetElementCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSimpleTargetElementCSAccess().getIteratesTypedModelCrossReference_2_1_1_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_28);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:5671:7: (otherlv_8= ',' ( ( ruleUnrestrictedName ) ) )*
loop148:
do {
int alt148=2;
int LA148_0 = input.LA(1);
if ( (LA148_0==23) ) {
alt148=1;
}
switch (alt148) {
case 1 :
// InternalQVTrelation.g:5672:8: otherlv_8= ',' ( ( ruleUnrestrictedName ) )
{
otherlv_8=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getSimpleTargetElementCSAccess().getCommaKeyword_2_1_1_1_1_0());
}
// InternalQVTrelation.g:5676:8: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:5677:9: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:5677:9: ( ruleUnrestrictedName )
// InternalQVTrelation.g:5678:10: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSimpleTargetElementCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSimpleTargetElementCSAccess().getIteratesTypedModelCrossReference_2_1_1_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop148;
}
} while (true);
}
break;
}
otherlv_10=(Token)match(input,21,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getSimpleTargetElementCSAccess().getRightCurlyBracketKeyword_2_1_1_2());
}
}
}
break;
}
}
break;
}
otherlv_11=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getSimpleTargetElementCSAccess().getSemicolonKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSimpleTargetElementCS"
// $ANTLR start "entryRuleSpecificationCS"
// InternalQVTrelation.g:5712:1: entryRuleSpecificationCS returns [EObject current=null] : iv_ruleSpecificationCS= ruleSpecificationCS EOF ;
public final EObject entryRuleSpecificationCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleSpecificationCS = null;
try {
// InternalQVTrelation.g:5712:56: (iv_ruleSpecificationCS= ruleSpecificationCS EOF )
// InternalQVTrelation.g:5713:2: iv_ruleSpecificationCS= ruleSpecificationCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSpecificationCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleSpecificationCS=ruleSpecificationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSpecificationCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSpecificationCS"
// $ANTLR start "ruleSpecificationCS"
// InternalQVTrelation.g:5719:1: ruleSpecificationCS returns [EObject current=null] : ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) ) ;
public final EObject ruleSpecificationCS() throws RecognitionException {
EObject current = null;
Token lv_exprString_1_0=null;
EObject lv_ownedExpression_0_0 = null;
enterRule();
try {
// InternalQVTrelation.g:5725:2: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) ) )
// InternalQVTrelation.g:5726:2: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) )
{
// InternalQVTrelation.g:5726:2: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) )
int alt152=2;
int LA152_0 = input.LA(1);
if ( (LA152_0==RULE_SINGLE_QUOTED_STRING||(LA152_0>=RULE_INT && LA152_0<=RULE_ESCAPED_ID)||LA152_0==17||(LA152_0>=25 && LA152_0<=33)||(LA152_0>=35 && LA152_0<=43)||(LA152_0>=45 && LA152_0<=59)||LA152_0==61||LA152_0==63||LA152_0==65||LA152_0==68||LA152_0==70||LA152_0==72||(LA152_0>=74 && LA152_0<=77)||(LA152_0>=79 && LA152_0<=84)||LA152_0==86||LA152_0==88||(LA152_0>=90 && LA152_0<=94)||(LA152_0>=114 && LA152_0<=128)||LA152_0==130||(LA152_0>=132 && LA152_0<=135)||LA152_0==142||(LA152_0>=147 && LA152_0<=148)) ) {
alt152=1;
}
else if ( (LA152_0==RULE_UNQUOTED_STRING) ) {
alt152=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 152, 0, input);
throw nvae;
}
switch (alt152) {
case 1 :
// InternalQVTrelation.g:5727:3: ( (lv_ownedExpression_0_0= ruleExpCS ) )
{
// InternalQVTrelation.g:5727:3: ( (lv_ownedExpression_0_0= ruleExpCS ) )
// InternalQVTrelation.g:5728:4: (lv_ownedExpression_0_0= ruleExpCS )
{
// InternalQVTrelation.g:5728:4: (lv_ownedExpression_0_0= ruleExpCS )
// InternalQVTrelation.g:5729:5: lv_ownedExpression_0_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSpecificationCSAccess().getOwnedExpressionExpCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedExpression_0_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSpecificationCSRule());
}
set(
current,
"ownedExpression",
lv_ownedExpression_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:5747:3: ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) )
{
// InternalQVTrelation.g:5747:3: ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) )
// InternalQVTrelation.g:5748:4: (lv_exprString_1_0= RULE_UNQUOTED_STRING )
{
// InternalQVTrelation.g:5748:4: (lv_exprString_1_0= RULE_UNQUOTED_STRING )
// InternalQVTrelation.g:5749:5: lv_exprString_1_0= RULE_UNQUOTED_STRING
{
lv_exprString_1_0=(Token)match(input,RULE_UNQUOTED_STRING,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_exprString_1_0, grammarAccess.getSpecificationCSAccess().getExprStringUNQUOTED_STRINGTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSpecificationCSRule());
}
setWithLastConsumed(
current,
"exprString",
lv_exprString_1_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.UNQUOTED_STRING");
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSpecificationCS"
// $ANTLR start "entryRuleStructuredClassCS"
// InternalQVTrelation.g:5769:1: entryRuleStructuredClassCS returns [EObject current=null] : iv_ruleStructuredClassCS= ruleStructuredClassCS EOF ;
public final EObject entryRuleStructuredClassCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleStructuredClassCS = null;
try {
// InternalQVTrelation.g:5769:58: (iv_ruleStructuredClassCS= ruleStructuredClassCS EOF )
// InternalQVTrelation.g:5770:2: iv_ruleStructuredClassCS= ruleStructuredClassCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleStructuredClassCS=ruleStructuredClassCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleStructuredClassCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleStructuredClassCS"
// $ANTLR start "ruleStructuredClassCS"
// InternalQVTrelation.g:5776:1: ruleStructuredClassCS returns [EObject current=null] : ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedOperations_14_0= ruleOperationCS ) ) | ( (lv_ownedProperties_15_0= ruleStructuralFeatureCS ) ) )* otherlv_16= '}' ) | otherlv_17= ';' ) ) ;
public final EObject ruleStructuredClassCS() throws RecognitionException {
EObject current = null;
Token lv_isAbstract_0_0=null;
Token otherlv_1=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token lv_instanceClassName_9_0=null;
Token otherlv_10=null;
Token lv_isInterface_11_0=null;
Token otherlv_12=null;
Token otherlv_13=null;
Token otherlv_16=null;
Token otherlv_17=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_ownedSignature_3_0 = null;
EObject lv_ownedSuperTypes_5_0 = null;
EObject lv_ownedSuperTypes_7_0 = null;
EObject lv_ownedOperations_14_0 = null;
EObject lv_ownedProperties_15_0 = null;
enterRule();
try {
// InternalQVTrelation.g:5782:2: ( ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedOperations_14_0= ruleOperationCS ) ) | ( (lv_ownedProperties_15_0= ruleStructuralFeatureCS ) ) )* otherlv_16= '}' ) | otherlv_17= ';' ) ) )
// InternalQVTrelation.g:5783:2: ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedOperations_14_0= ruleOperationCS ) ) | ( (lv_ownedProperties_15_0= ruleStructuralFeatureCS ) ) )* otherlv_16= '}' ) | otherlv_17= ';' ) )
{
// InternalQVTrelation.g:5783:2: ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedOperations_14_0= ruleOperationCS ) ) | ( (lv_ownedProperties_15_0= ruleStructuralFeatureCS ) ) )* otherlv_16= '}' ) | otherlv_17= ';' ) )
// InternalQVTrelation.g:5784:3: ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedOperations_14_0= ruleOperationCS ) ) | ( (lv_ownedProperties_15_0= ruleStructuralFeatureCS ) ) )* otherlv_16= '}' ) | otherlv_17= ';' )
{
// InternalQVTrelation.g:5784:3: ( (lv_isAbstract_0_0= 'abstract' ) )?
int alt153=2;
int LA153_0 = input.LA(1);
if ( (LA153_0==41) ) {
alt153=1;
}
switch (alt153) {
case 1 :
// InternalQVTrelation.g:5785:4: (lv_isAbstract_0_0= 'abstract' )
{
// InternalQVTrelation.g:5785:4: (lv_isAbstract_0_0= 'abstract' )
// InternalQVTrelation.g:5786:5: lv_isAbstract_0_0= 'abstract'
{
lv_isAbstract_0_0=(Token)match(input,41,FollowSets000.FOLLOW_97); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isAbstract_0_0, grammarAccess.getStructuredClassCSAccess().getIsAbstractAbstractKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStructuredClassCSRule());
}
setWithLastConsumed(current, "isAbstract", lv_isAbstract_0_0 != null, "abstract");
}
}
}
break;
}
otherlv_1=(Token)match(input,90,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getStructuredClassCSAccess().getClassKeyword_1());
}
// InternalQVTrelation.g:5802:3: ( (lv_name_2_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:5803:4: (lv_name_2_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:5803:4: (lv_name_2_0= ruleUnrestrictedName )
// InternalQVTrelation.g:5804:5: lv_name_2_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSAccess().getNameUnrestrictedNameParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_98);
lv_name_2_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStructuredClassCSRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:5821:3: ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )?
int alt154=2;
int LA154_0 = input.LA(1);
if ( (LA154_0==33) ) {
alt154=1;
}
switch (alt154) {
case 1 :
// InternalQVTrelation.g:5822:4: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
{
// InternalQVTrelation.g:5822:4: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
// InternalQVTrelation.g:5823:5: lv_ownedSignature_3_0= ruleTemplateSignatureCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_99);
lv_ownedSignature_3_0=ruleTemplateSignatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStructuredClassCSRule());
}
set(
current,
"ownedSignature",
lv_ownedSignature_3_0,
"org.eclipse.ocl.xtext.base.Base.TemplateSignatureCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalQVTrelation.g:5840:3: (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )?
int alt156=2;
int LA156_0 = input.LA(1);
if ( (LA156_0==46) ) {
alt156=1;
}
switch (alt156) {
case 1 :
// InternalQVTrelation.g:5841:4: otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )*
{
otherlv_4=(Token)match(input,46,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getStructuredClassCSAccess().getExtendsKeyword_4_0());
}
// InternalQVTrelation.g:5845:4: ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) )
// InternalQVTrelation.g:5846:5: (lv_ownedSuperTypes_5_0= ruleTypedRefCS )
{
// InternalQVTrelation.g:5846:5: (lv_ownedSuperTypes_5_0= ruleTypedRefCS )
// InternalQVTrelation.g:5847:6: lv_ownedSuperTypes_5_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedSuperTypesTypedRefCSParserRuleCall_4_1_0());
}
pushFollow(FollowSets000.FOLLOW_100);
lv_ownedSuperTypes_5_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStructuredClassCSRule());
}
add(
current,
"ownedSuperTypes",
lv_ownedSuperTypes_5_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:5864:4: (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )*
loop155:
do {
int alt155=2;
int LA155_0 = input.LA(1);
if ( (LA155_0==23) ) {
alt155=1;
}
switch (alt155) {
case 1 :
// InternalQVTrelation.g:5865:5: otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) )
{
otherlv_6=(Token)match(input,23,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getStructuredClassCSAccess().getCommaKeyword_4_2_0());
}
// InternalQVTrelation.g:5869:5: ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) )
// InternalQVTrelation.g:5870:6: (lv_ownedSuperTypes_7_0= ruleTypedRefCS )
{
// InternalQVTrelation.g:5870:6: (lv_ownedSuperTypes_7_0= ruleTypedRefCS )
// InternalQVTrelation.g:5871:7: lv_ownedSuperTypes_7_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedSuperTypesTypedRefCSParserRuleCall_4_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_100);
lv_ownedSuperTypes_7_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStructuredClassCSRule());
}
add(
current,
"ownedSuperTypes",
lv_ownedSuperTypes_7_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop155;
}
} while (true);
}
break;
}
// InternalQVTrelation.g:5890:3: (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )?
int alt157=2;
int LA157_0 = input.LA(1);
if ( (LA157_0==18) ) {
alt157=1;
}
switch (alt157) {
case 1 :
// InternalQVTrelation.g:5891:4: otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) )
{
otherlv_8=(Token)match(input,18,FollowSets000.FOLLOW_8); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getStructuredClassCSAccess().getColonKeyword_5_0());
}
// InternalQVTrelation.g:5895:4: ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) )
// InternalQVTrelation.g:5896:5: (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING )
{
// InternalQVTrelation.g:5896:5: (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING )
// InternalQVTrelation.g:5897:6: lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING
{
lv_instanceClassName_9_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_instanceClassName_9_0, grammarAccess.getStructuredClassCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStructuredClassCSRule());
}
setWithLastConsumed(
current,
"instanceClassName",
lv_instanceClassName_9_0,
"org.eclipse.ocl.xtext.base.Base.SINGLE_QUOTED_STRING");
}
}
}
}
break;
}
// InternalQVTrelation.g:5914:3: (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )?
int alt159=2;
int LA159_0 = input.LA(1);
if ( (LA159_0==20) ) {
int LA159_1 = input.LA(2);
if ( (LA159_1==91) ) {
alt159=1;
}
else if ( (LA159_1==21) ) {
int LA159_4 = input.LA(3);
if ( (LA159_4==20||LA159_4==22) ) {
alt159=1;
}
}
}
switch (alt159) {
case 1 :
// InternalQVTrelation.g:5915:4: otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}'
{
otherlv_10=(Token)match(input,20,FollowSets000.FOLLOW_101); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getStructuredClassCSAccess().getLeftCurlyBracketKeyword_6_0());
}
// InternalQVTrelation.g:5919:4: ( (lv_isInterface_11_0= 'interface' ) )?
int alt158=2;
int LA158_0 = input.LA(1);
if ( (LA158_0==91) ) {
alt158=1;
}
switch (alt158) {
case 1 :
// InternalQVTrelation.g:5920:5: (lv_isInterface_11_0= 'interface' )
{
// InternalQVTrelation.g:5920:5: (lv_isInterface_11_0= 'interface' )
// InternalQVTrelation.g:5921:6: lv_isInterface_11_0= 'interface'
{
lv_isInterface_11_0=(Token)match(input,91,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isInterface_11_0, grammarAccess.getStructuredClassCSAccess().getIsInterfaceInterfaceKeyword_6_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStructuredClassCSRule());
}
setWithLastConsumed(current, "isInterface", lv_isInterface_11_0 != null, "interface");
}
}
}
break;
}
otherlv_12=(Token)match(input,21,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getStructuredClassCSAccess().getRightCurlyBracketKeyword_6_2());
}
}
break;
}
// InternalQVTrelation.g:5938:3: ( (otherlv_13= '{' ( ( (lv_ownedOperations_14_0= ruleOperationCS ) ) | ( (lv_ownedProperties_15_0= ruleStructuralFeatureCS ) ) )* otherlv_16= '}' ) | otherlv_17= ';' )
int alt161=2;
int LA161_0 = input.LA(1);
if ( (LA161_0==20) ) {
alt161=1;
}
else if ( (LA161_0==22) ) {
alt161=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 161, 0, input);
throw nvae;
}
switch (alt161) {
case 1 :
// InternalQVTrelation.g:5939:4: (otherlv_13= '{' ( ( (lv_ownedOperations_14_0= ruleOperationCS ) ) | ( (lv_ownedProperties_15_0= ruleStructuralFeatureCS ) ) )* otherlv_16= '}' )
{
// InternalQVTrelation.g:5939:4: (otherlv_13= '{' ( ( (lv_ownedOperations_14_0= ruleOperationCS ) ) | ( (lv_ownedProperties_15_0= ruleStructuralFeatureCS ) ) )* otherlv_16= '}' )
// InternalQVTrelation.g:5940:5: otherlv_13= '{' ( ( (lv_ownedOperations_14_0= ruleOperationCS ) ) | ( (lv_ownedProperties_15_0= ruleStructuralFeatureCS ) ) )* otherlv_16= '}'
{
otherlv_13=(Token)match(input,20,FollowSets000.FOLLOW_102); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getStructuredClassCSAccess().getLeftCurlyBracketKeyword_7_0_0());
}
// InternalQVTrelation.g:5944:5: ( ( (lv_ownedOperations_14_0= ruleOperationCS ) ) | ( (lv_ownedProperties_15_0= ruleStructuralFeatureCS ) ) )*
loop160:
do {
int alt160=3;
switch ( input.LA(1) ) {
case 56:
{
switch ( input.LA(2) ) {
case 57:
{
int LA160_6 = input.LA(3);
if ( (LA160_6==58||LA160_6==84) ) {
alt160=2;
}
else if ( (LA160_6==81) ) {
alt160=1;
}
}
break;
case 58:
case 84:
{
alt160=2;
}
break;
case 81:
{
alt160=1;
}
break;
}
}
break;
case 57:
{
switch ( input.LA(2) ) {
case 56:
{
int LA160_7 = input.LA(3);
if ( (LA160_7==81) ) {
alt160=1;
}
else if ( (LA160_7==58||LA160_7==84) ) {
alt160=2;
}
}
break;
case 58:
case 84:
{
alt160=2;
}
break;
case 81:
{
alt160=1;
}
break;
}
}
break;
case 81:
{
alt160=1;
}
break;
case 58:
case 84:
{
alt160=2;
}
break;
}
switch (alt160) {
case 1 :
// InternalQVTrelation.g:5945:6: ( (lv_ownedOperations_14_0= ruleOperationCS ) )
{
// InternalQVTrelation.g:5945:6: ( (lv_ownedOperations_14_0= ruleOperationCS ) )
// InternalQVTrelation.g:5946:7: (lv_ownedOperations_14_0= ruleOperationCS )
{
// InternalQVTrelation.g:5946:7: (lv_ownedOperations_14_0= ruleOperationCS )
// InternalQVTrelation.g:5947:8: lv_ownedOperations_14_0= ruleOperationCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedOperationsOperationCSParserRuleCall_7_0_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_102);
lv_ownedOperations_14_0=ruleOperationCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStructuredClassCSRule());
}
add(
current,
"ownedOperations",
lv_ownedOperations_14_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.OperationCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:5965:6: ( (lv_ownedProperties_15_0= ruleStructuralFeatureCS ) )
{
// InternalQVTrelation.g:5965:6: ( (lv_ownedProperties_15_0= ruleStructuralFeatureCS ) )
// InternalQVTrelation.g:5966:7: (lv_ownedProperties_15_0= ruleStructuralFeatureCS )
{
// InternalQVTrelation.g:5966:7: (lv_ownedProperties_15_0= ruleStructuralFeatureCS )
// InternalQVTrelation.g:5967:8: lv_ownedProperties_15_0= ruleStructuralFeatureCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedPropertiesStructuralFeatureCSParserRuleCall_7_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_102);
lv_ownedProperties_15_0=ruleStructuralFeatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStructuredClassCSRule());
}
add(
current,
"ownedProperties",
lv_ownedProperties_15_0,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.StructuralFeatureCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop160;
}
} while (true);
otherlv_16=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getStructuredClassCSAccess().getRightCurlyBracketKeyword_7_0_2());
}
}
}
break;
case 2 :
// InternalQVTrelation.g:5991:4: otherlv_17= ';'
{
otherlv_17=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getStructuredClassCSAccess().getSemicolonKeyword_7_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleStructuredClassCS"
// $ANTLR start "entryRuleTargetCS"
// InternalQVTrelation.g:6000:1: entryRuleTargetCS returns [EObject current=null] : iv_ruleTargetCS= ruleTargetCS EOF ;
public final EObject entryRuleTargetCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTargetCS = null;
try {
// InternalQVTrelation.g:6000:49: (iv_ruleTargetCS= ruleTargetCS EOF )
// InternalQVTrelation.g:6001:2: iv_ruleTargetCS= ruleTargetCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTargetCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTargetCS=ruleTargetCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTargetCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTargetCS"
// $ANTLR start "ruleTargetCS"
// InternalQVTrelation.g:6007:1: ruleTargetCS returns [EObject current=null] : (otherlv_0= 'target' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= '{' ( ( (lv_ownedTargetElements_3_1= ruleSimpleTargetElementCS | lv_ownedTargetElements_3_2= ruleCompoundTargetElementCS ) ) )* otherlv_4= '}' (otherlv_5= ';' )? ) ;
public final EObject ruleTargetCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_5=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_ownedTargetElements_3_1 = null;
EObject lv_ownedTargetElements_3_2 = null;
enterRule();
try {
// InternalQVTrelation.g:6013:2: ( (otherlv_0= 'target' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= '{' ( ( (lv_ownedTargetElements_3_1= ruleSimpleTargetElementCS | lv_ownedTargetElements_3_2= ruleCompoundTargetElementCS ) ) )* otherlv_4= '}' (otherlv_5= ';' )? ) )
// InternalQVTrelation.g:6014:2: (otherlv_0= 'target' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= '{' ( ( (lv_ownedTargetElements_3_1= ruleSimpleTargetElementCS | lv_ownedTargetElements_3_2= ruleCompoundTargetElementCS ) ) )* otherlv_4= '}' (otherlv_5= ';' )? )
{
// InternalQVTrelation.g:6014:2: (otherlv_0= 'target' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= '{' ( ( (lv_ownedTargetElements_3_1= ruleSimpleTargetElementCS | lv_ownedTargetElements_3_2= ruleCompoundTargetElementCS ) ) )* otherlv_4= '}' (otherlv_5= ';' )? )
// InternalQVTrelation.g:6015:3: otherlv_0= 'target' ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= '{' ( ( (lv_ownedTargetElements_3_1= ruleSimpleTargetElementCS | lv_ownedTargetElements_3_2= ruleCompoundTargetElementCS ) ) )* otherlv_4= '}' (otherlv_5= ';' )?
{
otherlv_0=(Token)match(input,54,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getTargetCSAccess().getTargetKeyword_0());
}
// InternalQVTrelation.g:6019:3: ( (lv_name_1_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:6020:4: (lv_name_1_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:6020:4: (lv_name_1_0= ruleUnrestrictedName )
// InternalQVTrelation.g:6021:5: lv_name_1_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTargetCSAccess().getNameUnrestrictedNameParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_25);
lv_name_1_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTargetCSRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_103); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getTargetCSAccess().getLeftCurlyBracketKeyword_2());
}
// InternalQVTrelation.g:6042:3: ( ( (lv_ownedTargetElements_3_1= ruleSimpleTargetElementCS | lv_ownedTargetElements_3_2= ruleCompoundTargetElementCS ) ) )*
loop163:
do {
int alt163=2;
int LA163_0 = input.LA(1);
if ( (LA163_0==20||LA163_0==51||LA163_0==53||LA163_0==55) ) {
alt163=1;
}
switch (alt163) {
case 1 :
// InternalQVTrelation.g:6043:4: ( (lv_ownedTargetElements_3_1= ruleSimpleTargetElementCS | lv_ownedTargetElements_3_2= ruleCompoundTargetElementCS ) )
{
// InternalQVTrelation.g:6043:4: ( (lv_ownedTargetElements_3_1= ruleSimpleTargetElementCS | lv_ownedTargetElements_3_2= ruleCompoundTargetElementCS ) )
// InternalQVTrelation.g:6044:5: (lv_ownedTargetElements_3_1= ruleSimpleTargetElementCS | lv_ownedTargetElements_3_2= ruleCompoundTargetElementCS )
{
// InternalQVTrelation.g:6044:5: (lv_ownedTargetElements_3_1= ruleSimpleTargetElementCS | lv_ownedTargetElements_3_2= ruleCompoundTargetElementCS )
int alt162=2;
int LA162_0 = input.LA(1);
if ( (LA162_0==51||LA162_0==53||LA162_0==55) ) {
alt162=1;
}
else if ( (LA162_0==20) ) {
alt162=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 162, 0, input);
throw nvae;
}
switch (alt162) {
case 1 :
// InternalQVTrelation.g:6045:6: lv_ownedTargetElements_3_1= ruleSimpleTargetElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTargetCSAccess().getOwnedTargetElementsSimpleTargetElementCSParserRuleCall_3_0_0());
}
pushFollow(FollowSets000.FOLLOW_103);
lv_ownedTargetElements_3_1=ruleSimpleTargetElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTargetCSRule());
}
add(
current,
"ownedTargetElements",
lv_ownedTargetElements_3_1,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.SimpleTargetElementCS");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:6061:6: lv_ownedTargetElements_3_2= ruleCompoundTargetElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTargetCSAccess().getOwnedTargetElementsCompoundTargetElementCSParserRuleCall_3_0_1());
}
pushFollow(FollowSets000.FOLLOW_103);
lv_ownedTargetElements_3_2=ruleCompoundTargetElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTargetCSRule());
}
add(
current,
"ownedTargetElements",
lv_ownedTargetElements_3_2,
"org.eclipse.qvtd.xtext.qvtbase.QVTbase.CompoundTargetElementCS");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
break;
default :
break loop163;
}
} while (true);
otherlv_4=(Token)match(input,21,FollowSets000.FOLLOW_67); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getTargetCSAccess().getRightCurlyBracketKeyword_4());
}
// InternalQVTrelation.g:6083:3: (otherlv_5= ';' )?
int alt164=2;
int LA164_0 = input.LA(1);
if ( (LA164_0==22) ) {
alt164=1;
}
switch (alt164) {
case 1 :
// InternalQVTrelation.g:6084:4: otherlv_5= ';'
{
otherlv_5=(Token)match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getTargetCSAccess().getSemicolonKeyword_5());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTargetCS"
// $ANTLR start "entryRuleTypedMultiplicityRefCS"
// InternalQVTrelation.g:6093:1: entryRuleTypedMultiplicityRefCS returns [EObject current=null] : iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF ;
public final EObject entryRuleTypedMultiplicityRefCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypedMultiplicityRefCS = null;
try {
// InternalQVTrelation.g:6093:63: (iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF )
// InternalQVTrelation.g:6094:2: iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedMultiplicityRefCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypedMultiplicityRefCS=ruleTypedMultiplicityRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypedMultiplicityRefCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypedMultiplicityRefCS"
// $ANTLR start "ruleTypedMultiplicityRefCS"
// InternalQVTrelation.g:6100:1: ruleTypedMultiplicityRefCS returns [EObject current=null] : (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) ;
public final EObject ruleTypedMultiplicityRefCS() throws RecognitionException {
EObject current = null;
EObject this_TypedRefCS_0 = null;
EObject lv_ownedMultiplicity_1_0 = null;
enterRule();
try {
// InternalQVTrelation.g:6106:2: ( (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) )
// InternalQVTrelation.g:6107:2: (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
{
// InternalQVTrelation.g:6107:2: (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
// InternalQVTrelation.g:6108:3: this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedMultiplicityRefCSAccess().getTypedRefCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_57);
this_TypedRefCS_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypedRefCS_0;
afterParserOrEnumRuleCall();
}
// InternalQVTrelation.g:6119:3: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
int alt165=2;
int LA165_0 = input.LA(1);
if ( (LA165_0==138) ) {
alt165=1;
}
switch (alt165) {
case 1 :
// InternalQVTrelation.g:6120:4: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
{
// InternalQVTrelation.g:6120:4: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
// InternalQVTrelation.g:6121:5: lv_ownedMultiplicity_1_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedMultiplicityRefCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedMultiplicity_1_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypedMultiplicityRefCSRule());
}
set(
current,
"ownedMultiplicity",
lv_ownedMultiplicity_1_0,
"org.eclipse.ocl.xtext.base.Base.MultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypedMultiplicityRefCS"
// $ANTLR start "entryRuleStructuralFeatureCS"
// InternalQVTrelation.g:6142:1: entryRuleStructuralFeatureCS returns [EObject current=null] : iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF ;
public final EObject entryRuleStructuralFeatureCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleStructuralFeatureCS = null;
try {
// InternalQVTrelation.g:6142:60: (iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF )
// InternalQVTrelation.g:6143:2: iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuralFeatureCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleStructuralFeatureCS=ruleStructuralFeatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleStructuralFeatureCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleStructuralFeatureCS"
// $ANTLR start "ruleStructuralFeatureCS"
// InternalQVTrelation.g:6149:1: ruleStructuralFeatureCS returns [EObject current=null] : (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS ) ;
public final EObject ruleStructuralFeatureCS() throws RecognitionException {
EObject current = null;
EObject this_AttributeCS_0 = null;
EObject this_ReferenceCS_1 = null;
enterRule();
try {
// InternalQVTrelation.g:6155:2: ( (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS ) )
// InternalQVTrelation.g:6156:2: (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS )
{
// InternalQVTrelation.g:6156:2: (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS )
int alt166=2;
switch ( input.LA(1) ) {
case 56:
{
switch ( input.LA(2) ) {
case 57:
{
int LA166_5 = input.LA(3);
if ( (LA166_5==58) ) {
alt166=1;
}
else if ( (LA166_5==84) ) {
alt166=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 166, 5, input);
throw nvae;
}
}
break;
case 84:
{
alt166=2;
}
break;
case 58:
{
alt166=1;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 166, 1, input);
throw nvae;
}
}
break;
case 57:
{
switch ( input.LA(2) ) {
case 56:
{
int LA166_6 = input.LA(3);
if ( (LA166_6==58) ) {
alt166=1;
}
else if ( (LA166_6==84) ) {
alt166=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 166, 6, input);
throw nvae;
}
}
break;
case 58:
{
alt166=1;
}
break;
case 84:
{
alt166=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 166, 2, input);
throw nvae;
}
}
break;
case 58:
{
alt166=1;
}
break;
case 84:
{
alt166=2;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 166, 0, input);
throw nvae;
}
switch (alt166) {
case 1 :
// InternalQVTrelation.g:6157:3: this_AttributeCS_0= ruleAttributeCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuralFeatureCSAccess().getAttributeCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_AttributeCS_0=ruleAttributeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AttributeCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:6169:3: this_ReferenceCS_1= ruleReferenceCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStructuralFeatureCSAccess().getReferenceCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_ReferenceCS_1=ruleReferenceCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_ReferenceCS_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleStructuralFeatureCS"
// $ANTLR start "entryRuleEnumerationLiteralName"
// InternalQVTrelation.g:6184:1: entryRuleEnumerationLiteralName returns [String current=null] : iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF ;
public final String entryRuleEnumerationLiteralName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEnumerationLiteralName = null;
try {
// InternalQVTrelation.g:6184:62: (iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF )
// InternalQVTrelation.g:6185:2: iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationLiteralNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEnumerationLiteralName=ruleEnumerationLiteralName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEnumerationLiteralName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEnumerationLiteralName"
// $ANTLR start "ruleEnumerationLiteralName"
// InternalQVTrelation.g:6191:1: ruleEnumerationLiteralName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName ;
public final AntlrDatatypeRuleToken ruleEnumerationLiteralName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_EssentialOCLUnrestrictedName_0 = null;
enterRule();
try {
// InternalQVTrelation.g:6197:2: (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName )
// InternalQVTrelation.g:6198:2: this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEnumerationLiteralNameAccess().getEssentialOCLUnrestrictedNameParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
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();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEnumerationLiteralName"
// $ANTLR start "entryRuleQVTbaseUnrestrictedName"
// InternalQVTrelation.g:6211:1: entryRuleQVTbaseUnrestrictedName returns [String current=null] : iv_ruleQVTbaseUnrestrictedName= ruleQVTbaseUnrestrictedName EOF ;
public final String entryRuleQVTbaseUnrestrictedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleQVTbaseUnrestrictedName = null;
try {
// InternalQVTrelation.g:6211:63: (iv_ruleQVTbaseUnrestrictedName= ruleQVTbaseUnrestrictedName EOF )
// InternalQVTrelation.g:6212:2: iv_ruleQVTbaseUnrestrictedName= ruleQVTbaseUnrestrictedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQVTbaseUnrestrictedNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleQVTbaseUnrestrictedName=ruleQVTbaseUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleQVTbaseUnrestrictedName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleQVTbaseUnrestrictedName"
// $ANTLR start "ruleQVTbaseUnrestrictedName"
// InternalQVTrelation.g:6218:1: ruleQVTbaseUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derived' | kw= 'derivation' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'initial' | kw= 'interface' | kw= 'literal' | kw= 'operation' | kw= 'ordered' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'resolve' | kw= 'serializable' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' ) ;
public final AntlrDatatypeRuleToken ruleQVTbaseUnrestrictedName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalQVTrelation.g:6224:2: ( (kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derived' | kw= 'derivation' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'initial' | kw= 'interface' | kw= 'literal' | kw= 'operation' | kw= 'ordered' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'resolve' | kw= 'serializable' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' ) )
// InternalQVTrelation.g:6225:2: (kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derived' | kw= 'derivation' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'initial' | kw= 'interface' | kw= 'literal' | kw= 'operation' | kw= 'ordered' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'resolve' | kw= 'serializable' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' )
{
// InternalQVTrelation.g:6225:2: (kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derived' | kw= 'derivation' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'initial' | kw= 'interface' | kw= 'literal' | kw= 'operation' | kw= 'ordered' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'resolve' | kw= 'serializable' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' )
int alt167=28;
switch ( input.LA(1) ) {
case 41:
{
alt167=1;
}
break;
case 58:
{
alt167=2;
}
break;
case 83:
{
alt167=3;
}
break;
case 90:
{
alt167=4;
}
break;
case 86:
{
alt167=5;
}
break;
case 76:
{
alt167=6;
}
break;
case 57:
{
alt167=7;
}
break;
case 59:
{
alt167=8;
}
break;
case 75:
{
alt167=9;
}
break;
case 79:
{
alt167=10;
}
break;
case 46:
{
alt167=11;
}
break;
case 61:
{
alt167=12;
}
break;
case 74:
{
alt167=13;
}
break;
case 91:
{
alt167=14;
}
break;
case 80:
{
alt167=15;
}
break;
case 81:
{
alt167=16;
}
break;
case 63:
{
alt167=17;
}
break;
case 37:
{
alt167=18;
}
break;
case 84:
{
alt167=19;
}
break;
case 65:
{
alt167=20;
}
break;
case 88:
{
alt167=21;
}
break;
case 77:
{
alt167=22;
}
break;
case 56:
{
alt167=23;
}
break;
case 82:
{
alt167=24;
}
break;
case 38:
{
alt167=25;
}
break;
case 68:
{
alt167=26;
}
break;
case 70:
{
alt167=27;
}
break;
case 72:
{
alt167=28;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 167, 0, input);
throw nvae;
}
switch (alt167) {
case 1 :
// InternalQVTrelation.g:6226:3: kw= 'abstract'
{
kw=(Token)match(input,41,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getAbstractKeyword_0());
}
}
break;
case 2 :
// InternalQVTrelation.g:6232:3: kw= 'attribute'
{
kw=(Token)match(input,58,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getAttributeKeyword_1());
}
}
break;
case 3 :
// InternalQVTrelation.g:6238:3: kw= 'body'
{
kw=(Token)match(input,83,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getBodyKeyword_2());
}
}
break;
case 4 :
// InternalQVTrelation.g:6244:3: kw= 'class'
{
kw=(Token)match(input,90,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getClassKeyword_3());
}
}
break;
case 5 :
// InternalQVTrelation.g:6250:3: kw= 'composes'
{
kw=(Token)match(input,86,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getComposesKeyword_4());
}
}
break;
case 6 :
// InternalQVTrelation.g:6256:3: kw= 'datatype'
{
kw=(Token)match(input,76,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getDatatypeKeyword_5());
}
}
break;
case 7 :
// InternalQVTrelation.g:6262:3: kw= 'definition'
{
kw=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getDefinitionKeyword_6());
}
}
break;
case 8 :
// InternalQVTrelation.g:6268:3: kw= 'derived'
{
kw=(Token)match(input,59,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getDerivedKeyword_7());
}
}
break;
case 9 :
// InternalQVTrelation.g:6274:3: kw= 'derivation'
{
kw=(Token)match(input,75,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getDerivationKeyword_8());
}
}
break;
case 10 :
// InternalQVTrelation.g:6280:3: kw= 'enum'
{
kw=(Token)match(input,79,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getEnumKeyword_9());
}
}
break;
case 11 :
// InternalQVTrelation.g:6286:3: kw= 'extends'
{
kw=(Token)match(input,46,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getExtendsKeyword_10());
}
}
break;
case 12 :
// InternalQVTrelation.g:6292:3: kw= 'id'
{
kw=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getIdKeyword_11());
}
}
break;
case 13 :
// InternalQVTrelation.g:6298:3: kw= 'initial'
{
kw=(Token)match(input,74,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getInitialKeyword_12());
}
}
break;
case 14 :
// InternalQVTrelation.g:6304:3: kw= 'interface'
{
kw=(Token)match(input,91,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getInterfaceKeyword_13());
}
}
break;
case 15 :
// InternalQVTrelation.g:6310:3: kw= 'literal'
{
kw=(Token)match(input,80,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getLiteralKeyword_14());
}
}
break;
case 16 :
// InternalQVTrelation.g:6316:3: kw= 'operation'
{
kw=(Token)match(input,81,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getOperationKeyword_15());
}
}
break;
case 17 :
// InternalQVTrelation.g:6322:3: kw= 'ordered'
{
kw=(Token)match(input,63,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getOrderedKeyword_16());
}
}
break;
case 18 :
// InternalQVTrelation.g:6328:3: kw= 'primitive'
{
kw=(Token)match(input,37,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getPrimitiveKeyword_17());
}
}
break;
case 19 :
// InternalQVTrelation.g:6334:3: kw= 'property'
{
kw=(Token)match(input,84,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getPropertyKeyword_18());
}
}
break;
case 20 :
// InternalQVTrelation.g:6340:3: kw= 'readonly'
{
kw=(Token)match(input,65,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getReadonlyKeyword_19());
}
}
break;
case 21 :
// InternalQVTrelation.g:6346:3: kw= 'resolve'
{
kw=(Token)match(input,88,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getResolveKeyword_20());
}
}
break;
case 22 :
// InternalQVTrelation.g:6352:3: kw= 'serializable'
{
kw=(Token)match(input,77,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getSerializableKeyword_21());
}
}
break;
case 23 :
// InternalQVTrelation.g:6358:3: kw= 'static'
{
kw=(Token)match(input,56,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getStaticKeyword_22());
}
}
break;
case 24 :
// InternalQVTrelation.g:6364:3: kw= 'throws'
{
kw=(Token)match(input,82,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getThrowsKeyword_23());
}
}
break;
case 25 :
// InternalQVTrelation.g:6370:3: kw= 'transient'
{
kw=(Token)match(input,38,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getTransientKeyword_24());
}
}
break;
case 26 :
// InternalQVTrelation.g:6376:3: kw= 'unique'
{
kw=(Token)match(input,68,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getUniqueKeyword_25());
}
}
break;
case 27 :
// InternalQVTrelation.g:6382:3: kw= 'unsettable'
{
kw=(Token)match(input,70,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getUnsettableKeyword_26());
}
}
break;
case 28 :
// InternalQVTrelation.g:6388:3: kw= 'volatile'
{
kw=(Token)match(input,72,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQVTbaseUnrestrictedNameAccess().getVolatileKeyword_27());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleQVTbaseUnrestrictedName"
// $ANTLR start "entryRuleSIGNED"
// InternalQVTrelation.g:6397:1: entryRuleSIGNED returns [String current=null] : iv_ruleSIGNED= ruleSIGNED EOF ;
public final String entryRuleSIGNED() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleSIGNED = null;
try {
// InternalQVTrelation.g:6397:46: (iv_ruleSIGNED= ruleSIGNED EOF )
// InternalQVTrelation.g:6398:2: iv_ruleSIGNED= ruleSIGNED EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSIGNEDRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleSIGNED=ruleSIGNED();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSIGNED.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSIGNED"
// $ANTLR start "ruleSIGNED"
// InternalQVTrelation.g:6404:1: ruleSIGNED returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ;
public final AntlrDatatypeRuleToken ruleSIGNED() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
Token this_INT_1=null;
enterRule();
try {
// InternalQVTrelation.g:6410:2: ( ( (kw= '-' )? this_INT_1= RULE_INT ) )
// InternalQVTrelation.g:6411:2: ( (kw= '-' )? this_INT_1= RULE_INT )
{
// InternalQVTrelation.g:6411:2: ( (kw= '-' )? this_INT_1= RULE_INT )
// InternalQVTrelation.g:6412:3: (kw= '-' )? this_INT_1= RULE_INT
{
// InternalQVTrelation.g:6412:3: (kw= '-' )?
int alt168=2;
int LA168_0 = input.LA(1);
if ( (LA168_0==92) ) {
alt168=1;
}
switch (alt168) {
case 1 :
// InternalQVTrelation.g:6413:4: kw= '-'
{
kw=(Token)match(input,92,FollowSets000.FOLLOW_104); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getSIGNEDAccess().getHyphenMinusKeyword_0());
}
}
break;
}
this_INT_1=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_1);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_1, grammarAccess.getSIGNEDAccess().getINTTerminalRuleCall_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSIGNED"
// $ANTLR start "entryRuleEssentialOCLUnaryOperatorName"
// InternalQVTrelation.g:6430:1: entryRuleEssentialOCLUnaryOperatorName returns [String current=null] : iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF ;
public final String entryRuleEssentialOCLUnaryOperatorName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEssentialOCLUnaryOperatorName = null;
try {
// InternalQVTrelation.g:6430:69: (iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF )
// InternalQVTrelation.g:6431:2: iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLUnaryOperatorNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEssentialOCLUnaryOperatorName=ruleEssentialOCLUnaryOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEssentialOCLUnaryOperatorName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEssentialOCLUnaryOperatorName"
// $ANTLR start "ruleEssentialOCLUnaryOperatorName"
// InternalQVTrelation.g:6437:1: ruleEssentialOCLUnaryOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '-' | kw= 'not' | kw= 'not2' ) ;
public final AntlrDatatypeRuleToken ruleEssentialOCLUnaryOperatorName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalQVTrelation.g:6443:2: ( (kw= '-' | kw= 'not' | kw= 'not2' ) )
// InternalQVTrelation.g:6444:2: (kw= '-' | kw= 'not' | kw= 'not2' )
{
// InternalQVTrelation.g:6444:2: (kw= '-' | kw= 'not' | kw= 'not2' )
int alt169=3;
switch ( input.LA(1) ) {
case 92:
{
alt169=1;
}
break;
case 93:
{
alt169=2;
}
break;
case 94:
{
alt169=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 169, 0, input);
throw nvae;
}
switch (alt169) {
case 1 :
// InternalQVTrelation.g:6445:3: kw= '-'
{
kw=(Token)match(input,92,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLUnaryOperatorNameAccess().getHyphenMinusKeyword_0());
}
}
break;
case 2 :
// InternalQVTrelation.g:6451:3: kw= 'not'
{
kw=(Token)match(input,93,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLUnaryOperatorNameAccess().getNotKeyword_1());
}
}
break;
case 3 :
// InternalQVTrelation.g:6457:3: kw= 'not2'
{
kw=(Token)match(input,94,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLUnaryOperatorNameAccess().getNot2Keyword_2());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEssentialOCLUnaryOperatorName"
// $ANTLR start "entryRuleEssentialOCLInfixOperatorName"
// InternalQVTrelation.g:6466:1: entryRuleEssentialOCLInfixOperatorName returns [String current=null] : iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF ;
public final String entryRuleEssentialOCLInfixOperatorName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEssentialOCLInfixOperatorName = null;
try {
// InternalQVTrelation.g:6466:69: (iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF )
// InternalQVTrelation.g:6467:2: iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLInfixOperatorNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEssentialOCLInfixOperatorName=ruleEssentialOCLInfixOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEssentialOCLInfixOperatorName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEssentialOCLInfixOperatorName"
// $ANTLR start "ruleEssentialOCLInfixOperatorName"
// InternalQVTrelation.g:6473:1: ruleEssentialOCLInfixOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'and2' | kw= 'implies' | kw= 'implies2' | kw= 'or' | kw= 'or2' | kw= 'xor' | kw= 'xor2' ) ;
public final AntlrDatatypeRuleToken ruleEssentialOCLInfixOperatorName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalQVTrelation.g:6479:2: ( (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'and2' | kw= 'implies' | kw= 'implies2' | kw= 'or' | kw= 'or2' | kw= 'xor' | kw= 'xor2' ) )
// InternalQVTrelation.g:6480:2: (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'and2' | kw= 'implies' | kw= 'implies2' | kw= 'or' | kw= 'or2' | kw= 'xor' | kw= 'xor2' )
{
// InternalQVTrelation.g:6480:2: (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'and2' | kw= 'implies' | kw= 'implies2' | kw= 'or' | kw= 'or2' | kw= 'xor' | kw= 'xor2' )
int alt170=18;
switch ( input.LA(1) ) {
case 48:
{
alt170=1;
}
break;
case 95:
{
alt170=2;
}
break;
case 96:
{
alt170=3;
}
break;
case 92:
{
alt170=4;
}
break;
case 97:
{
alt170=5;
}
break;
case 98:
{
alt170=6;
}
break;
case 99:
{
alt170=7;
}
break;
case 100:
{
alt170=8;
}
break;
case 19:
{
alt170=9;
}
break;
case 101:
{
alt170=10;
}
break;
case 102:
{
alt170=11;
}
break;
case 103:
{
alt170=12;
}
break;
case 104:
{
alt170=13;
}
break;
case 105:
{
alt170=14;
}
break;
case 106:
{
alt170=15;
}
break;
case 107:
{
alt170=16;
}
break;
case 108:
{
alt170=17;
}
break;
case 109:
{
alt170=18;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 170, 0, input);
throw nvae;
}
switch (alt170) {
case 1 :
// InternalQVTrelation.g:6481:3: kw= '*'
{
kw=(Token)match(input,48,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getAsteriskKeyword_0());
}
}
break;
case 2 :
// InternalQVTrelation.g:6487:3: kw= '/'
{
kw=(Token)match(input,95,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getSolidusKeyword_1());
}
}
break;
case 3 :
// InternalQVTrelation.g:6493:3: kw= '+'
{
kw=(Token)match(input,96,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getPlusSignKeyword_2());
}
}
break;
case 4 :
// InternalQVTrelation.g:6499:3: kw= '-'
{
kw=(Token)match(input,92,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getHyphenMinusKeyword_3());
}
}
break;
case 5 :
// InternalQVTrelation.g:6505:3: kw= '>'
{
kw=(Token)match(input,97,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getGreaterThanSignKeyword_4());
}
}
break;
case 6 :
// InternalQVTrelation.g:6511:3: kw= '<'
{
kw=(Token)match(input,98,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignKeyword_5());
}
}
break;
case 7 :
// InternalQVTrelation.g:6517:3: kw= '>='
{
kw=(Token)match(input,99,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getGreaterThanSignEqualsSignKeyword_6());
}
}
break;
case 8 :
// InternalQVTrelation.g:6523:3: kw= '<='
{
kw=(Token)match(input,100,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignEqualsSignKeyword_7());
}
}
break;
case 9 :
// InternalQVTrelation.g:6529:3: kw= '='
{
kw=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getEqualsSignKeyword_8());
}
}
break;
case 10 :
// InternalQVTrelation.g:6535:3: kw= '<>'
{
kw=(Token)match(input,101,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignGreaterThanSignKeyword_9());
}
}
break;
case 11 :
// InternalQVTrelation.g:6541:3: kw= 'and'
{
kw=(Token)match(input,102,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getAndKeyword_10());
}
}
break;
case 12 :
// InternalQVTrelation.g:6547:3: kw= 'and2'
{
kw=(Token)match(input,103,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getAnd2Keyword_11());
}
}
break;
case 13 :
// InternalQVTrelation.g:6553:3: kw= 'implies'
{
kw=(Token)match(input,104,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getImpliesKeyword_12());
}
}
break;
case 14 :
// InternalQVTrelation.g:6559:3: kw= 'implies2'
{
kw=(Token)match(input,105,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getImplies2Keyword_13());
}
}
break;
case 15 :
// InternalQVTrelation.g:6565:3: kw= 'or'
{
kw=(Token)match(input,106,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getOrKeyword_14());
}
}
break;
case 16 :
// InternalQVTrelation.g:6571:3: kw= 'or2'
{
kw=(Token)match(input,107,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getOr2Keyword_15());
}
}
break;
case 17 :
// InternalQVTrelation.g:6577:3: kw= 'xor'
{
kw=(Token)match(input,108,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getXorKeyword_16());
}
}
break;
case 18 :
// InternalQVTrelation.g:6583:3: kw= 'xor2'
{
kw=(Token)match(input,109,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getXor2Keyword_17());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEssentialOCLInfixOperatorName"
// $ANTLR start "entryRuleEssentialOCLNavigationOperatorName"
// InternalQVTrelation.g:6592:1: entryRuleEssentialOCLNavigationOperatorName returns [String current=null] : iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF ;
public final String entryRuleEssentialOCLNavigationOperatorName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEssentialOCLNavigationOperatorName = null;
try {
// InternalQVTrelation.g:6592:74: (iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF )
// InternalQVTrelation.g:6593:2: iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLNavigationOperatorNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEssentialOCLNavigationOperatorName=ruleEssentialOCLNavigationOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEssentialOCLNavigationOperatorName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEssentialOCLNavigationOperatorName"
// $ANTLR start "ruleEssentialOCLNavigationOperatorName"
// InternalQVTrelation.g:6599:1: ruleEssentialOCLNavigationOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' ) ;
public final AntlrDatatypeRuleToken ruleEssentialOCLNavigationOperatorName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalQVTrelation.g:6605:2: ( (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' ) )
// InternalQVTrelation.g:6606:2: (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' )
{
// InternalQVTrelation.g:6606:2: (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' )
int alt171=4;
switch ( input.LA(1) ) {
case 110:
{
alt171=1;
}
break;
case 111:
{
alt171=2;
}
break;
case 112:
{
alt171=3;
}
break;
case 113:
{
alt171=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 171, 0, input);
throw nvae;
}
switch (alt171) {
case 1 :
// InternalQVTrelation.g:6607:3: kw= '.'
{
kw=(Token)match(input,110,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getFullStopKeyword_0());
}
}
break;
case 2 :
// InternalQVTrelation.g:6613:3: kw= '->'
{
kw=(Token)match(input,111,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getHyphenMinusGreaterThanSignKeyword_1());
}
}
break;
case 3 :
// InternalQVTrelation.g:6619:3: kw= '?.'
{
kw=(Token)match(input,112,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getQuestionMarkFullStopKeyword_2());
}
}
break;
case 4 :
// InternalQVTrelation.g:6625:3: kw= '?->'
{
kw=(Token)match(input,113,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getQuestionMarkHyphenMinusGreaterThanSignKeyword_3());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEssentialOCLNavigationOperatorName"
// $ANTLR start "entryRuleBinaryOperatorName"
// InternalQVTrelation.g:6634:1: entryRuleBinaryOperatorName returns [String current=null] : iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF ;
public final String entryRuleBinaryOperatorName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleBinaryOperatorName = null;
try {
// InternalQVTrelation.g:6634:58: (iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF )
// InternalQVTrelation.g:6635:2: iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBinaryOperatorNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleBinaryOperatorName=ruleBinaryOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleBinaryOperatorName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBinaryOperatorName"
// $ANTLR start "ruleBinaryOperatorName"
// InternalQVTrelation.g:6641:1: ruleBinaryOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName ) ;
public final AntlrDatatypeRuleToken ruleBinaryOperatorName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_InfixOperatorName_0 = null;
AntlrDatatypeRuleToken this_NavigationOperatorName_1 = null;
enterRule();
try {
// InternalQVTrelation.g:6647:2: ( (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName ) )
// InternalQVTrelation.g:6648:2: (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName )
{
// InternalQVTrelation.g:6648:2: (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName )
int alt172=2;
int LA172_0 = input.LA(1);
if ( (LA172_0==19||LA172_0==48||LA172_0==92||(LA172_0>=95 && LA172_0<=109)) ) {
alt172=1;
}
else if ( ((LA172_0>=110 && LA172_0<=113)) ) {
alt172=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 172, 0, input);
throw nvae;
}
switch (alt172) {
case 1 :
// InternalQVTrelation.g:6649:3: this_InfixOperatorName_0= ruleInfixOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBinaryOperatorNameAccess().getInfixOperatorNameParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_InfixOperatorName_0=ruleInfixOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_InfixOperatorName_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:6660:3: this_NavigationOperatorName_1= ruleNavigationOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBinaryOperatorNameAccess().getNavigationOperatorNameParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_NavigationOperatorName_1=ruleNavigationOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_NavigationOperatorName_1);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBinaryOperatorName"
// $ANTLR start "entryRuleInfixOperatorName"
// InternalQVTrelation.g:6674:1: entryRuleInfixOperatorName returns [String current=null] : iv_ruleInfixOperatorName= ruleInfixOperatorName EOF ;
public final String entryRuleInfixOperatorName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleInfixOperatorName = null;
try {
// InternalQVTrelation.g:6674:57: (iv_ruleInfixOperatorName= ruleInfixOperatorName EOF )
// InternalQVTrelation.g:6675:2: iv_ruleInfixOperatorName= ruleInfixOperatorName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInfixOperatorNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleInfixOperatorName=ruleInfixOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleInfixOperatorName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInfixOperatorName"
// $ANTLR start "ruleInfixOperatorName"
// InternalQVTrelation.g:6681:1: ruleInfixOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLInfixOperatorName_0= ruleEssentialOCLInfixOperatorName ;
public final AntlrDatatypeRuleToken ruleInfixOperatorName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_EssentialOCLInfixOperatorName_0 = null;
enterRule();
try {
// InternalQVTrelation.g:6687:2: (this_EssentialOCLInfixOperatorName_0= ruleEssentialOCLInfixOperatorName )
// InternalQVTrelation.g:6688:2: this_EssentialOCLInfixOperatorName_0= ruleEssentialOCLInfixOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInfixOperatorNameAccess().getEssentialOCLInfixOperatorNameParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
this_EssentialOCLInfixOperatorName_0=ruleEssentialOCLInfixOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_EssentialOCLInfixOperatorName_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleInfixOperatorName"
// $ANTLR start "entryRuleNavigationOperatorName"
// InternalQVTrelation.g:6701:1: entryRuleNavigationOperatorName returns [String current=null] : iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF ;
public final String entryRuleNavigationOperatorName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleNavigationOperatorName = null;
try {
// InternalQVTrelation.g:6701:62: (iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF )
// InternalQVTrelation.g:6702:2: iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigationOperatorNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNavigationOperatorName=ruleNavigationOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNavigationOperatorName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNavigationOperatorName"
// $ANTLR start "ruleNavigationOperatorName"
// InternalQVTrelation.g:6708:1: ruleNavigationOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLNavigationOperatorName_0= ruleEssentialOCLNavigationOperatorName ;
public final AntlrDatatypeRuleToken ruleNavigationOperatorName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_EssentialOCLNavigationOperatorName_0 = null;
enterRule();
try {
// InternalQVTrelation.g:6714:2: (this_EssentialOCLNavigationOperatorName_0= ruleEssentialOCLNavigationOperatorName )
// InternalQVTrelation.g:6715:2: this_EssentialOCLNavigationOperatorName_0= ruleEssentialOCLNavigationOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigationOperatorNameAccess().getEssentialOCLNavigationOperatorNameParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
this_EssentialOCLNavigationOperatorName_0=ruleEssentialOCLNavigationOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_EssentialOCLNavigationOperatorName_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNavigationOperatorName"
// $ANTLR start "entryRuleUnaryOperatorName"
// InternalQVTrelation.g:6728:1: entryRuleUnaryOperatorName returns [String current=null] : iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF ;
public final String entryRuleUnaryOperatorName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleUnaryOperatorName = null;
try {
// InternalQVTrelation.g:6728:57: (iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF )
// InternalQVTrelation.g:6729:2: iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnaryOperatorNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleUnaryOperatorName=ruleUnaryOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleUnaryOperatorName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleUnaryOperatorName"
// $ANTLR start "ruleUnaryOperatorName"
// InternalQVTrelation.g:6735:1: ruleUnaryOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLUnaryOperatorName_0= ruleEssentialOCLUnaryOperatorName ;
public final AntlrDatatypeRuleToken ruleUnaryOperatorName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_EssentialOCLUnaryOperatorName_0 = null;
enterRule();
try {
// InternalQVTrelation.g:6741:2: (this_EssentialOCLUnaryOperatorName_0= ruleEssentialOCLUnaryOperatorName )
// InternalQVTrelation.g:6742:2: this_EssentialOCLUnaryOperatorName_0= ruleEssentialOCLUnaryOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnaryOperatorNameAccess().getEssentialOCLUnaryOperatorNameParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
this_EssentialOCLUnaryOperatorName_0=ruleEssentialOCLUnaryOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_EssentialOCLUnaryOperatorName_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleUnaryOperatorName"
// $ANTLR start "entryRuleEssentialOCLUnrestrictedName"
// InternalQVTrelation.g:6755:1: entryRuleEssentialOCLUnrestrictedName returns [String current=null] : iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF ;
public final String entryRuleEssentialOCLUnrestrictedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEssentialOCLUnrestrictedName = null;
try {
// InternalQVTrelation.g:6755:68: (iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF )
// InternalQVTrelation.g:6756:2: iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLUnrestrictedNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEssentialOCLUnrestrictedName=ruleEssentialOCLUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEssentialOCLUnrestrictedName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEssentialOCLUnrestrictedName"
// $ANTLR start "ruleEssentialOCLUnrestrictedName"
// InternalQVTrelation.g:6762: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 {
// InternalQVTrelation.g:6768:2: (this_Identifier_0= ruleIdentifier )
// InternalQVTrelation.g:6769:2: this_Identifier_0= ruleIdentifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLUnrestrictedNameAccess().getIdentifierParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
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"
// InternalQVTrelation.g:6782:1: entryRuleEssentialOCLUnreservedName returns [String current=null] : iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF ;
public final String entryRuleEssentialOCLUnreservedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEssentialOCLUnreservedName = null;
try {
// InternalQVTrelation.g:6782:66: (iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF )
// InternalQVTrelation.g:6783:2: iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleEssentialOCLUnreservedName=ruleEssentialOCLUnreservedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEssentialOCLUnreservedName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEssentialOCLUnreservedName"
// $ANTLR start "ruleEssentialOCLUnreservedName"
// InternalQVTrelation.g:6789:1: ruleEssentialOCLUnreservedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Map' | 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 {
// InternalQVTrelation.g:6795:2: ( (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Map' | kw= 'Tuple' ) )
// InternalQVTrelation.g:6796:2: (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Map' | kw= 'Tuple' )
{
// InternalQVTrelation.g:6796:2: (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Map' | kw= 'Tuple' )
int alt173=5;
switch ( input.LA(1) ) {
case RULE_SIMPLE_ID:
case RULE_ESCAPED_ID:
case 17:
case 25:
case 26:
case 27:
case 28:
case 29:
case 30:
case 31:
case 32:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 45:
case 46:
case 47:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 61:
case 63:
case 65:
case 68:
case 70:
case 72:
case 74:
case 75:
case 76:
case 77:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 86:
case 88:
case 90:
case 91:
{
alt173=1;
}
break;
case 124:
case 125:
case 126:
case 127:
case 128:
{
alt173=2;
}
break;
case 116:
case 117:
case 118:
case 119:
case 120:
case 121:
case 122:
case 123:
{
alt173=3;
}
break;
case 114:
{
alt173=4;
}
break;
case 115:
{
alt173=5;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 173, 0, input);
throw nvae;
}
switch (alt173) {
case 1 :
// InternalQVTrelation.g:6797:3: this_UnrestrictedName_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getUnrestrictedNameParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
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 :
// InternalQVTrelation.g:6808:3: this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getCollectionTypeIdentifierParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
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 :
// InternalQVTrelation.g:6819:3: this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getPrimitiveTypeIdentifierParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
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 :
// InternalQVTrelation.g:6830:3: kw= 'Map'
{
kw=(Token)match(input,114,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLUnreservedNameAccess().getMapKeyword_3());
}
}
break;
case 5 :
// InternalQVTrelation.g:6836:3: kw= 'Tuple'
{
kw=(Token)match(input,115,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEssentialOCLUnreservedNameAccess().getTupleKeyword_4());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEssentialOCLUnreservedName"
// $ANTLR start "entryRuleUnreservedName"
// InternalQVTrelation.g:6845:1: entryRuleUnreservedName returns [String current=null] : iv_ruleUnreservedName= ruleUnreservedName EOF ;
public final String entryRuleUnreservedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleUnreservedName = null;
try {
// InternalQVTrelation.g:6845:54: (iv_ruleUnreservedName= ruleUnreservedName EOF )
// InternalQVTrelation.g:6846:2: iv_ruleUnreservedName= ruleUnreservedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnreservedNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleUnreservedName=ruleUnreservedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleUnreservedName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleUnreservedName"
// $ANTLR start "ruleUnreservedName"
// InternalQVTrelation.g:6852: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 {
// InternalQVTrelation.g:6858:2: (this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName )
// InternalQVTrelation.g:6859:2: this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnreservedNameAccess().getEssentialOCLUnreservedNameParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
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 "entryRuleURIPathNameCS"
// InternalQVTrelation.g:6872:1: entryRuleURIPathNameCS returns [EObject current=null] : iv_ruleURIPathNameCS= ruleURIPathNameCS EOF ;
public final EObject entryRuleURIPathNameCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleURIPathNameCS = null;
try {
// InternalQVTrelation.g:6872:54: (iv_ruleURIPathNameCS= ruleURIPathNameCS EOF )
// InternalQVTrelation.g:6873:2: iv_ruleURIPathNameCS= ruleURIPathNameCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getURIPathNameCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleURIPathNameCS=ruleURIPathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleURIPathNameCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleURIPathNameCS"
// $ANTLR start "ruleURIPathNameCS"
// InternalQVTrelation.g:6879:1: ruleURIPathNameCS returns [EObject current=null] : ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) ;
public final EObject ruleURIPathNameCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_ownedPathElements_0_0 = null;
EObject lv_ownedPathElements_2_0 = null;
enterRule();
try {
// InternalQVTrelation.g:6885:2: ( ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) )
// InternalQVTrelation.g:6886:2: ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
{
// InternalQVTrelation.g:6886:2: ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
// InternalQVTrelation.g:6887:3: ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
{
// InternalQVTrelation.g:6887:3: ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) )
// InternalQVTrelation.g:6888:4: (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS )
{
// InternalQVTrelation.g:6888:4: (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS )
// InternalQVTrelation.g:6889:5: lv_ownedPathElements_0_0= ruleURIFirstPathElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getURIPathNameCSAccess().getOwnedPathElementsURIFirstPathElementCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_105);
lv_ownedPathElements_0_0=ruleURIFirstPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getURIPathNameCSRule());
}
add(
current,
"ownedPathElements",
lv_ownedPathElements_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.URIFirstPathElementCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:6906:3: (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
loop174:
do {
int alt174=2;
int LA174_0 = input.LA(1);
if ( (LA174_0==44) ) {
int LA174_1 = input.LA(2);
if ( ((LA174_1>=RULE_SIMPLE_ID && LA174_1<=RULE_ESCAPED_ID)||LA174_1==17||(LA174_1>=25 && LA174_1<=32)||(LA174_1>=35 && LA174_1<=43)||(LA174_1>=45 && LA174_1<=47)||(LA174_1>=49 && LA174_1<=59)||LA174_1==61||LA174_1==63||LA174_1==65||LA174_1==68||LA174_1==70||LA174_1==72||(LA174_1>=74 && LA174_1<=77)||(LA174_1>=79 && LA174_1<=84)||LA174_1==86||LA174_1==88||(LA174_1>=90 && LA174_1<=91)||(LA174_1>=114 && LA174_1<=128)) ) {
alt174=1;
}
}
switch (alt174) {
case 1 :
// InternalQVTrelation.g:6907:4: otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
{
otherlv_1=(Token)match(input,44,FollowSets000.FOLLOW_106); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getURIPathNameCSAccess().getColonColonKeyword_1_0());
}
// InternalQVTrelation.g:6911:4: ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
// InternalQVTrelation.g:6912:5: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
{
// InternalQVTrelation.g:6912:5: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
// InternalQVTrelation.g:6913:6: lv_ownedPathElements_2_0= ruleNextPathElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getURIPathNameCSAccess().getOwnedPathElementsNextPathElementCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_105);
lv_ownedPathElements_2_0=ruleNextPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getURIPathNameCSRule());
}
add(
current,
"ownedPathElements",
lv_ownedPathElements_2_0,
"org.eclipse.ocl.xtext.base.Base.NextPathElementCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop174;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleURIPathNameCS"
// $ANTLR start "entryRuleURIFirstPathElementCS"
// InternalQVTrelation.g:6935:1: entryRuleURIFirstPathElementCS returns [EObject current=null] : iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF ;
public final EObject entryRuleURIFirstPathElementCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleURIFirstPathElementCS = null;
try {
// InternalQVTrelation.g:6935:62: (iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF )
// InternalQVTrelation.g:6936:2: iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getURIFirstPathElementCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleURIFirstPathElementCS=ruleURIFirstPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleURIFirstPathElementCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleURIFirstPathElementCS"
// $ANTLR start "ruleURIFirstPathElementCS"
// InternalQVTrelation.g:6942:1: ruleURIFirstPathElementCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) ) ;
public final EObject ruleURIFirstPathElementCS() throws RecognitionException {
EObject current = null;
enterRule();
try {
// InternalQVTrelation.g:6948:2: ( ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) ) )
// InternalQVTrelation.g:6949:2: ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) )
{
// InternalQVTrelation.g:6949:2: ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) )
int alt175=2;
int LA175_0 = input.LA(1);
if ( ((LA175_0>=RULE_SIMPLE_ID && LA175_0<=RULE_ESCAPED_ID)||LA175_0==17||(LA175_0>=25 && LA175_0<=32)||(LA175_0>=35 && LA175_0<=43)||(LA175_0>=45 && LA175_0<=47)||(LA175_0>=49 && LA175_0<=59)||LA175_0==61||LA175_0==63||LA175_0==65||LA175_0==68||LA175_0==70||LA175_0==72||(LA175_0>=74 && LA175_0<=77)||(LA175_0>=79 && LA175_0<=84)||LA175_0==86||LA175_0==88||(LA175_0>=90 && LA175_0<=91)) ) {
alt175=1;
}
else if ( (LA175_0==RULE_SINGLE_QUOTED_STRING) ) {
alt175=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 175, 0, input);
throw nvae;
}
switch (alt175) {
case 1 :
// InternalQVTrelation.g:6950:3: ( ( ruleUnrestrictedName ) )
{
// InternalQVTrelation.g:6950:3: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:6951:4: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:6951:4: ( ruleUnrestrictedName )
// InternalQVTrelation.g:6952:5: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getURIFirstPathElementCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getURIFirstPathElementCSAccess().getReferredElementNamedElementCrossReference_0_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:6970:3: ( () ( ( ruleURI ) ) )
{
// InternalQVTrelation.g:6970:3: ( () ( ( ruleURI ) ) )
// InternalQVTrelation.g:6971:4: () ( ( ruleURI ) )
{
// InternalQVTrelation.g:6971:4: ()
// InternalQVTrelation.g:6972:5:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getURIFirstPathElementCSAccess().getPathElementWithURICSAction_1_0(),
current);
}
}
// InternalQVTrelation.g:6981:4: ( ( ruleURI ) )
// InternalQVTrelation.g:6982:5: ( ruleURI )
{
// InternalQVTrelation.g:6982:5: ( ruleURI )
// InternalQVTrelation.g:6983:6: ruleURI
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getURIFirstPathElementCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getURIFirstPathElementCSAccess().getReferredElementNamespaceCrossReference_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleURI();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleURIFirstPathElementCS"
// $ANTLR start "entryRulePrimitiveTypeIdentifier"
// InternalQVTrelation.g:7005:1: entryRulePrimitiveTypeIdentifier returns [String current=null] : iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF ;
public final String entryRulePrimitiveTypeIdentifier() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_rulePrimitiveTypeIdentifier = null;
try {
// InternalQVTrelation.g:7005:63: (iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF )
// InternalQVTrelation.g:7006:2: iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveTypeIdentifierRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePrimitiveTypeIdentifier=rulePrimitiveTypeIdentifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrimitiveTypeIdentifier.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrimitiveTypeIdentifier"
// $ANTLR start "rulePrimitiveTypeIdentifier"
// InternalQVTrelation.g:7012: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 {
// InternalQVTrelation.g:7018:2: ( (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' ) )
// InternalQVTrelation.g:7019:2: (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' )
{
// InternalQVTrelation.g:7019:2: (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' )
int alt176=8;
switch ( input.LA(1) ) {
case 116:
{
alt176=1;
}
break;
case 117:
{
alt176=2;
}
break;
case 118:
{
alt176=3;
}
break;
case 119:
{
alt176=4;
}
break;
case 120:
{
alt176=5;
}
break;
case 121:
{
alt176=6;
}
break;
case 122:
{
alt176=7;
}
break;
case 123:
{
alt176=8;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 176, 0, input);
throw nvae;
}
switch (alt176) {
case 1 :
// InternalQVTrelation.g:7020:3: kw= 'Boolean'
{
kw=(Token)match(input,116,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getBooleanKeyword_0());
}
}
break;
case 2 :
// InternalQVTrelation.g:7026:3: kw= 'Integer'
{
kw=(Token)match(input,117,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getIntegerKeyword_1());
}
}
break;
case 3 :
// InternalQVTrelation.g:7032:3: kw= 'Real'
{
kw=(Token)match(input,118,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getRealKeyword_2());
}
}
break;
case 4 :
// InternalQVTrelation.g:7038:3: kw= 'String'
{
kw=(Token)match(input,119,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getStringKeyword_3());
}
}
break;
case 5 :
// InternalQVTrelation.g:7044:3: kw= 'UnlimitedNatural'
{
kw=(Token)match(input,120,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getUnlimitedNaturalKeyword_4());
}
}
break;
case 6 :
// InternalQVTrelation.g:7050:3: kw= 'OclAny'
{
kw=(Token)match(input,121,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getOclAnyKeyword_5());
}
}
break;
case 7 :
// InternalQVTrelation.g:7056:3: kw= 'OclInvalid'
{
kw=(Token)match(input,122,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getOclInvalidKeyword_6());
}
}
break;
case 8 :
// InternalQVTrelation.g:7062:3: kw= 'OclVoid'
{
kw=(Token)match(input,123,FollowSets000.FOLLOW_2); 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"
// InternalQVTrelation.g:7071:1: entryRulePrimitiveTypeCS returns [EObject current=null] : iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF ;
public final EObject entryRulePrimitiveTypeCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePrimitiveTypeCS = null;
try {
// InternalQVTrelation.g:7071:56: (iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF )
// InternalQVTrelation.g:7072:2: iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveTypeCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePrimitiveTypeCS=rulePrimitiveTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrimitiveTypeCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrimitiveTypeCS"
// $ANTLR start "rulePrimitiveTypeCS"
// InternalQVTrelation.g:7078: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 {
// InternalQVTrelation.g:7084:2: ( ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) ) )
// InternalQVTrelation.g:7085:2: ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) )
{
// InternalQVTrelation.g:7085:2: ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) )
// InternalQVTrelation.g:7086:3: (lv_name_0_0= rulePrimitiveTypeIdentifier )
{
// InternalQVTrelation.g:7086:3: (lv_name_0_0= rulePrimitiveTypeIdentifier )
// InternalQVTrelation.g:7087:4: lv_name_0_0= rulePrimitiveTypeIdentifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveTypeCSAccess().getNamePrimitiveTypeIdentifierParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PrimitiveTypeIdentifier");
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrimitiveTypeCS"
// $ANTLR start "entryRuleCollectionTypeIdentifier"
// InternalQVTrelation.g:7107:1: entryRuleCollectionTypeIdentifier returns [String current=null] : iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF ;
public final String entryRuleCollectionTypeIdentifier() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleCollectionTypeIdentifier = null;
try {
// InternalQVTrelation.g:7107:64: (iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF )
// InternalQVTrelation.g:7108:2: iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTypeIdentifierRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCollectionTypeIdentifier=ruleCollectionTypeIdentifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCollectionTypeIdentifier.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCollectionTypeIdentifier"
// $ANTLR start "ruleCollectionTypeIdentifier"
// InternalQVTrelation.g:7114: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 {
// InternalQVTrelation.g:7120:2: ( (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' ) )
// InternalQVTrelation.g:7121:2: (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' )
{
// InternalQVTrelation.g:7121:2: (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' )
int alt177=5;
switch ( input.LA(1) ) {
case 124:
{
alt177=1;
}
break;
case 125:
{
alt177=2;
}
break;
case 126:
{
alt177=3;
}
break;
case 127:
{
alt177=4;
}
break;
case 128:
{
alt177=5;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 177, 0, input);
throw nvae;
}
switch (alt177) {
case 1 :
// InternalQVTrelation.g:7122:3: kw= 'Set'
{
kw=(Token)match(input,124,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getSetKeyword_0());
}
}
break;
case 2 :
// InternalQVTrelation.g:7128:3: kw= 'Bag'
{
kw=(Token)match(input,125,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getBagKeyword_1());
}
}
break;
case 3 :
// InternalQVTrelation.g:7134:3: kw= 'Sequence'
{
kw=(Token)match(input,126,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getSequenceKeyword_2());
}
}
break;
case 4 :
// InternalQVTrelation.g:7140:3: kw= 'Collection'
{
kw=(Token)match(input,127,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getCollectionKeyword_3());
}
}
break;
case 5 :
// InternalQVTrelation.g:7146:3: kw= 'OrderedSet'
{
kw=(Token)match(input,128,FollowSets000.FOLLOW_2); 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"
// InternalQVTrelation.g:7155:1: entryRuleCollectionTypeCS returns [EObject current=null] : iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF ;
public final EObject entryRuleCollectionTypeCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCollectionTypeCS = null;
try {
// InternalQVTrelation.g:7155:57: (iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF )
// InternalQVTrelation.g:7156:2: iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTypeCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCollectionTypeCS=ruleCollectionTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCollectionTypeCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCollectionTypeCS"
// $ANTLR start "ruleCollectionTypeCS"
// InternalQVTrelation.g:7162:1: ruleCollectionTypeCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) ) ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )? otherlv_4= ')' )? ) ;
public final EObject ruleCollectionTypeCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_4=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedType_2_0 = null;
EObject lv_ownedCollectionMultiplicity_3_0 = null;
enterRule();
try {
// InternalQVTrelation.g:7168:2: ( ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) ) ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )? otherlv_4= ')' )? ) )
// InternalQVTrelation.g:7169:2: ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) ) ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )? otherlv_4= ')' )? )
{
// InternalQVTrelation.g:7169:2: ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) ) ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )? otherlv_4= ')' )? )
// InternalQVTrelation.g:7170:3: ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) ) ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )? otherlv_4= ')' )?
{
// InternalQVTrelation.g:7170:3: ( (lv_name_0_0= ruleCollectionTypeIdentifier ) )
// InternalQVTrelation.g:7171:4: (lv_name_0_0= ruleCollectionTypeIdentifier )
{
// InternalQVTrelation.g:7171:4: (lv_name_0_0= ruleCollectionTypeIdentifier )
// InternalQVTrelation.g:7172:5: lv_name_0_0= ruleCollectionTypeIdentifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTypeCSAccess().getNameCollectionTypeIdentifierParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_107);
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CollectionTypeIdentifier");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:7189:3: (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) ) ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )? otherlv_4= ')' )?
int alt179=2;
int LA179_0 = input.LA(1);
if ( (LA179_0==33) ) {
alt179=1;
}
switch (alt179) {
case 1 :
// InternalQVTrelation.g:7190:4: otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) ) ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )? otherlv_4= ')'
{
otherlv_1=(Token)match(input,33,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCollectionTypeCSAccess().getLeftParenthesisKeyword_1_0());
}
// InternalQVTrelation.g:7194:4: ( (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS ) )
// InternalQVTrelation.g:7195:5: (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS )
{
// InternalQVTrelation.g:7195:5: (lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS )
// InternalQVTrelation.g:7196:6: lv_ownedType_2_0= ruleTypeExpWithoutMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeTypeExpWithoutMultiplicityCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_108);
lv_ownedType_2_0=ruleTypeExpWithoutMultiplicityCS();
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpWithoutMultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:7213:4: ( (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS ) )?
int alt178=2;
int LA178_0 = input.LA(1);
if ( (LA178_0==138) ) {
alt178=1;
}
switch (alt178) {
case 1 :
// InternalQVTrelation.g:7214:5: (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS )
{
// InternalQVTrelation.g:7214:5: (lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS )
// InternalQVTrelation.g:7215:6: lv_ownedCollectionMultiplicity_3_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionTypeCSAccess().getOwnedCollectionMultiplicityMultiplicityCSParserRuleCall_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_30);
lv_ownedCollectionMultiplicity_3_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionTypeCSRule());
}
set(
current,
"ownedCollectionMultiplicity",
lv_ownedCollectionMultiplicity_3_0,
"org.eclipse.ocl.xtext.base.Base.MultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_4=(Token)match(input,34,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getCollectionTypeCSAccess().getRightParenthesisKeyword_1_3());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCollectionTypeCS"
// $ANTLR start "entryRuleMapTypeCS"
// InternalQVTrelation.g:7241:1: entryRuleMapTypeCS returns [EObject current=null] : iv_ruleMapTypeCS= ruleMapTypeCS EOF ;
public final EObject entryRuleMapTypeCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleMapTypeCS = null;
try {
// InternalQVTrelation.g:7241:50: (iv_ruleMapTypeCS= ruleMapTypeCS EOF )
// InternalQVTrelation.g:7242:2: iv_ruleMapTypeCS= ruleMapTypeCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapTypeCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleMapTypeCS=ruleMapTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMapTypeCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMapTypeCS"
// $ANTLR start "ruleMapTypeCS"
// InternalQVTrelation.g:7248:1: ruleMapTypeCS returns [EObject current=null] : ( ( (lv_name_0_0= 'Map' ) ) (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )? ) ;
public final EObject ruleMapTypeCS() 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_ownedKeyType_2_0 = null;
EObject lv_ownedValueType_4_0 = null;
enterRule();
try {
// InternalQVTrelation.g:7254:2: ( ( ( (lv_name_0_0= 'Map' ) ) (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )? ) )
// InternalQVTrelation.g:7255:2: ( ( (lv_name_0_0= 'Map' ) ) (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )? )
{
// InternalQVTrelation.g:7255:2: ( ( (lv_name_0_0= 'Map' ) ) (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )? )
// InternalQVTrelation.g:7256:3: ( (lv_name_0_0= 'Map' ) ) (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )?
{
// InternalQVTrelation.g:7256:3: ( (lv_name_0_0= 'Map' ) )
// InternalQVTrelation.g:7257:4: (lv_name_0_0= 'Map' )
{
// InternalQVTrelation.g:7257:4: (lv_name_0_0= 'Map' )
// InternalQVTrelation.g:7258:5: lv_name_0_0= 'Map'
{
lv_name_0_0=(Token)match(input,114,FollowSets000.FOLLOW_107); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_0_0, grammarAccess.getMapTypeCSAccess().getNameMapKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMapTypeCSRule());
}
setWithLastConsumed(current, "name", lv_name_0_0, "Map");
}
}
}
// InternalQVTrelation.g:7270:3: (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )?
int alt180=2;
int LA180_0 = input.LA(1);
if ( (LA180_0==33) ) {
alt180=1;
}
switch (alt180) {
case 1 :
// InternalQVTrelation.g:7271:4: otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')'
{
otherlv_1=(Token)match(input,33,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getMapTypeCSAccess().getLeftParenthesisKeyword_1_0());
}
// InternalQVTrelation.g:7275:4: ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:7276:5: (lv_ownedKeyType_2_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:7276:5: (lv_ownedKeyType_2_0= ruleTypeExpCS )
// InternalQVTrelation.g:7277:6: lv_ownedKeyType_2_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapTypeCSAccess().getOwnedKeyTypeTypeExpCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_109);
lv_ownedKeyType_2_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMapTypeCSRule());
}
set(
current,
"ownedKeyType",
lv_ownedKeyType_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getMapTypeCSAccess().getCommaKeyword_1_2());
}
// InternalQVTrelation.g:7298:4: ( (lv_ownedValueType_4_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:7299:5: (lv_ownedValueType_4_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:7299:5: (lv_ownedValueType_4_0= ruleTypeExpCS )
// InternalQVTrelation.g:7300:6: lv_ownedValueType_4_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapTypeCSAccess().getOwnedValueTypeTypeExpCSParserRuleCall_1_3_0());
}
pushFollow(FollowSets000.FOLLOW_30);
lv_ownedValueType_4_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMapTypeCSRule());
}
set(
current,
"ownedValueType",
lv_ownedValueType_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_5=(Token)match(input,34,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getMapTypeCSAccess().getRightParenthesisKeyword_1_4());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMapTypeCS"
// $ANTLR start "entryRuleTupleTypeCS"
// InternalQVTrelation.g:7326:1: entryRuleTupleTypeCS returns [EObject current=null] : iv_ruleTupleTypeCS= ruleTupleTypeCS EOF ;
public final EObject entryRuleTupleTypeCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTupleTypeCS = null;
try {
// InternalQVTrelation.g:7326:52: (iv_ruleTupleTypeCS= ruleTupleTypeCS EOF )
// InternalQVTrelation.g:7327:2: iv_ruleTupleTypeCS= ruleTupleTypeCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleTypeCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTupleTypeCS=ruleTupleTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTupleTypeCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTupleTypeCS"
// $ANTLR start "ruleTupleTypeCS"
// InternalQVTrelation.g:7333: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 {
// InternalQVTrelation.g:7339:2: ( ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? ) )
// InternalQVTrelation.g:7340:2: ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? )
{
// InternalQVTrelation.g:7340:2: ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? )
// InternalQVTrelation.g:7341:3: ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )?
{
// InternalQVTrelation.g:7341:3: ( (lv_name_0_0= 'Tuple' ) )
// InternalQVTrelation.g:7342:4: (lv_name_0_0= 'Tuple' )
{
// InternalQVTrelation.g:7342:4: (lv_name_0_0= 'Tuple' )
// InternalQVTrelation.g:7343:5: lv_name_0_0= 'Tuple'
{
lv_name_0_0=(Token)match(input,115,FollowSets000.FOLLOW_107); 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");
}
}
}
// InternalQVTrelation.g:7355:3: (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )?
int alt183=2;
int LA183_0 = input.LA(1);
if ( (LA183_0==33) ) {
alt183=1;
}
switch (alt183) {
case 1 :
// InternalQVTrelation.g:7356:4: otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')'
{
otherlv_1=(Token)match(input,33,FollowSets000.FOLLOW_37); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getTupleTypeCSAccess().getLeftParenthesisKeyword_1_0());
}
// InternalQVTrelation.g:7360:4: ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )?
int alt182=2;
int LA182_0 = input.LA(1);
if ( ((LA182_0>=RULE_SIMPLE_ID && LA182_0<=RULE_ESCAPED_ID)||LA182_0==17||(LA182_0>=25 && LA182_0<=32)||(LA182_0>=35 && LA182_0<=43)||(LA182_0>=45 && LA182_0<=47)||(LA182_0>=49 && LA182_0<=59)||LA182_0==61||LA182_0==63||LA182_0==65||LA182_0==68||LA182_0==70||LA182_0==72||(LA182_0>=74 && LA182_0<=77)||(LA182_0>=79 && LA182_0<=84)||LA182_0==86||LA182_0==88||(LA182_0>=90 && LA182_0<=91)) ) {
alt182=1;
}
switch (alt182) {
case 1 :
// InternalQVTrelation.g:7361:5: ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )*
{
// InternalQVTrelation.g:7361:5: ( (lv_ownedParts_2_0= ruleTuplePartCS ) )
// InternalQVTrelation.g:7362:6: (lv_ownedParts_2_0= ruleTuplePartCS )
{
// InternalQVTrelation.g:7362:6: (lv_ownedParts_2_0= ruleTuplePartCS )
// InternalQVTrelation.g:7363:7: lv_ownedParts_2_0= ruleTuplePartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_38);
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TuplePartCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:7380:5: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )*
loop181:
do {
int alt181=2;
int LA181_0 = input.LA(1);
if ( (LA181_0==23) ) {
alt181=1;
}
switch (alt181) {
case 1 :
// InternalQVTrelation.g:7381:6: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) )
{
otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getTupleTypeCSAccess().getCommaKeyword_1_1_1_0());
}
// InternalQVTrelation.g:7385:6: ( (lv_ownedParts_4_0= ruleTuplePartCS ) )
// InternalQVTrelation.g:7386:7: (lv_ownedParts_4_0= ruleTuplePartCS )
{
// InternalQVTrelation.g:7386:7: (lv_ownedParts_4_0= ruleTuplePartCS )
// InternalQVTrelation.g:7387:8: lv_ownedParts_4_0= ruleTuplePartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_38);
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TuplePartCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop181;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,34,FollowSets000.FOLLOW_2); 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"
// InternalQVTrelation.g:7415:1: entryRuleTuplePartCS returns [EObject current=null] : iv_ruleTuplePartCS= ruleTuplePartCS EOF ;
public final EObject entryRuleTuplePartCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTuplePartCS = null;
try {
// InternalQVTrelation.g:7415:52: (iv_ruleTuplePartCS= ruleTuplePartCS EOF )
// InternalQVTrelation.g:7416:2: iv_ruleTuplePartCS= ruleTuplePartCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTuplePartCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTuplePartCS=ruleTuplePartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTuplePartCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTuplePartCS"
// $ANTLR start "ruleTuplePartCS"
// InternalQVTrelation.g:7422: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 {
// InternalQVTrelation.g:7428:2: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) )
// InternalQVTrelation.g:7429:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )
{
// InternalQVTrelation.g:7429:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )
// InternalQVTrelation.g:7430:3: ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
{
// InternalQVTrelation.g:7430:3: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:7431:4: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:7431:4: (lv_name_0_0= ruleUnrestrictedName )
// InternalQVTrelation.g:7432:5: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTuplePartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_11);
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,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getTuplePartCSAccess().getColonKeyword_1());
}
// InternalQVTrelation.g:7453:3: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:7454:4: (lv_ownedType_2_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:7454:4: (lv_ownedType_2_0= ruleTypeExpCS )
// InternalQVTrelation.g:7455:5: lv_ownedType_2_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTuplePartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTuplePartCS"
// $ANTLR start "entryRuleCollectionLiteralExpCS"
// InternalQVTrelation.g:7476:1: entryRuleCollectionLiteralExpCS returns [EObject current=null] : iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF ;
public final EObject entryRuleCollectionLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCollectionLiteralExpCS = null;
try {
// InternalQVTrelation.g:7476:63: (iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF )
// InternalQVTrelation.g:7477:2: iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCollectionLiteralExpCS=ruleCollectionLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCollectionLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCollectionLiteralExpCS"
// $ANTLR start "ruleCollectionLiteralExpCS"
// InternalQVTrelation.g:7483: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 {
// InternalQVTrelation.g:7489:2: ( ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' ) )
// InternalQVTrelation.g:7490:2: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' )
{
// InternalQVTrelation.g:7490:2: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' )
// InternalQVTrelation.g:7491:3: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}'
{
// InternalQVTrelation.g:7491:3: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) )
// InternalQVTrelation.g:7492:4: (lv_ownedType_0_0= ruleCollectionTypeCS )
{
// InternalQVTrelation.g:7492:4: (lv_ownedType_0_0= ruleCollectionTypeCS )
// InternalQVTrelation.g:7493:5: lv_ownedType_0_0= ruleCollectionTypeCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_25);
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CollectionTypeCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,20,FollowSets000.FOLLOW_110); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
}
// InternalQVTrelation.g:7514:3: ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )?
int alt185=2;
int LA185_0 = input.LA(1);
if ( (LA185_0==RULE_SINGLE_QUOTED_STRING||(LA185_0>=RULE_INT && LA185_0<=RULE_ESCAPED_ID)||(LA185_0>=17 && LA185_0<=18)||(LA185_0>=25 && LA185_0<=33)||(LA185_0>=35 && LA185_0<=43)||(LA185_0>=45 && LA185_0<=59)||LA185_0==61||LA185_0==63||LA185_0==65||LA185_0==68||LA185_0==70||LA185_0==72||(LA185_0>=74 && LA185_0<=77)||(LA185_0>=79 && LA185_0<=84)||LA185_0==86||LA185_0==88||(LA185_0>=90 && LA185_0<=94)||(LA185_0>=114 && LA185_0<=128)||LA185_0==130||(LA185_0>=132 && LA185_0<=135)||LA185_0==142||(LA185_0>=147 && LA185_0<=148)) ) {
alt185=1;
}
switch (alt185) {
case 1 :
// InternalQVTrelation.g:7515:4: ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )*
{
// InternalQVTrelation.g:7515:4: ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) )
// InternalQVTrelation.g:7516:5: (lv_ownedParts_2_0= ruleCollectionLiteralPartCS )
{
// InternalQVTrelation.g:7516:5: (lv_ownedParts_2_0= ruleCollectionLiteralPartCS )
// InternalQVTrelation.g:7517:6: lv_ownedParts_2_0= ruleCollectionLiteralPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_28);
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CollectionLiteralPartCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:7534:4: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )*
loop184:
do {
int alt184=2;
int LA184_0 = input.LA(1);
if ( (LA184_0==23) ) {
alt184=1;
}
switch (alt184) {
case 1 :
// InternalQVTrelation.g:7535:5: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) )
{
otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getCollectionLiteralExpCSAccess().getCommaKeyword_2_1_0());
}
// InternalQVTrelation.g:7539:5: ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) )
// InternalQVTrelation.g:7540:6: (lv_ownedParts_4_0= ruleCollectionLiteralPartCS )
{
// InternalQVTrelation.g:7540:6: (lv_ownedParts_4_0= ruleCollectionLiteralPartCS )
// InternalQVTrelation.g:7541:7: lv_ownedParts_4_0= ruleCollectionLiteralPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CollectionLiteralPartCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop184;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,21,FollowSets000.FOLLOW_2); 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"
// InternalQVTrelation.g:7568:1: entryRuleCollectionLiteralPartCS returns [EObject current=null] : iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF ;
public final EObject entryRuleCollectionLiteralPartCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCollectionLiteralPartCS = null;
try {
// InternalQVTrelation.g:7568:64: (iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF )
// InternalQVTrelation.g:7569:2: iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralPartCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCollectionLiteralPartCS=ruleCollectionLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCollectionLiteralPartCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCollectionLiteralPartCS"
// $ANTLR start "ruleCollectionLiteralPartCS"
// InternalQVTrelation.g:7575:1: ruleCollectionLiteralPartCS returns [EObject current=null] : ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) ) ;
public final EObject ruleCollectionLiteralPartCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_ownedExpression_0_0 = null;
EObject lv_ownedLastExpression_2_0 = null;
EObject lv_ownedExpression_3_0 = null;
enterRule();
try {
// InternalQVTrelation.g:7581:2: ( ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) ) )
// InternalQVTrelation.g:7582:2: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) )
{
// InternalQVTrelation.g:7582:2: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) )
int alt187=2;
alt187 = dfa187.predict(input);
switch (alt187) {
case 1 :
// InternalQVTrelation.g:7583:3: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? )
{
// InternalQVTrelation.g:7583:3: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? )
// InternalQVTrelation.g:7584:4: ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )?
{
// InternalQVTrelation.g:7584:4: ( (lv_ownedExpression_0_0= ruleExpCS ) )
// InternalQVTrelation.g:7585:5: (lv_ownedExpression_0_0= ruleExpCS )
{
// InternalQVTrelation.g:7585:5: (lv_ownedExpression_0_0= ruleExpCS )
// InternalQVTrelation.g:7586:6: lv_ownedExpression_0_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedExpressionExpCSParserRuleCall_0_0_0());
}
pushFollow(FollowSets000.FOLLOW_111);
lv_ownedExpression_0_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionLiteralPartCSRule());
}
set(
current,
"ownedExpression",
lv_ownedExpression_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:7603:4: (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )?
int alt186=2;
int LA186_0 = input.LA(1);
if ( (LA186_0==129) ) {
alt186=1;
}
switch (alt186) {
case 1 :
// InternalQVTrelation.g:7604:5: otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) )
{
otherlv_1=(Token)match(input,129,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_0_1_0());
}
// InternalQVTrelation.g:7608:5: ( (lv_ownedLastExpression_2_0= ruleExpCS ) )
// InternalQVTrelation.g:7609:6: (lv_ownedLastExpression_2_0= ruleExpCS )
{
// InternalQVTrelation.g:7609:6: (lv_ownedLastExpression_2_0= ruleExpCS )
// InternalQVTrelation.g:7610:7: lv_ownedLastExpression_2_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedLastExpressionExpCSParserRuleCall_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedLastExpression_2_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionLiteralPartCSRule());
}
set(
current,
"ownedLastExpression",
lv_ownedLastExpression_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalQVTrelation.g:7630:3: ( (lv_ownedExpression_3_0= rulePatternExpCS ) )
{
// InternalQVTrelation.g:7630:3: ( (lv_ownedExpression_3_0= rulePatternExpCS ) )
// InternalQVTrelation.g:7631:4: (lv_ownedExpression_3_0= rulePatternExpCS )
{
// InternalQVTrelation.g:7631:4: (lv_ownedExpression_3_0= rulePatternExpCS )
// InternalQVTrelation.g:7632:5: lv_ownedExpression_3_0= rulePatternExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedExpressionPatternExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedExpression_3_0=rulePatternExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionLiteralPartCSRule());
}
set(
current,
"ownedExpression",
lv_ownedExpression_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PatternExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCollectionLiteralPartCS"
// $ANTLR start "entryRuleCollectionPatternCS"
// InternalQVTrelation.g:7653:1: entryRuleCollectionPatternCS returns [EObject current=null] : iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF ;
public final EObject entryRuleCollectionPatternCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCollectionPatternCS = null;
try {
// InternalQVTrelation.g:7653:60: (iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF )
// InternalQVTrelation.g:7654:2: iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionPatternCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCollectionPatternCS=ruleCollectionPatternCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCollectionPatternCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCollectionPatternCS"
// $ANTLR start "ruleCollectionPatternCS"
// InternalQVTrelation.g:7660:1: ruleCollectionPatternCS returns [EObject current=null] : ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' ) ;
public final EObject ruleCollectionPatternCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
EObject lv_ownedType_0_0 = null;
EObject lv_ownedParts_2_0 = null;
EObject lv_ownedParts_4_0 = null;
AntlrDatatypeRuleToken lv_restVariableName_6_0 = null;
enterRule();
try {
// InternalQVTrelation.g:7666:2: ( ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' ) )
// InternalQVTrelation.g:7667:2: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' )
{
// InternalQVTrelation.g:7667:2: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' )
// InternalQVTrelation.g:7668:3: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}'
{
// InternalQVTrelation.g:7668:3: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) )
// InternalQVTrelation.g:7669:4: (lv_ownedType_0_0= ruleCollectionTypeCS )
{
// InternalQVTrelation.g:7669:4: (lv_ownedType_0_0= ruleCollectionTypeCS )
// InternalQVTrelation.g:7670:5: lv_ownedType_0_0= ruleCollectionTypeCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_25);
lv_ownedType_0_0=ruleCollectionTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionPatternCSRule());
}
set(
current,
"ownedType",
lv_ownedType_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CollectionTypeCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,20,FollowSets000.FOLLOW_110); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCollectionPatternCSAccess().getLeftCurlyBracketKeyword_1());
}
// InternalQVTrelation.g:7691:3: ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )?
int alt189=2;
int LA189_0 = input.LA(1);
if ( ((LA189_0>=RULE_SIMPLE_ID && LA189_0<=RULE_ESCAPED_ID)||(LA189_0>=17 && LA189_0<=18)||(LA189_0>=25 && LA189_0<=32)||(LA189_0>=35 && LA189_0<=43)||(LA189_0>=45 && LA189_0<=47)||(LA189_0>=49 && LA189_0<=59)||LA189_0==61||LA189_0==63||LA189_0==65||LA189_0==68||LA189_0==70||LA189_0==72||(LA189_0>=74 && LA189_0<=77)||(LA189_0>=79 && LA189_0<=84)||LA189_0==86||LA189_0==88||(LA189_0>=90 && LA189_0<=91)) ) {
alt189=1;
}
switch (alt189) {
case 1 :
// InternalQVTrelation.g:7692:4: ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) )
{
// InternalQVTrelation.g:7692:4: ( (lv_ownedParts_2_0= rulePatternExpCS ) )
// InternalQVTrelation.g:7693:5: (lv_ownedParts_2_0= rulePatternExpCS )
{
// InternalQVTrelation.g:7693:5: (lv_ownedParts_2_0= rulePatternExpCS )
// InternalQVTrelation.g:7694:6: lv_ownedParts_2_0= rulePatternExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getOwnedPartsPatternExpCSParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_15);
lv_ownedParts_2_0=rulePatternExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionPatternCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PatternExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:7711:4: (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )*
loop188:
do {
int alt188=2;
int LA188_0 = input.LA(1);
if ( (LA188_0==23) ) {
alt188=1;
}
switch (alt188) {
case 1 :
// InternalQVTrelation.g:7712:5: otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) )
{
otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getCollectionPatternCSAccess().getCommaKeyword_2_1_0());
}
// InternalQVTrelation.g:7716:5: ( (lv_ownedParts_4_0= rulePatternExpCS ) )
// InternalQVTrelation.g:7717:6: (lv_ownedParts_4_0= rulePatternExpCS )
{
// InternalQVTrelation.g:7717:6: (lv_ownedParts_4_0= rulePatternExpCS )
// InternalQVTrelation.g:7718:7: lv_ownedParts_4_0= rulePatternExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getOwnedPartsPatternExpCSParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_15);
lv_ownedParts_4_0=rulePatternExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionPatternCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PatternExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop188;
}
} while (true);
// InternalQVTrelation.g:7736:4: (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) )
// InternalQVTrelation.g:7737:5: otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) )
{
otherlv_5=(Token)match(input,24,FollowSets000.FOLLOW_112); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getCollectionPatternCSAccess().getPlusSignPlusSignKeyword_2_2_0());
}
// InternalQVTrelation.g:7741:5: ( (lv_restVariableName_6_0= ruleIdentifier ) )
// InternalQVTrelation.g:7742:6: (lv_restVariableName_6_0= ruleIdentifier )
{
// InternalQVTrelation.g:7742:6: (lv_restVariableName_6_0= ruleIdentifier )
// InternalQVTrelation.g:7743:7: lv_restVariableName_6_0= ruleIdentifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getRestVariableNameIdentifierParserRuleCall_2_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_restVariableName_6_0=ruleIdentifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCollectionPatternCSRule());
}
set(
current,
"restVariableName",
lv_restVariableName_6_0,
"org.eclipse.ocl.xtext.base.Base.Identifier");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
otherlv_7=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getCollectionPatternCSAccess().getRightCurlyBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCollectionPatternCS"
// $ANTLR start "entryRuleShadowPartCS"
// InternalQVTrelation.g:7770:1: entryRuleShadowPartCS returns [EObject current=null] : iv_ruleShadowPartCS= ruleShadowPartCS EOF ;
public final EObject entryRuleShadowPartCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleShadowPartCS = null;
try {
// InternalQVTrelation.g:7770:53: (iv_ruleShadowPartCS= ruleShadowPartCS EOF )
// InternalQVTrelation.g:7771:2: iv_ruleShadowPartCS= ruleShadowPartCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getShadowPartCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleShadowPartCS=ruleShadowPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleShadowPartCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleShadowPartCS"
// $ANTLR start "ruleShadowPartCS"
// InternalQVTrelation.g:7777:1: ruleShadowPartCS returns [EObject current=null] : ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) | ( (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS ) ) ) ;
public final EObject ruleShadowPartCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_ownedInitExpression_2_1 = null;
EObject lv_ownedInitExpression_2_2 = null;
EObject lv_ownedInitExpression_3_0 = null;
enterRule();
try {
// InternalQVTrelation.g:7783:2: ( ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) | ( (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS ) ) ) )
// InternalQVTrelation.g:7784:2: ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) | ( (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS ) ) )
{
// InternalQVTrelation.g:7784:2: ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) | ( (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS ) ) )
int alt191=2;
int LA191_0 = input.LA(1);
if ( ((LA191_0>=RULE_SIMPLE_ID && LA191_0<=RULE_ESCAPED_ID)||LA191_0==17||(LA191_0>=25 && LA191_0<=32)||(LA191_0>=35 && LA191_0<=43)||(LA191_0>=45 && LA191_0<=47)||(LA191_0>=49 && LA191_0<=59)||LA191_0==61||LA191_0==63||LA191_0==65||LA191_0==68||LA191_0==70||LA191_0==72||(LA191_0>=74 && LA191_0<=77)||(LA191_0>=79 && LA191_0<=84)||LA191_0==86||LA191_0==88||(LA191_0>=90 && LA191_0<=91)) ) {
alt191=1;
}
else if ( (LA191_0==RULE_SINGLE_QUOTED_STRING) ) {
alt191=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 191, 0, input);
throw nvae;
}
switch (alt191) {
case 1 :
// InternalQVTrelation.g:7785:3: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) )
{
// InternalQVTrelation.g:7785:3: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) )
// InternalQVTrelation.g:7786:4: ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) )
{
// InternalQVTrelation.g:7786:4: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:7787:5: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:7787:5: ( ruleUnrestrictedName )
// InternalQVTrelation.g:7788:6: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getShadowPartCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getShadowPartCSAccess().getReferredPropertyPropertyCrossReference_0_0_0());
}
pushFollow(FollowSets000.FOLLOW_18);
ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,19,FollowSets000.FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getShadowPartCSAccess().getEqualsSignKeyword_0_1());
}
// InternalQVTrelation.g:7809:4: ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) )
// InternalQVTrelation.g:7810:5: ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) )
{
// InternalQVTrelation.g:7810:5: ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) )
// InternalQVTrelation.g:7811:6: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS )
{
// InternalQVTrelation.g:7811:6: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS )
int alt190=2;
alt190 = dfa190.predict(input);
switch (alt190) {
case 1 :
// InternalQVTrelation.g:7812:7: lv_ownedInitExpression_2_1= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getShadowPartCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_2_1=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getShadowPartCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_2_1,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:7828:7: lv_ownedInitExpression_2_2= rulePatternExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getShadowPartCSAccess().getOwnedInitExpressionPatternExpCSParserRuleCall_0_2_0_1());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_2_2=rulePatternExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getShadowPartCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_2_2,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PatternExpCS");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:7848:3: ( (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS ) )
{
// InternalQVTrelation.g:7848:3: ( (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS ) )
// InternalQVTrelation.g:7849:4: (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS )
{
// InternalQVTrelation.g:7849:4: (lv_ownedInitExpression_3_0= ruleStringLiteralExpCS )
// InternalQVTrelation.g:7850:5: lv_ownedInitExpression_3_0= ruleStringLiteralExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getShadowPartCSAccess().getOwnedInitExpressionStringLiteralExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_3_0=ruleStringLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getShadowPartCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.StringLiteralExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleShadowPartCS"
// $ANTLR start "entryRulePatternExpCS"
// InternalQVTrelation.g:7871:1: entryRulePatternExpCS returns [EObject current=null] : iv_rulePatternExpCS= rulePatternExpCS EOF ;
public final EObject entryRulePatternExpCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePatternExpCS = null;
try {
// InternalQVTrelation.g:7871:53: (iv_rulePatternExpCS= rulePatternExpCS EOF )
// InternalQVTrelation.g:7872:2: iv_rulePatternExpCS= rulePatternExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPatternExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePatternExpCS=rulePatternExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePatternExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePatternExpCS"
// $ANTLR start "rulePatternExpCS"
// InternalQVTrelation.g:7878:1: rulePatternExpCS returns [EObject current=null] : ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) ) ;
public final EObject rulePatternExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
AntlrDatatypeRuleToken lv_patternVariableName_0_0 = null;
EObject lv_ownedPatternType_2_0 = null;
enterRule();
try {
// InternalQVTrelation.g:7884:2: ( ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) ) )
// InternalQVTrelation.g:7885:2: ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) )
{
// InternalQVTrelation.g:7885:2: ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) )
// InternalQVTrelation.g:7886:3: ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) )
{
// InternalQVTrelation.g:7886:3: ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )?
int alt192=2;
int LA192_0 = input.LA(1);
if ( ((LA192_0>=RULE_SIMPLE_ID && LA192_0<=RULE_ESCAPED_ID)||LA192_0==17||(LA192_0>=25 && LA192_0<=32)||(LA192_0>=35 && LA192_0<=43)||(LA192_0>=45 && LA192_0<=47)||(LA192_0>=49 && LA192_0<=59)||LA192_0==61||LA192_0==63||LA192_0==65||LA192_0==68||LA192_0==70||LA192_0==72||(LA192_0>=74 && LA192_0<=77)||(LA192_0>=79 && LA192_0<=84)||LA192_0==86||LA192_0==88||(LA192_0>=90 && LA192_0<=91)) ) {
alt192=1;
}
switch (alt192) {
case 1 :
// InternalQVTrelation.g:7887:4: (lv_patternVariableName_0_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:7887:4: (lv_patternVariableName_0_0= ruleUnrestrictedName )
// InternalQVTrelation.g:7888:5: lv_patternVariableName_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPatternExpCSAccess().getPatternVariableNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_11);
lv_patternVariableName_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPatternExpCSRule());
}
set(
current,
"patternVariableName",
lv_patternVariableName_0_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_1=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getPatternExpCSAccess().getColonKeyword_1());
}
// InternalQVTrelation.g:7909:3: ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:7910:4: (lv_ownedPatternType_2_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:7910:4: (lv_ownedPatternType_2_0= ruleTypeExpCS )
// InternalQVTrelation.g:7911:5: lv_ownedPatternType_2_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPatternExpCSAccess().getOwnedPatternTypeTypeExpCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedPatternType_2_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPatternExpCSRule());
}
set(
current,
"ownedPatternType",
lv_ownedPatternType_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePatternExpCS"
// $ANTLR start "entryRuleLambdaLiteralExpCS"
// InternalQVTrelation.g:7932:1: entryRuleLambdaLiteralExpCS returns [EObject current=null] : iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF ;
public final EObject entryRuleLambdaLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleLambdaLiteralExpCS = null;
try {
// InternalQVTrelation.g:7932:59: (iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF )
// InternalQVTrelation.g:7933:2: iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLambdaLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleLambdaLiteralExpCS=ruleLambdaLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLambdaLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLambdaLiteralExpCS"
// $ANTLR start "ruleLambdaLiteralExpCS"
// InternalQVTrelation.g:7939:1: ruleLambdaLiteralExpCS returns [EObject current=null] : (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' ) ;
public final EObject ruleLambdaLiteralExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
EObject lv_ownedExpressionCS_2_0 = null;
enterRule();
try {
// InternalQVTrelation.g:7945:2: ( (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' ) )
// InternalQVTrelation.g:7946:2: (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' )
{
// InternalQVTrelation.g:7946:2: (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' )
// InternalQVTrelation.g:7947:3: otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}'
{
otherlv_0=(Token)match(input,130,FollowSets000.FOLLOW_25); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getLambdaLiteralExpCSAccess().getLambdaKeyword_0());
}
otherlv_1=(Token)match(input,20,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getLambdaLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
}
// InternalQVTrelation.g:7955:3: ( (lv_ownedExpressionCS_2_0= ruleExpCS ) )
// InternalQVTrelation.g:7956:4: (lv_ownedExpressionCS_2_0= ruleExpCS )
{
// InternalQVTrelation.g:7956:4: (lv_ownedExpressionCS_2_0= ruleExpCS )
// InternalQVTrelation.g:7957:5: lv_ownedExpressionCS_2_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLambdaLiteralExpCSAccess().getOwnedExpressionCSExpCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_ownedExpressionCS_2_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLambdaLiteralExpCSRule());
}
set(
current,
"ownedExpressionCS",
lv_ownedExpressionCS_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getLambdaLiteralExpCSAccess().getRightCurlyBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLambdaLiteralExpCS"
// $ANTLR start "entryRuleMapLiteralExpCS"
// InternalQVTrelation.g:7982:1: entryRuleMapLiteralExpCS returns [EObject current=null] : iv_ruleMapLiteralExpCS= ruleMapLiteralExpCS EOF ;
public final EObject entryRuleMapLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleMapLiteralExpCS = null;
try {
// InternalQVTrelation.g:7982:56: (iv_ruleMapLiteralExpCS= ruleMapLiteralExpCS EOF )
// InternalQVTrelation.g:7983:2: iv_ruleMapLiteralExpCS= ruleMapLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleMapLiteralExpCS=ruleMapLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMapLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMapLiteralExpCS"
// $ANTLR start "ruleMapLiteralExpCS"
// InternalQVTrelation.g:7989:1: ruleMapLiteralExpCS returns [EObject current=null] : ( ( (lv_ownedType_0_0= ruleMapTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? otherlv_5= '}' ) ;
public final EObject ruleMapLiteralExpCS() 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 {
// InternalQVTrelation.g:7995:2: ( ( ( (lv_ownedType_0_0= ruleMapTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? otherlv_5= '}' ) )
// InternalQVTrelation.g:7996:2: ( ( (lv_ownedType_0_0= ruleMapTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? otherlv_5= '}' )
{
// InternalQVTrelation.g:7996:2: ( ( (lv_ownedType_0_0= ruleMapTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? otherlv_5= '}' )
// InternalQVTrelation.g:7997:3: ( (lv_ownedType_0_0= ruleMapTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? otherlv_5= '}'
{
// InternalQVTrelation.g:7997:3: ( (lv_ownedType_0_0= ruleMapTypeCS ) )
// InternalQVTrelation.g:7998:4: (lv_ownedType_0_0= ruleMapTypeCS )
{
// InternalQVTrelation.g:7998:4: (lv_ownedType_0_0= ruleMapTypeCS )
// InternalQVTrelation.g:7999:5: lv_ownedType_0_0= ruleMapTypeCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapLiteralExpCSAccess().getOwnedTypeMapTypeCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_25);
lv_ownedType_0_0=ruleMapTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMapLiteralExpCSRule());
}
set(
current,
"ownedType",
lv_ownedType_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.MapTypeCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,20,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getMapLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
}
// InternalQVTrelation.g:8020:3: ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )?
int alt194=2;
int LA194_0 = input.LA(1);
if ( (LA194_0==RULE_SINGLE_QUOTED_STRING||(LA194_0>=RULE_INT && LA194_0<=RULE_ESCAPED_ID)||LA194_0==17||(LA194_0>=25 && LA194_0<=33)||(LA194_0>=35 && LA194_0<=43)||(LA194_0>=45 && LA194_0<=59)||LA194_0==61||LA194_0==63||LA194_0==65||LA194_0==68||LA194_0==70||LA194_0==72||(LA194_0>=74 && LA194_0<=77)||(LA194_0>=79 && LA194_0<=84)||LA194_0==86||LA194_0==88||(LA194_0>=90 && LA194_0<=94)||(LA194_0>=114 && LA194_0<=128)||LA194_0==130||(LA194_0>=132 && LA194_0<=135)||LA194_0==142||(LA194_0>=147 && LA194_0<=148)) ) {
alt194=1;
}
switch (alt194) {
case 1 :
// InternalQVTrelation.g:8021:4: ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )*
{
// InternalQVTrelation.g:8021:4: ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) )
// InternalQVTrelation.g:8022:5: (lv_ownedParts_2_0= ruleMapLiteralPartCS )
{
// InternalQVTrelation.g:8022:5: (lv_ownedParts_2_0= ruleMapLiteralPartCS )
// InternalQVTrelation.g:8023:6: lv_ownedParts_2_0= ruleMapLiteralPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapLiteralExpCSAccess().getOwnedPartsMapLiteralPartCSParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_28);
lv_ownedParts_2_0=ruleMapLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMapLiteralExpCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.MapLiteralPartCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:8040:4: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )*
loop193:
do {
int alt193=2;
int LA193_0 = input.LA(1);
if ( (LA193_0==23) ) {
alt193=1;
}
switch (alt193) {
case 1 :
// InternalQVTrelation.g:8041:5: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) )
{
otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getMapLiteralExpCSAccess().getCommaKeyword_2_1_0());
}
// InternalQVTrelation.g:8045:5: ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) )
// InternalQVTrelation.g:8046:6: (lv_ownedParts_4_0= ruleMapLiteralPartCS )
{
// InternalQVTrelation.g:8046:6: (lv_ownedParts_4_0= ruleMapLiteralPartCS )
// InternalQVTrelation.g:8047:7: lv_ownedParts_4_0= ruleMapLiteralPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapLiteralExpCSAccess().getOwnedPartsMapLiteralPartCSParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
lv_ownedParts_4_0=ruleMapLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMapLiteralExpCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.MapLiteralPartCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop193;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getMapLiteralExpCSAccess().getRightCurlyBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMapLiteralExpCS"
// $ANTLR start "entryRuleMapLiteralPartCS"
// InternalQVTrelation.g:8074:1: entryRuleMapLiteralPartCS returns [EObject current=null] : iv_ruleMapLiteralPartCS= ruleMapLiteralPartCS EOF ;
public final EObject entryRuleMapLiteralPartCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleMapLiteralPartCS = null;
try {
// InternalQVTrelation.g:8074:57: (iv_ruleMapLiteralPartCS= ruleMapLiteralPartCS EOF )
// InternalQVTrelation.g:8075:2: iv_ruleMapLiteralPartCS= ruleMapLiteralPartCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapLiteralPartCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleMapLiteralPartCS=ruleMapLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMapLiteralPartCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMapLiteralPartCS"
// $ANTLR start "ruleMapLiteralPartCS"
// InternalQVTrelation.g:8081:1: ruleMapLiteralPartCS returns [EObject current=null] : ( ( (lv_ownedKey_0_0= ruleExpCS ) ) otherlv_1= '<-' ( (lv_ownedValue_2_0= ruleExpCS ) ) ) ;
public final EObject ruleMapLiteralPartCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_ownedKey_0_0 = null;
EObject lv_ownedValue_2_0 = null;
enterRule();
try {
// InternalQVTrelation.g:8087:2: ( ( ( (lv_ownedKey_0_0= ruleExpCS ) ) otherlv_1= '<-' ( (lv_ownedValue_2_0= ruleExpCS ) ) ) )
// InternalQVTrelation.g:8088:2: ( ( (lv_ownedKey_0_0= ruleExpCS ) ) otherlv_1= '<-' ( (lv_ownedValue_2_0= ruleExpCS ) ) )
{
// InternalQVTrelation.g:8088:2: ( ( (lv_ownedKey_0_0= ruleExpCS ) ) otherlv_1= '<-' ( (lv_ownedValue_2_0= ruleExpCS ) ) )
// InternalQVTrelation.g:8089:3: ( (lv_ownedKey_0_0= ruleExpCS ) ) otherlv_1= '<-' ( (lv_ownedValue_2_0= ruleExpCS ) )
{
// InternalQVTrelation.g:8089:3: ( (lv_ownedKey_0_0= ruleExpCS ) )
// InternalQVTrelation.g:8090:4: (lv_ownedKey_0_0= ruleExpCS )
{
// InternalQVTrelation.g:8090:4: (lv_ownedKey_0_0= ruleExpCS )
// InternalQVTrelation.g:8091:5: lv_ownedKey_0_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapLiteralPartCSAccess().getOwnedKeyExpCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_113);
lv_ownedKey_0_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMapLiteralPartCSRule());
}
set(
current,
"ownedKey",
lv_ownedKey_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,131,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getMapLiteralPartCSAccess().getLessThanSignHyphenMinusKeyword_1());
}
// InternalQVTrelation.g:8112:3: ( (lv_ownedValue_2_0= ruleExpCS ) )
// InternalQVTrelation.g:8113:4: (lv_ownedValue_2_0= ruleExpCS )
{
// InternalQVTrelation.g:8113:4: (lv_ownedValue_2_0= ruleExpCS )
// InternalQVTrelation.g:8114:5: lv_ownedValue_2_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMapLiteralPartCSAccess().getOwnedValueExpCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedValue_2_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMapLiteralPartCSRule());
}
set(
current,
"ownedValue",
lv_ownedValue_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMapLiteralPartCS"
// $ANTLR start "entryRulePrimitiveLiteralExpCS"
// InternalQVTrelation.g:8135:1: entryRulePrimitiveLiteralExpCS returns [EObject current=null] : iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF ;
public final EObject entryRulePrimitiveLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePrimitiveLiteralExpCS = null;
try {
// InternalQVTrelation.g:8135:62: (iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF )
// InternalQVTrelation.g:8136:2: iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePrimitiveLiteralExpCS=rulePrimitiveLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrimitiveLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrimitiveLiteralExpCS"
// $ANTLR start "rulePrimitiveLiteralExpCS"
// InternalQVTrelation.g:8142: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 {
// InternalQVTrelation.g:8148:2: ( (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS ) )
// InternalQVTrelation.g:8149:2: (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS )
{
// InternalQVTrelation.g:8149:2: (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 alt195=6;
switch ( input.LA(1) ) {
case RULE_INT:
{
alt195=1;
}
break;
case RULE_SINGLE_QUOTED_STRING:
{
alt195=2;
}
break;
case 132:
case 133:
{
alt195=3;
}
break;
case 48:
{
alt195=4;
}
break;
case 134:
{
alt195=5;
}
break;
case 135:
{
alt195=6;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 195, 0, input);
throw nvae;
}
switch (alt195) {
case 1 :
// InternalQVTrelation.g:8150:3: this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getNumberLiteralExpCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_NumberLiteralExpCS_0=ruleNumberLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_NumberLiteralExpCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:8162:3: this_StringLiteralExpCS_1= ruleStringLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getStringLiteralExpCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_StringLiteralExpCS_1=ruleStringLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_StringLiteralExpCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalQVTrelation.g:8174:3: this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getBooleanLiteralExpCSParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_BooleanLiteralExpCS_2=ruleBooleanLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_BooleanLiteralExpCS_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalQVTrelation.g:8186:3: this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSParserRuleCall_3());
}
pushFollow(FollowSets000.FOLLOW_2);
this_UnlimitedNaturalLiteralExpCS_3=ruleUnlimitedNaturalLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_UnlimitedNaturalLiteralExpCS_3;
afterParserOrEnumRuleCall();
}
}
break;
case 5 :
// InternalQVTrelation.g:8198:3: this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getInvalidLiteralExpCSParserRuleCall_4());
}
pushFollow(FollowSets000.FOLLOW_2);
this_InvalidLiteralExpCS_4=ruleInvalidLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_InvalidLiteralExpCS_4;
afterParserOrEnumRuleCall();
}
}
break;
case 6 :
// InternalQVTrelation.g:8210:3: this_NullLiteralExpCS_5= ruleNullLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getNullLiteralExpCSParserRuleCall_5());
}
pushFollow(FollowSets000.FOLLOW_2);
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"
// InternalQVTrelation.g:8225:1: entryRuleTupleLiteralExpCS returns [EObject current=null] : iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF ;
public final EObject entryRuleTupleLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTupleLiteralExpCS = null;
try {
// InternalQVTrelation.g:8225:58: (iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF )
// InternalQVTrelation.g:8226:2: iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTupleLiteralExpCS=ruleTupleLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTupleLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTupleLiteralExpCS"
// $ANTLR start "ruleTupleLiteralExpCS"
// InternalQVTrelation.g:8232: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 {
// InternalQVTrelation.g:8238:2: ( (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' ) )
// InternalQVTrelation.g:8239:2: (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' )
{
// InternalQVTrelation.g:8239:2: (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' )
// InternalQVTrelation.g:8240: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,115,FollowSets000.FOLLOW_25); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getTupleLiteralExpCSAccess().getTupleKeyword_0());
}
otherlv_1=(Token)match(input,20,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getTupleLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
}
// InternalQVTrelation.g:8248:3: ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) )
// InternalQVTrelation.g:8249:4: (lv_ownedParts_2_0= ruleTupleLiteralPartCS )
{
// InternalQVTrelation.g:8249:4: (lv_ownedParts_2_0= ruleTupleLiteralPartCS )
// InternalQVTrelation.g:8250:5: lv_ownedParts_2_0= ruleTupleLiteralPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_28);
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TupleLiteralPartCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:8267:3: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )*
loop196:
do {
int alt196=2;
int LA196_0 = input.LA(1);
if ( (LA196_0==23) ) {
alt196=1;
}
switch (alt196) {
case 1 :
// InternalQVTrelation.g:8268:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) )
{
otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getTupleLiteralExpCSAccess().getCommaKeyword_3_0());
}
// InternalQVTrelation.g:8272:4: ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) )
// InternalQVTrelation.g:8273:5: (lv_ownedParts_4_0= ruleTupleLiteralPartCS )
{
// InternalQVTrelation.g:8273:5: (lv_ownedParts_4_0= ruleTupleLiteralPartCS )
// InternalQVTrelation.g:8274:6: lv_ownedParts_4_0= ruleTupleLiteralPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TupleLiteralPartCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop196;
}
} while (true);
otherlv_5=(Token)match(input,21,FollowSets000.FOLLOW_2); 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"
// InternalQVTrelation.g:8300:1: entryRuleTupleLiteralPartCS returns [EObject current=null] : iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF ;
public final EObject entryRuleTupleLiteralPartCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTupleLiteralPartCS = null;
try {
// InternalQVTrelation.g:8300:59: (iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF )
// InternalQVTrelation.g:8301:2: iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleLiteralPartCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTupleLiteralPartCS=ruleTupleLiteralPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTupleLiteralPartCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTupleLiteralPartCS"
// $ANTLR start "ruleTupleLiteralPartCS"
// InternalQVTrelation.g:8307:1: ruleTupleLiteralPartCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_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_ownedInitExpression_4_0 = null;
enterRule();
try {
// InternalQVTrelation.g:8313:2: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) ) )
// InternalQVTrelation.g:8314:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )
{
// InternalQVTrelation.g:8314:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )
// InternalQVTrelation.g:8315:3: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
{
// InternalQVTrelation.g:8315:3: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:8316:4: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:8316:4: (lv_name_0_0= ruleUnrestrictedName )
// InternalQVTrelation.g:8317:5: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_114);
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,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:8334:3: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )?
int alt197=2;
int LA197_0 = input.LA(1);
if ( (LA197_0==18) ) {
alt197=1;
}
switch (alt197) {
case 1 :
// InternalQVTrelation.g:8335:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
{
otherlv_1=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getTupleLiteralPartCSAccess().getColonKeyword_1_0());
}
// InternalQVTrelation.g:8339:4: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:8340:5: (lv_ownedType_2_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:8340:5: (lv_ownedType_2_0= ruleTypeExpCS )
// InternalQVTrelation.g:8341:6: lv_ownedType_2_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_3=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getTupleLiteralPartCSAccess().getEqualsSignKeyword_2());
}
// InternalQVTrelation.g:8363:3: ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
// InternalQVTrelation.g:8364:4: (lv_ownedInitExpression_4_0= ruleExpCS )
{
// InternalQVTrelation.g:8364:4: (lv_ownedInitExpression_4_0= ruleExpCS )
// InternalQVTrelation.g:8365:5: lv_ownedInitExpression_4_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getOwnedInitExpressionExpCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_4_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTupleLiteralPartCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTupleLiteralPartCS"
// $ANTLR start "entryRuleNumberLiteralExpCS"
// InternalQVTrelation.g:8386:1: entryRuleNumberLiteralExpCS returns [EObject current=null] : iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF ;
public final EObject entryRuleNumberLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNumberLiteralExpCS = null;
try {
// InternalQVTrelation.g:8386:59: (iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF )
// InternalQVTrelation.g:8387:2: iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNumberLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNumberLiteralExpCS=ruleNumberLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNumberLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNumberLiteralExpCS"
// $ANTLR start "ruleNumberLiteralExpCS"
// InternalQVTrelation.g:8393:1: ruleNumberLiteralExpCS returns [EObject current=null] : ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) ) ;
public final EObject ruleNumberLiteralExpCS() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_symbol_0_0 = null;
enterRule();
try {
// InternalQVTrelation.g:8399:2: ( ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) ) )
// InternalQVTrelation.g:8400:2: ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) )
{
// InternalQVTrelation.g:8400:2: ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) )
// InternalQVTrelation.g:8401:3: (lv_symbol_0_0= ruleNUMBER_LITERAL )
{
// InternalQVTrelation.g:8401:3: (lv_symbol_0_0= ruleNUMBER_LITERAL )
// InternalQVTrelation.g:8402:4: lv_symbol_0_0= ruleNUMBER_LITERAL
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNumberLiteralExpCSAccess().getSymbolNUMBER_LITERALParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_symbol_0_0=ruleNUMBER_LITERAL();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNumberLiteralExpCSRule());
}
set(
current,
"symbol",
lv_symbol_0_0,
"org.eclipse.ocl.xtext.base.Base.NUMBER_LITERAL");
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNumberLiteralExpCS"
// $ANTLR start "entryRuleStringLiteralExpCS"
// InternalQVTrelation.g:8422:1: entryRuleStringLiteralExpCS returns [EObject current=null] : iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF ;
public final EObject entryRuleStringLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleStringLiteralExpCS = null;
try {
// InternalQVTrelation.g:8422:59: (iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF )
// InternalQVTrelation.g:8423:2: iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStringLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleStringLiteralExpCS=ruleStringLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleStringLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleStringLiteralExpCS"
// $ANTLR start "ruleStringLiteralExpCS"
// InternalQVTrelation.g:8429:1: ruleStringLiteralExpCS returns [EObject current=null] : ( (lv_segments_0_0= ruleStringLiteral ) )+ ;
public final EObject ruleStringLiteralExpCS() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_segments_0_0 = null;
enterRule();
try {
// InternalQVTrelation.g:8435:2: ( ( (lv_segments_0_0= ruleStringLiteral ) )+ )
// InternalQVTrelation.g:8436:2: ( (lv_segments_0_0= ruleStringLiteral ) )+
{
// InternalQVTrelation.g:8436:2: ( (lv_segments_0_0= ruleStringLiteral ) )+
int cnt198=0;
loop198:
do {
int alt198=2;
int LA198_0 = input.LA(1);
if ( (LA198_0==RULE_SINGLE_QUOTED_STRING) ) {
alt198=1;
}
switch (alt198) {
case 1 :
// InternalQVTrelation.g:8437:3: (lv_segments_0_0= ruleStringLiteral )
{
// InternalQVTrelation.g:8437:3: (lv_segments_0_0= ruleStringLiteral )
// InternalQVTrelation.g:8438:4: lv_segments_0_0= ruleStringLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStringLiteralExpCSAccess().getSegmentsStringLiteralParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_115);
lv_segments_0_0=ruleStringLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStringLiteralExpCSRule());
}
add(
current,
"segments",
lv_segments_0_0,
"org.eclipse.ocl.xtext.base.Base.StringLiteral");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt198 >= 1 ) break loop198;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(198, input);
throw eee;
}
cnt198++;
} while (true);
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleStringLiteralExpCS"
// $ANTLR start "entryRuleBooleanLiteralExpCS"
// InternalQVTrelation.g:8458:1: entryRuleBooleanLiteralExpCS returns [EObject current=null] : iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF ;
public final EObject entryRuleBooleanLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleBooleanLiteralExpCS = null;
try {
// InternalQVTrelation.g:8458:60: (iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF )
// InternalQVTrelation.g:8459:2: iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBooleanLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleBooleanLiteralExpCS=ruleBooleanLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleBooleanLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBooleanLiteralExpCS"
// $ANTLR start "ruleBooleanLiteralExpCS"
// InternalQVTrelation.g:8465:1: ruleBooleanLiteralExpCS returns [EObject current=null] : ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) ) ;
public final EObject ruleBooleanLiteralExpCS() throws RecognitionException {
EObject current = null;
Token lv_symbol_0_0=null;
Token lv_symbol_1_0=null;
enterRule();
try {
// InternalQVTrelation.g:8471:2: ( ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) ) )
// InternalQVTrelation.g:8472:2: ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) )
{
// InternalQVTrelation.g:8472:2: ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) )
int alt199=2;
int LA199_0 = input.LA(1);
if ( (LA199_0==132) ) {
alt199=1;
}
else if ( (LA199_0==133) ) {
alt199=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 199, 0, input);
throw nvae;
}
switch (alt199) {
case 1 :
// InternalQVTrelation.g:8473:3: ( (lv_symbol_0_0= 'true' ) )
{
// InternalQVTrelation.g:8473:3: ( (lv_symbol_0_0= 'true' ) )
// InternalQVTrelation.g:8474:4: (lv_symbol_0_0= 'true' )
{
// InternalQVTrelation.g:8474:4: (lv_symbol_0_0= 'true' )
// InternalQVTrelation.g:8475:5: lv_symbol_0_0= 'true'
{
lv_symbol_0_0=(Token)match(input,132,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_symbol_0_0, grammarAccess.getBooleanLiteralExpCSAccess().getSymbolTrueKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getBooleanLiteralExpCSRule());
}
setWithLastConsumed(current, "symbol", lv_symbol_0_0, "true");
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:8488:3: ( (lv_symbol_1_0= 'false' ) )
{
// InternalQVTrelation.g:8488:3: ( (lv_symbol_1_0= 'false' ) )
// InternalQVTrelation.g:8489:4: (lv_symbol_1_0= 'false' )
{
// InternalQVTrelation.g:8489:4: (lv_symbol_1_0= 'false' )
// InternalQVTrelation.g:8490:5: lv_symbol_1_0= 'false'
{
lv_symbol_1_0=(Token)match(input,133,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_symbol_1_0, grammarAccess.getBooleanLiteralExpCSAccess().getSymbolFalseKeyword_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getBooleanLiteralExpCSRule());
}
setWithLastConsumed(current, "symbol", lv_symbol_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"
// InternalQVTrelation.g:8506:1: entryRuleUnlimitedNaturalLiteralExpCS returns [EObject current=null] : iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF ;
public final EObject entryRuleUnlimitedNaturalLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleUnlimitedNaturalLiteralExpCS = null;
try {
// InternalQVTrelation.g:8506:69: (iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF )
// InternalQVTrelation.g:8507:2: iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnlimitedNaturalLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleUnlimitedNaturalLiteralExpCS=ruleUnlimitedNaturalLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleUnlimitedNaturalLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleUnlimitedNaturalLiteralExpCS"
// $ANTLR start "ruleUnlimitedNaturalLiteralExpCS"
// InternalQVTrelation.g:8513:1: ruleUnlimitedNaturalLiteralExpCS returns [EObject current=null] : ( () otherlv_1= '*' ) ;
public final EObject ruleUnlimitedNaturalLiteralExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalQVTrelation.g:8519:2: ( ( () otherlv_1= '*' ) )
// InternalQVTrelation.g:8520:2: ( () otherlv_1= '*' )
{
// InternalQVTrelation.g:8520:2: ( () otherlv_1= '*' )
// InternalQVTrelation.g:8521:3: () otherlv_1= '*'
{
// InternalQVTrelation.g:8521:3: ()
// InternalQVTrelation.g:8522:4:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,48,FollowSets000.FOLLOW_2); 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"
// InternalQVTrelation.g:8539:1: entryRuleInvalidLiteralExpCS returns [EObject current=null] : iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF ;
public final EObject entryRuleInvalidLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleInvalidLiteralExpCS = null;
try {
// InternalQVTrelation.g:8539:60: (iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF )
// InternalQVTrelation.g:8540:2: iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInvalidLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleInvalidLiteralExpCS=ruleInvalidLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleInvalidLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInvalidLiteralExpCS"
// $ANTLR start "ruleInvalidLiteralExpCS"
// InternalQVTrelation.g:8546:1: ruleInvalidLiteralExpCS returns [EObject current=null] : ( () otherlv_1= 'invalid' ) ;
public final EObject ruleInvalidLiteralExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalQVTrelation.g:8552:2: ( ( () otherlv_1= 'invalid' ) )
// InternalQVTrelation.g:8553:2: ( () otherlv_1= 'invalid' )
{
// InternalQVTrelation.g:8553:2: ( () otherlv_1= 'invalid' )
// InternalQVTrelation.g:8554:3: () otherlv_1= 'invalid'
{
// InternalQVTrelation.g:8554:3: ()
// InternalQVTrelation.g:8555:4:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,134,FollowSets000.FOLLOW_2); 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"
// InternalQVTrelation.g:8572:1: entryRuleNullLiteralExpCS returns [EObject current=null] : iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF ;
public final EObject entryRuleNullLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNullLiteralExpCS = null;
try {
// InternalQVTrelation.g:8572:57: (iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF )
// InternalQVTrelation.g:8573:2: iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNullLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNullLiteralExpCS=ruleNullLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNullLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNullLiteralExpCS"
// $ANTLR start "ruleNullLiteralExpCS"
// InternalQVTrelation.g:8579:1: ruleNullLiteralExpCS returns [EObject current=null] : ( () otherlv_1= 'null' ) ;
public final EObject ruleNullLiteralExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalQVTrelation.g:8585:2: ( ( () otherlv_1= 'null' ) )
// InternalQVTrelation.g:8586:2: ( () otherlv_1= 'null' )
{
// InternalQVTrelation.g:8586:2: ( () otherlv_1= 'null' )
// InternalQVTrelation.g:8587:3: () otherlv_1= 'null'
{
// InternalQVTrelation.g:8587:3: ()
// InternalQVTrelation.g:8588:4:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,135,FollowSets000.FOLLOW_2); 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"
// InternalQVTrelation.g:8605:1: entryRuleTypeLiteralCS returns [EObject current=null] : iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF ;
public final EObject entryRuleTypeLiteralCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeLiteralCS = null;
try {
// InternalQVTrelation.g:8605:54: (iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF )
// InternalQVTrelation.g:8606:2: iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeLiteralCS=ruleTypeLiteralCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeLiteralCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeLiteralCS"
// $ANTLR start "ruleTypeLiteralCS"
// InternalQVTrelation.g:8612:1: ruleTypeLiteralCS returns [EObject current=null] : (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_MapTypeCS_2= ruleMapTypeCS | this_TupleTypeCS_3= ruleTupleTypeCS ) ;
public final EObject ruleTypeLiteralCS() throws RecognitionException {
EObject current = null;
EObject this_PrimitiveTypeCS_0 = null;
EObject this_CollectionTypeCS_1 = null;
EObject this_MapTypeCS_2 = null;
EObject this_TupleTypeCS_3 = null;
enterRule();
try {
// InternalQVTrelation.g:8618:2: ( (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_MapTypeCS_2= ruleMapTypeCS | this_TupleTypeCS_3= ruleTupleTypeCS ) )
// InternalQVTrelation.g:8619:2: (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_MapTypeCS_2= ruleMapTypeCS | this_TupleTypeCS_3= ruleTupleTypeCS )
{
// InternalQVTrelation.g:8619:2: (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_MapTypeCS_2= ruleMapTypeCS | this_TupleTypeCS_3= ruleTupleTypeCS )
int alt200=4;
switch ( input.LA(1) ) {
case 116:
case 117:
case 118:
case 119:
case 120:
case 121:
case 122:
case 123:
{
alt200=1;
}
break;
case 124:
case 125:
case 126:
case 127:
case 128:
{
alt200=2;
}
break;
case 114:
{
alt200=3;
}
break;
case 115:
{
alt200=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 200, 0, input);
throw nvae;
}
switch (alt200) {
case 1 :
// InternalQVTrelation.g:8620:3: this_PrimitiveTypeCS_0= rulePrimitiveTypeCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getPrimitiveTypeCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_PrimitiveTypeCS_0=rulePrimitiveTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_PrimitiveTypeCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:8632:3: this_CollectionTypeCS_1= ruleCollectionTypeCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getCollectionTypeCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_CollectionTypeCS_1=ruleCollectionTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_CollectionTypeCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalQVTrelation.g:8644:3: this_MapTypeCS_2= ruleMapTypeCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getMapTypeCSParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_MapTypeCS_2=ruleMapTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_MapTypeCS_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalQVTrelation.g:8656:3: this_TupleTypeCS_3= ruleTupleTypeCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getTupleTypeCSParserRuleCall_3());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TupleTypeCS_3=ruleTupleTypeCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TupleTypeCS_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeLiteralCS"
// $ANTLR start "entryRuleTypeLiteralWithMultiplicityCS"
// InternalQVTrelation.g:8671:1: entryRuleTypeLiteralWithMultiplicityCS returns [EObject current=null] : iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF ;
public final EObject entryRuleTypeLiteralWithMultiplicityCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeLiteralWithMultiplicityCS = null;
try {
// InternalQVTrelation.g:8671:70: (iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF )
// InternalQVTrelation.g:8672:2: iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralWithMultiplicityCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeLiteralWithMultiplicityCS=ruleTypeLiteralWithMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeLiteralWithMultiplicityCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeLiteralWithMultiplicityCS"
// $ANTLR start "ruleTypeLiteralWithMultiplicityCS"
// InternalQVTrelation.g:8678:1: ruleTypeLiteralWithMultiplicityCS returns [EObject current=null] : (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) ;
public final EObject ruleTypeLiteralWithMultiplicityCS() throws RecognitionException {
EObject current = null;
EObject this_TypeLiteralCS_0 = null;
EObject lv_ownedMultiplicity_1_0 = null;
enterRule();
try {
// InternalQVTrelation.g:8684:2: ( (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) )
// InternalQVTrelation.g:8685:2: (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
{
// InternalQVTrelation.g:8685:2: (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
// InternalQVTrelation.g:8686:3: this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralWithMultiplicityCSAccess().getTypeLiteralCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_57);
this_TypeLiteralCS_0=ruleTypeLiteralCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypeLiteralCS_0;
afterParserOrEnumRuleCall();
}
// InternalQVTrelation.g:8697:3: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
int alt201=2;
int LA201_0 = input.LA(1);
if ( (LA201_0==138) ) {
alt201=1;
}
switch (alt201) {
case 1 :
// InternalQVTrelation.g:8698:4: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
{
// InternalQVTrelation.g:8698:4: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
// InternalQVTrelation.g:8699:5: lv_ownedMultiplicity_1_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralWithMultiplicityCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedMultiplicity_1_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeLiteralWithMultiplicityCSRule());
}
set(
current,
"ownedMultiplicity",
lv_ownedMultiplicity_1_0,
"org.eclipse.ocl.xtext.base.Base.MultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeLiteralWithMultiplicityCS"
// $ANTLR start "entryRuleTypeLiteralExpCS"
// InternalQVTrelation.g:8720:1: entryRuleTypeLiteralExpCS returns [EObject current=null] : iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF ;
public final EObject entryRuleTypeLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeLiteralExpCS = null;
try {
// InternalQVTrelation.g:8720:57: (iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF )
// InternalQVTrelation.g:8721:2: iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeLiteralExpCS=ruleTypeLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeLiteralExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeLiteralExpCS"
// $ANTLR start "ruleTypeLiteralExpCS"
// InternalQVTrelation.g:8727:1: ruleTypeLiteralExpCS returns [EObject current=null] : ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) ) ;
public final EObject ruleTypeLiteralExpCS() throws RecognitionException {
EObject current = null;
EObject lv_ownedType_0_0 = null;
enterRule();
try {
// InternalQVTrelation.g:8733:2: ( ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) ) )
// InternalQVTrelation.g:8734:2: ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) )
{
// InternalQVTrelation.g:8734:2: ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) )
// InternalQVTrelation.g:8735:3: (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS )
{
// InternalQVTrelation.g:8735:3: (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS )
// InternalQVTrelation.g:8736:4: lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeTypeLiteralWithMultiplicityCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedType_0_0=ruleTypeLiteralWithMultiplicityCS();
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeLiteralWithMultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeLiteralExpCS"
// $ANTLR start "entryRuleTypeNameExpCS"
// InternalQVTrelation.g:8756:1: entryRuleTypeNameExpCS returns [EObject current=null] : iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF ;
public final EObject entryRuleTypeNameExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeNameExpCS = null;
try {
// InternalQVTrelation.g:8756:54: (iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF )
// InternalQVTrelation.g:8757:2: iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeNameExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeNameExpCS=ruleTypeNameExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeNameExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeNameExpCS"
// $ANTLR start "ruleTypeNameExpCS"
// InternalQVTrelation.g:8763:1: ruleTypeNameExpCS returns [EObject current=null] : ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? ) ;
public final EObject ruleTypeNameExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_ownedPathName_0_0 = null;
EObject lv_ownedCurlyBracketedClause_1_0 = null;
EObject lv_ownedPatternGuard_3_0 = null;
enterRule();
try {
// InternalQVTrelation.g:8769:2: ( ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? ) )
// InternalQVTrelation.g:8770:2: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? )
{
// InternalQVTrelation.g:8770:2: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? )
// InternalQVTrelation.g:8771:3: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )?
{
// InternalQVTrelation.g:8771:3: ( (lv_ownedPathName_0_0= rulePathNameCS ) )
// InternalQVTrelation.g:8772:4: (lv_ownedPathName_0_0= rulePathNameCS )
{
// InternalQVTrelation.g:8772:4: (lv_ownedPathName_0_0= rulePathNameCS )
// InternalQVTrelation.g:8773:5: lv_ownedPathName_0_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_13);
lv_ownedPathName_0_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeNameExpCSRule());
}
set(
current,
"ownedPathName",
lv_ownedPathName_0_0,
"org.eclipse.ocl.xtext.base.Base.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:8790:3: ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )?
int alt203=2;
alt203 = dfa203.predict(input);
switch (alt203) {
case 1 :
// InternalQVTrelation.g:8791:4: ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )?
{
// InternalQVTrelation.g:8791:4: ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) )
// InternalQVTrelation.g:8792:5: (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS )
{
// InternalQVTrelation.g:8792:5: (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS )
// InternalQVTrelation.g:8793:6: lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedCurlyBracketedClauseCurlyBracketedClauseCSParserRuleCall_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_13);
lv_ownedCurlyBracketedClause_1_0=ruleCurlyBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeNameExpCSRule());
}
set(
current,
"ownedCurlyBracketedClause",
lv_ownedCurlyBracketedClause_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CurlyBracketedClauseCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:8810:4: (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )?
int alt202=2;
alt202 = dfa202.predict(input);
switch (alt202) {
case 1 :
// InternalQVTrelation.g:8811:5: otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}'
{
otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getTypeNameExpCSAccess().getLeftCurlyBracketKeyword_1_1_0());
}
// InternalQVTrelation.g:8815:5: ( (lv_ownedPatternGuard_3_0= ruleExpCS ) )
// InternalQVTrelation.g:8816:6: (lv_ownedPatternGuard_3_0= ruleExpCS )
{
// InternalQVTrelation.g:8816:6: (lv_ownedPatternGuard_3_0= ruleExpCS )
// InternalQVTrelation.g:8817:7: lv_ownedPatternGuard_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedPatternGuardExpCSParserRuleCall_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_ownedPatternGuard_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeNameExpCSRule());
}
set(
current,
"ownedPatternGuard",
lv_ownedPatternGuard_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getTypeNameExpCSAccess().getRightCurlyBracketKeyword_1_1_2());
}
}
break;
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeNameExpCS"
// $ANTLR start "entryRuleTypeExpWithoutMultiplicityCS"
// InternalQVTrelation.g:8844:1: entryRuleTypeExpWithoutMultiplicityCS returns [EObject current=null] : iv_ruleTypeExpWithoutMultiplicityCS= ruleTypeExpWithoutMultiplicityCS EOF ;
public final EObject entryRuleTypeExpWithoutMultiplicityCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeExpWithoutMultiplicityCS = null;
try {
// InternalQVTrelation.g:8844:69: (iv_ruleTypeExpWithoutMultiplicityCS= ruleTypeExpWithoutMultiplicityCS EOF )
// InternalQVTrelation.g:8845:2: iv_ruleTypeExpWithoutMultiplicityCS= ruleTypeExpWithoutMultiplicityCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeExpWithoutMultiplicityCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeExpWithoutMultiplicityCS=ruleTypeExpWithoutMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeExpWithoutMultiplicityCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeExpWithoutMultiplicityCS"
// $ANTLR start "ruleTypeExpWithoutMultiplicityCS"
// InternalQVTrelation.g:8851:1: ruleTypeExpWithoutMultiplicityCS returns [EObject current=null] : (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ;
public final EObject ruleTypeExpWithoutMultiplicityCS() throws RecognitionException {
EObject current = null;
EObject this_TypeNameExpCS_0 = null;
EObject this_TypeLiteralCS_1 = null;
EObject this_CollectionPatternCS_2 = null;
enterRule();
try {
// InternalQVTrelation.g:8857:2: ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) )
// InternalQVTrelation.g:8858:2: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS )
{
// InternalQVTrelation.g:8858:2: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS )
int alt204=3;
alt204 = dfa204.predict(input);
switch (alt204) {
case 1 :
// InternalQVTrelation.g:8859:3: this_TypeNameExpCS_0= ruleTypeNameExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeExpWithoutMultiplicityCSAccess().getTypeNameExpCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TypeNameExpCS_0=ruleTypeNameExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypeNameExpCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:8871:3: this_TypeLiteralCS_1= ruleTypeLiteralCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeExpWithoutMultiplicityCSAccess().getTypeLiteralCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TypeLiteralCS_1=ruleTypeLiteralCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypeLiteralCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalQVTrelation.g:8883:3: this_CollectionPatternCS_2= ruleCollectionPatternCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeExpWithoutMultiplicityCSAccess().getCollectionPatternCSParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_CollectionPatternCS_2=ruleCollectionPatternCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_CollectionPatternCS_2;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeExpWithoutMultiplicityCS"
// $ANTLR start "entryRuleTypeExpCS"
// InternalQVTrelation.g:8898:1: entryRuleTypeExpCS returns [EObject current=null] : iv_ruleTypeExpCS= ruleTypeExpCS EOF ;
public final EObject entryRuleTypeExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeExpCS = null;
try {
// InternalQVTrelation.g:8898:50: (iv_ruleTypeExpCS= ruleTypeExpCS EOF )
// InternalQVTrelation.g:8899:2: iv_ruleTypeExpCS= ruleTypeExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeExpCS=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeExpCS"
// $ANTLR start "ruleTypeExpCS"
// InternalQVTrelation.g:8905:1: ruleTypeExpCS returns [EObject current=null] : (this_TypeExpWithoutMultiplicityCS_0= ruleTypeExpWithoutMultiplicityCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) ;
public final EObject ruleTypeExpCS() throws RecognitionException {
EObject current = null;
EObject this_TypeExpWithoutMultiplicityCS_0 = null;
EObject lv_ownedMultiplicity_1_0 = null;
enterRule();
try {
// InternalQVTrelation.g:8911:2: ( (this_TypeExpWithoutMultiplicityCS_0= ruleTypeExpWithoutMultiplicityCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) )
// InternalQVTrelation.g:8912:2: (this_TypeExpWithoutMultiplicityCS_0= ruleTypeExpWithoutMultiplicityCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
{
// InternalQVTrelation.g:8912:2: (this_TypeExpWithoutMultiplicityCS_0= ruleTypeExpWithoutMultiplicityCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
// InternalQVTrelation.g:8913:3: this_TypeExpWithoutMultiplicityCS_0= ruleTypeExpWithoutMultiplicityCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeExpCSAccess().getTypeExpWithoutMultiplicityCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_57);
this_TypeExpWithoutMultiplicityCS_0=ruleTypeExpWithoutMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypeExpWithoutMultiplicityCS_0;
afterParserOrEnumRuleCall();
}
// InternalQVTrelation.g:8924:3: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
int alt205=2;
int LA205_0 = input.LA(1);
if ( (LA205_0==138) ) {
alt205=1;
}
switch (alt205) {
case 1 :
// InternalQVTrelation.g:8925:4: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
{
// InternalQVTrelation.g:8925:4: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
// InternalQVTrelation.g:8926:5: lv_ownedMultiplicity_1_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeExpCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedMultiplicity_1_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeExpCSRule());
}
set(
current,
"ownedMultiplicity",
lv_ownedMultiplicity_1_0,
"org.eclipse.ocl.xtext.base.Base.MultiplicityCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeExpCS"
// $ANTLR start "entryRuleExpCS"
// InternalQVTrelation.g:8947:1: entryRuleExpCS returns [EObject current=null] : iv_ruleExpCS= ruleExpCS EOF ;
public final EObject entryRuleExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleExpCS = null;
try {
// InternalQVTrelation.g:8947:46: (iv_ruleExpCS= ruleExpCS EOF )
// InternalQVTrelation.g:8948:2: iv_ruleExpCS= ruleExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleExpCS=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExpCS"
// $ANTLR start "ruleExpCS"
// InternalQVTrelation.g:8954:1: ruleExpCS returns [EObject current=null] : ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS ) ;
public final EObject ruleExpCS() throws RecognitionException {
EObject current = null;
EObject this_PrefixedPrimaryExpCS_0 = null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_ownedRight_3_0 = null;
EObject this_PrefixedLetExpCS_4 = null;
enterRule();
try {
// InternalQVTrelation.g:8960:2: ( ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS ) )
// InternalQVTrelation.g:8961:2: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS )
{
// InternalQVTrelation.g:8961:2: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS )
int alt207=2;
alt207 = dfa207.predict(input);
switch (alt207) {
case 1 :
// InternalQVTrelation.g:8962:3: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
{
// InternalQVTrelation.g:8962:3: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
// InternalQVTrelation.g:8963:4: this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSAccess().getPrefixedPrimaryExpCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_116);
this_PrefixedPrimaryExpCS_0=rulePrefixedPrimaryExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_PrefixedPrimaryExpCS_0;
afterParserOrEnumRuleCall();
}
// InternalQVTrelation.g:8974:4: ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
int alt206=2;
int LA206_0 = input.LA(1);
if ( (LA206_0==19||LA206_0==48||LA206_0==92||(LA206_0>=95 && LA206_0<=113)) ) {
alt206=1;
}
switch (alt206) {
case 1 :
// InternalQVTrelation.g:8975:5: () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) )
{
// InternalQVTrelation.g:8975:5: ()
// InternalQVTrelation.g:8976:6:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpCSAccess().getInfixExpCSOwnedLeftAction_0_1_0(),
current);
}
}
// InternalQVTrelation.g:8985:5: ( (lv_name_2_0= ruleBinaryOperatorName ) )
// InternalQVTrelation.g:8986:6: (lv_name_2_0= ruleBinaryOperatorName )
{
// InternalQVTrelation.g:8986:6: (lv_name_2_0= ruleBinaryOperatorName )
// InternalQVTrelation.g:8987:7: lv_name_2_0= ruleBinaryOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSAccess().getNameBinaryOperatorNameParserRuleCall_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_19);
lv_name_2_0=ruleBinaryOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getExpCSRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.BinaryOperatorName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:9004:5: ( (lv_ownedRight_3_0= ruleExpCS ) )
// InternalQVTrelation.g:9005:6: (lv_ownedRight_3_0= ruleExpCS )
{
// InternalQVTrelation.g:9005:6: (lv_ownedRight_3_0= ruleExpCS )
// InternalQVTrelation.g:9006:7: lv_ownedRight_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSAccess().getOwnedRightExpCSParserRuleCall_0_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedRight_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getExpCSRule());
}
set(
current,
"ownedRight",
lv_ownedRight_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalQVTrelation.g:9026:3: this_PrefixedLetExpCS_4= rulePrefixedLetExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSAccess().getPrefixedLetExpCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_PrefixedLetExpCS_4=rulePrefixedLetExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_PrefixedLetExpCS_4;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExpCS"
// $ANTLR start "entryRulePrefixedLetExpCS"
// InternalQVTrelation.g:9041:1: entryRulePrefixedLetExpCS returns [EObject current=null] : iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF ;
public final EObject entryRulePrefixedLetExpCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePrefixedLetExpCS = null;
try {
// InternalQVTrelation.g:9041:57: (iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF )
// InternalQVTrelation.g:9042:2: iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedLetExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePrefixedLetExpCS=rulePrefixedLetExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrefixedLetExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrefixedLetExpCS"
// $ANTLR start "rulePrefixedLetExpCS"
// InternalQVTrelation.g:9048:1: rulePrefixedLetExpCS returns [EObject current=null] : ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS ) ;
public final EObject rulePrefixedLetExpCS() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_ownedRight_2_0 = null;
EObject this_LetExpCS_3 = null;
enterRule();
try {
// InternalQVTrelation.g:9054:2: ( ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS ) )
// InternalQVTrelation.g:9055:2: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS )
{
// InternalQVTrelation.g:9055:2: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS )
int alt208=2;
int LA208_0 = input.LA(1);
if ( ((LA208_0>=92 && LA208_0<=94)) ) {
alt208=1;
}
else if ( (LA208_0==147) ) {
alt208=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 208, 0, input);
throw nvae;
}
switch (alt208) {
case 1 :
// InternalQVTrelation.g:9056:3: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) )
{
// InternalQVTrelation.g:9056:3: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) )
// InternalQVTrelation.g:9057:4: () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) )
{
// InternalQVTrelation.g:9057:4: ()
// InternalQVTrelation.g:9058:5:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getPrefixedLetExpCSAccess().getPrefixExpCSAction_0_0(),
current);
}
}
// InternalQVTrelation.g:9067:4: ( (lv_name_1_0= ruleUnaryOperatorName ) )
// InternalQVTrelation.g:9068:5: (lv_name_1_0= ruleUnaryOperatorName )
{
// InternalQVTrelation.g:9068:5: (lv_name_1_0= ruleUnaryOperatorName )
// InternalQVTrelation.g:9069:6: lv_name_1_0= ruleUnaryOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedLetExpCSAccess().getNameUnaryOperatorNameParserRuleCall_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_19);
lv_name_1_0=ruleUnaryOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrefixedLetExpCSRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.UnaryOperatorName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:9086:4: ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) )
// InternalQVTrelation.g:9087:5: (lv_ownedRight_2_0= rulePrefixedLetExpCS )
{
// InternalQVTrelation.g:9087:5: (lv_ownedRight_2_0= rulePrefixedLetExpCS )
// InternalQVTrelation.g:9088:6: lv_ownedRight_2_0= rulePrefixedLetExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedLetExpCSAccess().getOwnedRightPrefixedLetExpCSParserRuleCall_0_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedRight_2_0=rulePrefixedLetExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrefixedLetExpCSRule());
}
set(
current,
"ownedRight",
lv_ownedRight_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PrefixedLetExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:9107:3: this_LetExpCS_3= ruleLetExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedLetExpCSAccess().getLetExpCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_LetExpCS_3=ruleLetExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_LetExpCS_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrefixedLetExpCS"
// $ANTLR start "entryRulePrefixedPrimaryExpCS"
// InternalQVTrelation.g:9122:1: entryRulePrefixedPrimaryExpCS returns [EObject current=null] : iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF ;
public final EObject entryRulePrefixedPrimaryExpCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePrefixedPrimaryExpCS = null;
try {
// InternalQVTrelation.g:9122:61: (iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF )
// InternalQVTrelation.g:9123:2: iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePrefixedPrimaryExpCS=rulePrefixedPrimaryExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrefixedPrimaryExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrefixedPrimaryExpCS"
// $ANTLR start "rulePrefixedPrimaryExpCS"
// InternalQVTrelation.g:9129:1: rulePrefixedPrimaryExpCS returns [EObject current=null] : ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS ) ;
public final EObject rulePrefixedPrimaryExpCS() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_ownedRight_2_0 = null;
EObject this_PrimaryExpCS_3 = null;
enterRule();
try {
// InternalQVTrelation.g:9135:2: ( ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS ) )
// InternalQVTrelation.g:9136:2: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS )
{
// InternalQVTrelation.g:9136:2: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS )
int alt209=2;
int LA209_0 = input.LA(1);
if ( ((LA209_0>=92 && LA209_0<=94)) ) {
alt209=1;
}
else if ( (LA209_0==RULE_SINGLE_QUOTED_STRING||(LA209_0>=RULE_INT && LA209_0<=RULE_ESCAPED_ID)||LA209_0==17||(LA209_0>=25 && LA209_0<=33)||(LA209_0>=35 && LA209_0<=43)||(LA209_0>=45 && LA209_0<=59)||LA209_0==61||LA209_0==63||LA209_0==65||LA209_0==68||LA209_0==70||LA209_0==72||(LA209_0>=74 && LA209_0<=77)||(LA209_0>=79 && LA209_0<=84)||LA209_0==86||LA209_0==88||(LA209_0>=90 && LA209_0<=91)||(LA209_0>=114 && LA209_0<=128)||LA209_0==130||(LA209_0>=132 && LA209_0<=135)||LA209_0==142||LA209_0==148) ) {
alt209=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 209, 0, input);
throw nvae;
}
switch (alt209) {
case 1 :
// InternalQVTrelation.g:9137:3: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) )
{
// InternalQVTrelation.g:9137:3: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) )
// InternalQVTrelation.g:9138:4: () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) )
{
// InternalQVTrelation.g:9138:4: ()
// InternalQVTrelation.g:9139:5:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getPrefixedPrimaryExpCSAccess().getPrefixExpCSAction_0_0(),
current);
}
}
// InternalQVTrelation.g:9148:4: ( (lv_name_1_0= ruleUnaryOperatorName ) )
// InternalQVTrelation.g:9149:5: (lv_name_1_0= ruleUnaryOperatorName )
{
// InternalQVTrelation.g:9149:5: (lv_name_1_0= ruleUnaryOperatorName )
// InternalQVTrelation.g:9150:6: lv_name_1_0= ruleUnaryOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSAccess().getNameUnaryOperatorNameParserRuleCall_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_27);
lv_name_1_0=ruleUnaryOperatorName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrefixedPrimaryExpCSRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.UnaryOperatorName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:9167:4: ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) )
// InternalQVTrelation.g:9168:5: (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS )
{
// InternalQVTrelation.g:9168:5: (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS )
// InternalQVTrelation.g:9169:6: lv_ownedRight_2_0= rulePrefixedPrimaryExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSAccess().getOwnedRightPrefixedPrimaryExpCSParserRuleCall_0_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedRight_2_0=rulePrefixedPrimaryExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrefixedPrimaryExpCSRule());
}
set(
current,
"ownedRight",
lv_ownedRight_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PrefixedPrimaryExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalQVTrelation.g:9188:3: this_PrimaryExpCS_3= rulePrimaryExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSAccess().getPrimaryExpCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_PrimaryExpCS_3=rulePrimaryExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_PrimaryExpCS_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrefixedPrimaryExpCS"
// $ANTLR start "entryRulePrimaryExpCS"
// InternalQVTrelation.g:9203:1: entryRulePrimaryExpCS returns [EObject current=null] : iv_rulePrimaryExpCS= rulePrimaryExpCS EOF ;
public final EObject entryRulePrimaryExpCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePrimaryExpCS = null;
try {
// InternalQVTrelation.g:9203:53: (iv_rulePrimaryExpCS= rulePrimaryExpCS EOF )
// InternalQVTrelation.g:9204:2: iv_rulePrimaryExpCS= rulePrimaryExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePrimaryExpCS=rulePrimaryExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrimaryExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrimaryExpCS"
// $ANTLR start "rulePrimaryExpCS"
// InternalQVTrelation.g:9210:1: rulePrimaryExpCS returns [EObject current=null] : (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_MapLiteralExpCS_5= ruleMapLiteralExpCS | this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_7= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS | this_NameExpCS_9= ruleNameExpCS ) ;
public final EObject rulePrimaryExpCS() throws RecognitionException {
EObject current = null;
EObject this_NestedExpCS_0 = null;
EObject this_IfExpCS_1 = null;
EObject this_SelfExpCS_2 = null;
EObject this_PrimitiveLiteralExpCS_3 = null;
EObject this_TupleLiteralExpCS_4 = null;
EObject this_MapLiteralExpCS_5 = null;
EObject this_CollectionLiteralExpCS_6 = null;
EObject this_LambdaLiteralExpCS_7 = null;
EObject this_TypeLiteralExpCS_8 = null;
EObject this_NameExpCS_9 = null;
enterRule();
try {
// InternalQVTrelation.g:9216:2: ( (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_MapLiteralExpCS_5= ruleMapLiteralExpCS | this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_7= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS | this_NameExpCS_9= ruleNameExpCS ) )
// InternalQVTrelation.g:9217:2: (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_MapLiteralExpCS_5= ruleMapLiteralExpCS | this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_7= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS | this_NameExpCS_9= ruleNameExpCS )
{
// InternalQVTrelation.g:9217:2: (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_MapLiteralExpCS_5= ruleMapLiteralExpCS | this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_7= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS | this_NameExpCS_9= ruleNameExpCS )
int alt210=10;
alt210 = dfa210.predict(input);
switch (alt210) {
case 1 :
// InternalQVTrelation.g:9218:3: this_NestedExpCS_0= ruleNestedExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getNestedExpCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_NestedExpCS_0=ruleNestedExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_NestedExpCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:9230:3: this_IfExpCS_1= ruleIfExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getIfExpCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_IfExpCS_1=ruleIfExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_IfExpCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalQVTrelation.g:9242:3: this_SelfExpCS_2= ruleSelfExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getSelfExpCSParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_SelfExpCS_2=ruleSelfExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_SelfExpCS_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalQVTrelation.g:9254:3: this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPrimitiveLiteralExpCSParserRuleCall_3());
}
pushFollow(FollowSets000.FOLLOW_2);
this_PrimitiveLiteralExpCS_3=rulePrimitiveLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_PrimitiveLiteralExpCS_3;
afterParserOrEnumRuleCall();
}
}
break;
case 5 :
// InternalQVTrelation.g:9266:3: this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getTupleLiteralExpCSParserRuleCall_4());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TupleLiteralExpCS_4=ruleTupleLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TupleLiteralExpCS_4;
afterParserOrEnumRuleCall();
}
}
break;
case 6 :
// InternalQVTrelation.g:9278:3: this_MapLiteralExpCS_5= ruleMapLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getMapLiteralExpCSParserRuleCall_5());
}
pushFollow(FollowSets000.FOLLOW_2);
this_MapLiteralExpCS_5=ruleMapLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_MapLiteralExpCS_5;
afterParserOrEnumRuleCall();
}
}
break;
case 7 :
// InternalQVTrelation.g:9290:3: this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getCollectionLiteralExpCSParserRuleCall_6());
}
pushFollow(FollowSets000.FOLLOW_2);
this_CollectionLiteralExpCS_6=ruleCollectionLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_CollectionLiteralExpCS_6;
afterParserOrEnumRuleCall();
}
}
break;
case 8 :
// InternalQVTrelation.g:9302:3: this_LambdaLiteralExpCS_7= ruleLambdaLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getLambdaLiteralExpCSParserRuleCall_7());
}
pushFollow(FollowSets000.FOLLOW_2);
this_LambdaLiteralExpCS_7=ruleLambdaLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_LambdaLiteralExpCS_7;
afterParserOrEnumRuleCall();
}
}
break;
case 9 :
// InternalQVTrelation.g:9314:3: this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getTypeLiteralExpCSParserRuleCall_8());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TypeLiteralExpCS_8=ruleTypeLiteralExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypeLiteralExpCS_8;
afterParserOrEnumRuleCall();
}
}
break;
case 10 :
// InternalQVTrelation.g:9326:3: this_NameExpCS_9= ruleNameExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getNameExpCSParserRuleCall_9());
}
pushFollow(FollowSets000.FOLLOW_2);
this_NameExpCS_9=ruleNameExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_NameExpCS_9;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrimaryExpCS"
// $ANTLR start "entryRuleNameExpCS"
// InternalQVTrelation.g:9341:1: entryRuleNameExpCS returns [EObject current=null] : iv_ruleNameExpCS= ruleNameExpCS EOF ;
public final EObject entryRuleNameExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNameExpCS = null;
try {
// InternalQVTrelation.g:9341:50: (iv_ruleNameExpCS= ruleNameExpCS EOF )
// InternalQVTrelation.g:9342:2: iv_ruleNameExpCS= ruleNameExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNameExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNameExpCS=ruleNameExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNameExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNameExpCS"
// $ANTLR start "ruleNameExpCS"
// InternalQVTrelation.g:9348:1: ruleNameExpCS returns [EObject current=null] : ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? ) ;
public final EObject ruleNameExpCS() throws RecognitionException {
EObject current = null;
Token lv_isPre_4_0=null;
Token otherlv_5=null;
EObject lv_ownedPathName_0_0 = null;
EObject lv_ownedSquareBracketedClauses_1_0 = null;
EObject lv_ownedRoundBracketedClause_2_0 = null;
EObject lv_ownedCurlyBracketedClause_3_0 = null;
enterRule();
try {
// InternalQVTrelation.g:9354:2: ( ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? ) )
// InternalQVTrelation.g:9355:2: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? )
{
// InternalQVTrelation.g:9355:2: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? )
// InternalQVTrelation.g:9356:3: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )?
{
// InternalQVTrelation.g:9356:3: ( (lv_ownedPathName_0_0= rulePathNameCS ) )
// InternalQVTrelation.g:9357:4: (lv_ownedPathName_0_0= rulePathNameCS )
{
// InternalQVTrelation.g:9357:4: (lv_ownedPathName_0_0= rulePathNameCS )
// InternalQVTrelation.g:9358:5: lv_ownedPathName_0_0= rulePathNameCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_117);
lv_ownedPathName_0_0=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNameExpCSRule());
}
set(
current,
"ownedPathName",
lv_ownedPathName_0_0,
"org.eclipse.ocl.xtext.base.Base.PathNameCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:9375:3: ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )*
loop211:
do {
int alt211=2;
int LA211_0 = input.LA(1);
if ( (LA211_0==138) ) {
alt211=1;
}
switch (alt211) {
case 1 :
// InternalQVTrelation.g:9376:4: (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS )
{
// InternalQVTrelation.g:9376:4: (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS )
// InternalQVTrelation.g:9377:5: lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedSquareBracketedClausesSquareBracketedClauseCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_117);
lv_ownedSquareBracketedClauses_1_0=ruleSquareBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNameExpCSRule());
}
add(
current,
"ownedSquareBracketedClauses",
lv_ownedSquareBracketedClauses_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.SquareBracketedClauseCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop211;
}
} while (true);
// InternalQVTrelation.g:9394:3: ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )?
int alt212=2;
int LA212_0 = input.LA(1);
if ( (LA212_0==33) ) {
alt212=1;
}
switch (alt212) {
case 1 :
// InternalQVTrelation.g:9395:4: (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS )
{
// InternalQVTrelation.g:9395:4: (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS )
// InternalQVTrelation.g:9396:5: lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedRoundBracketedClauseRoundBracketedClauseCSParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_118);
lv_ownedRoundBracketedClause_2_0=ruleRoundBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNameExpCSRule());
}
set(
current,
"ownedRoundBracketedClause",
lv_ownedRoundBracketedClause_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.RoundBracketedClauseCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalQVTrelation.g:9413:3: ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )?
int alt213=2;
int LA213_0 = input.LA(1);
if ( (LA213_0==20) ) {
alt213=1;
}
switch (alt213) {
case 1 :
// InternalQVTrelation.g:9414:4: (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS )
{
// InternalQVTrelation.g:9414:4: (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS )
// InternalQVTrelation.g:9415:5: lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedCurlyBracketedClauseCurlyBracketedClauseCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_119);
lv_ownedCurlyBracketedClause_3_0=ruleCurlyBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNameExpCSRule());
}
set(
current,
"ownedCurlyBracketedClause",
lv_ownedCurlyBracketedClause_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CurlyBracketedClauseCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalQVTrelation.g:9432:3: ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )?
int alt214=2;
int LA214_0 = input.LA(1);
if ( (LA214_0==136) ) {
alt214=1;
}
switch (alt214) {
case 1 :
// InternalQVTrelation.g:9433:4: ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre'
{
// InternalQVTrelation.g:9433:4: ( (lv_isPre_4_0= '@' ) )
// InternalQVTrelation.g:9434:5: (lv_isPre_4_0= '@' )
{
// InternalQVTrelation.g:9434:5: (lv_isPre_4_0= '@' )
// InternalQVTrelation.g:9435:6: lv_isPre_4_0= '@'
{
lv_isPre_4_0=(Token)match(input,136,FollowSets000.FOLLOW_120); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isPre_4_0, grammarAccess.getNameExpCSAccess().getIsPreCommercialAtKeyword_4_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getNameExpCSRule());
}
setWithLastConsumed(current, "isPre", lv_isPre_4_0 != null, "@");
}
}
}
otherlv_5=(Token)match(input,137,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getNameExpCSAccess().getPreKeyword_4_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNameExpCS"
// $ANTLR start "entryRuleCurlyBracketedClauseCS"
// InternalQVTrelation.g:9456:1: entryRuleCurlyBracketedClauseCS returns [EObject current=null] : iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF ;
public final EObject entryRuleCurlyBracketedClauseCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCurlyBracketedClauseCS = null;
try {
// InternalQVTrelation.g:9456:63: (iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF )
// InternalQVTrelation.g:9457:2: iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCurlyBracketedClauseCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCurlyBracketedClauseCS=ruleCurlyBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCurlyBracketedClauseCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCurlyBracketedClauseCS"
// $ANTLR start "ruleCurlyBracketedClauseCS"
// InternalQVTrelation.g:9463:1: ruleCurlyBracketedClauseCS returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? otherlv_5= '}' ) ;
public final EObject ruleCurlyBracketedClauseCS() throws RecognitionException {
EObject current = 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 {
// InternalQVTrelation.g:9469:2: ( ( () otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? otherlv_5= '}' ) )
// InternalQVTrelation.g:9470:2: ( () otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? otherlv_5= '}' )
{
// InternalQVTrelation.g:9470:2: ( () otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? otherlv_5= '}' )
// InternalQVTrelation.g:9471:3: () otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? otherlv_5= '}'
{
// InternalQVTrelation.g:9471:3: ()
// InternalQVTrelation.g:9472:4:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getCurlyBracketedClauseCSAccess().getCurlyBracketedClauseCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,20,FollowSets000.FOLLOW_121); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCurlyBracketedClauseCSAccess().getLeftCurlyBracketKeyword_1());
}
// InternalQVTrelation.g:9485:3: ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )?
int alt216=2;
int LA216_0 = input.LA(1);
if ( (LA216_0==RULE_SINGLE_QUOTED_STRING||(LA216_0>=RULE_SIMPLE_ID && LA216_0<=RULE_ESCAPED_ID)||LA216_0==17||(LA216_0>=25 && LA216_0<=32)||(LA216_0>=35 && LA216_0<=43)||(LA216_0>=45 && LA216_0<=47)||(LA216_0>=49 && LA216_0<=59)||LA216_0==61||LA216_0==63||LA216_0==65||LA216_0==68||LA216_0==70||LA216_0==72||(LA216_0>=74 && LA216_0<=77)||(LA216_0>=79 && LA216_0<=84)||LA216_0==86||LA216_0==88||(LA216_0>=90 && LA216_0<=91)) ) {
alt216=1;
}
switch (alt216) {
case 1 :
// InternalQVTrelation.g:9486:4: ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )*
{
// InternalQVTrelation.g:9486:4: ( (lv_ownedParts_2_0= ruleShadowPartCS ) )
// InternalQVTrelation.g:9487:5: (lv_ownedParts_2_0= ruleShadowPartCS )
{
// InternalQVTrelation.g:9487:5: (lv_ownedParts_2_0= ruleShadowPartCS )
// InternalQVTrelation.g:9488:6: lv_ownedParts_2_0= ruleShadowPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCurlyBracketedClauseCSAccess().getOwnedPartsShadowPartCSParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_28);
lv_ownedParts_2_0=ruleShadowPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCurlyBracketedClauseCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ShadowPartCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:9505:4: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )*
loop215:
do {
int alt215=2;
int LA215_0 = input.LA(1);
if ( (LA215_0==23) ) {
alt215=1;
}
switch (alt215) {
case 1 :
// InternalQVTrelation.g:9506:5: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) )
{
otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_51); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getCurlyBracketedClauseCSAccess().getCommaKeyword_2_1_0());
}
// InternalQVTrelation.g:9510:5: ( (lv_ownedParts_4_0= ruleShadowPartCS ) )
// InternalQVTrelation.g:9511:6: (lv_ownedParts_4_0= ruleShadowPartCS )
{
// InternalQVTrelation.g:9511:6: (lv_ownedParts_4_0= ruleShadowPartCS )
// InternalQVTrelation.g:9512:7: lv_ownedParts_4_0= ruleShadowPartCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCurlyBracketedClauseCSAccess().getOwnedPartsShadowPartCSParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
lv_ownedParts_4_0=ruleShadowPartCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCurlyBracketedClauseCSRule());
}
add(
current,
"ownedParts",
lv_ownedParts_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ShadowPartCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop215;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getCurlyBracketedClauseCSAccess().getRightCurlyBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCurlyBracketedClauseCS"
// $ANTLR start "entryRuleRoundBracketedClauseCS"
// InternalQVTrelation.g:9539:1: entryRuleRoundBracketedClauseCS returns [EObject current=null] : iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF ;
public final EObject entryRuleRoundBracketedClauseCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleRoundBracketedClauseCS = null;
try {
// InternalQVTrelation.g:9539:63: (iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF )
// InternalQVTrelation.g:9540:2: iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRoundBracketedClauseCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleRoundBracketedClauseCS=ruleRoundBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRoundBracketedClauseCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRoundBracketedClauseCS"
// $ANTLR start "ruleRoundBracketedClauseCS"
// InternalQVTrelation.g:9546:1: ruleRoundBracketedClauseCS returns [EObject current=null] : ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )* )? otherlv_4= ')' ) ;
public final EObject ruleRoundBracketedClauseCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_4=null;
EObject lv_ownedArguments_2_0 = null;
EObject lv_ownedArguments_3_1 = null;
EObject lv_ownedArguments_3_2 = null;
EObject lv_ownedArguments_3_3 = null;
enterRule();
try {
// InternalQVTrelation.g:9552:2: ( ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )* )? otherlv_4= ')' ) )
// InternalQVTrelation.g:9553:2: ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )* )? otherlv_4= ')' )
{
// InternalQVTrelation.g:9553:2: ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )* )? otherlv_4= ')' )
// InternalQVTrelation.g:9554:3: () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )* )? otherlv_4= ')'
{
// InternalQVTrelation.g:9554:3: ()
// InternalQVTrelation.g:9555:4:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getRoundBracketedClauseCSAccess().getRoundBracketedClauseCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,33,FollowSets000.FOLLOW_122); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getRoundBracketedClauseCSAccess().getLeftParenthesisKeyword_1());
}
// InternalQVTrelation.g:9568:3: ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )* )?
int alt219=2;
int LA219_0 = input.LA(1);
if ( (LA219_0==RULE_SINGLE_QUOTED_STRING||(LA219_0>=RULE_INT && LA219_0<=RULE_ESCAPED_ID)||(LA219_0>=17 && LA219_0<=18)||(LA219_0>=25 && LA219_0<=33)||(LA219_0>=35 && LA219_0<=43)||(LA219_0>=45 && LA219_0<=59)||LA219_0==61||LA219_0==63||LA219_0==65||LA219_0==68||LA219_0==70||LA219_0==72||(LA219_0>=74 && LA219_0<=77)||(LA219_0>=79 && LA219_0<=84)||LA219_0==86||LA219_0==88||(LA219_0>=90 && LA219_0<=94)||(LA219_0>=114 && LA219_0<=128)||LA219_0==130||(LA219_0>=132 && LA219_0<=135)||LA219_0==142||(LA219_0>=147 && LA219_0<=148)) ) {
alt219=1;
}
switch (alt219) {
case 1 :
// InternalQVTrelation.g:9569:4: ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )*
{
// InternalQVTrelation.g:9569:4: ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) )
// InternalQVTrelation.g:9570:5: (lv_ownedArguments_2_0= ruleNavigatingArgCS )
{
// InternalQVTrelation.g:9570:5: (lv_ownedArguments_2_0= ruleNavigatingArgCS )
// InternalQVTrelation.g:9571:6: lv_ownedArguments_2_0= ruleNavigatingArgCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingArgCSParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_123);
lv_ownedArguments_2_0=ruleNavigatingArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRoundBracketedClauseCSRule());
}
add(
current,
"ownedArguments",
lv_ownedArguments_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingArgCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:9588:4: ( ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) ) )*
loop218:
do {
int alt218=2;
int LA218_0 = input.LA(1);
if ( ((LA218_0>=22 && LA218_0<=23)||LA218_0==141) ) {
alt218=1;
}
switch (alt218) {
case 1 :
// InternalQVTrelation.g:9589:5: ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) )
{
// InternalQVTrelation.g:9589:5: ( (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS ) )
// InternalQVTrelation.g:9590:6: (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS )
{
// InternalQVTrelation.g:9590:6: (lv_ownedArguments_3_1= ruleNavigatingCommaArgCS | lv_ownedArguments_3_2= ruleNavigatingSemiArgCS | lv_ownedArguments_3_3= ruleNavigatingBarArgCS )
int alt217=3;
switch ( input.LA(1) ) {
case 23:
{
alt217=1;
}
break;
case 22:
{
alt217=2;
}
break;
case 141:
{
alt217=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 217, 0, input);
throw nvae;
}
switch (alt217) {
case 1 :
// InternalQVTrelation.g:9591:7: lv_ownedArguments_3_1= ruleNavigatingCommaArgCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingCommaArgCSParserRuleCall_2_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_123);
lv_ownedArguments_3_1=ruleNavigatingCommaArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRoundBracketedClauseCSRule());
}
add(
current,
"ownedArguments",
lv_ownedArguments_3_1,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingCommaArgCS");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:9607:7: lv_ownedArguments_3_2= ruleNavigatingSemiArgCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingSemiArgCSParserRuleCall_2_1_0_1());
}
pushFollow(FollowSets000.FOLLOW_123);
lv_ownedArguments_3_2=ruleNavigatingSemiArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRoundBracketedClauseCSRule());
}
add(
current,
"ownedArguments",
lv_ownedArguments_3_2,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingSemiArgCS");
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalQVTrelation.g:9623:7: lv_ownedArguments_3_3= ruleNavigatingBarArgCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingBarArgCSParserRuleCall_2_1_0_2());
}
pushFollow(FollowSets000.FOLLOW_123);
lv_ownedArguments_3_3=ruleNavigatingBarArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRoundBracketedClauseCSRule());
}
add(
current,
"ownedArguments",
lv_ownedArguments_3_3,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingBarArgCS");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
break;
default :
break loop218;
}
} while (true);
}
break;
}
otherlv_4=(Token)match(input,34,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getRoundBracketedClauseCSAccess().getRightParenthesisKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRoundBracketedClauseCS"
// $ANTLR start "entryRuleSquareBracketedClauseCS"
// InternalQVTrelation.g:9650:1: entryRuleSquareBracketedClauseCS returns [EObject current=null] : iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF ;
public final EObject entryRuleSquareBracketedClauseCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleSquareBracketedClauseCS = null;
try {
// InternalQVTrelation.g:9650:64: (iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF )
// InternalQVTrelation.g:9651:2: iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSquareBracketedClauseCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleSquareBracketedClauseCS=ruleSquareBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSquareBracketedClauseCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSquareBracketedClauseCS"
// $ANTLR start "ruleSquareBracketedClauseCS"
// InternalQVTrelation.g:9657:1: ruleSquareBracketedClauseCS returns [EObject current=null] : (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' ) ;
public final EObject ruleSquareBracketedClauseCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_ownedTerms_1_0 = null;
EObject lv_ownedTerms_3_0 = null;
enterRule();
try {
// InternalQVTrelation.g:9663:2: ( (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' ) )
// InternalQVTrelation.g:9664:2: (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' )
{
// InternalQVTrelation.g:9664:2: (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' )
// InternalQVTrelation.g:9665:3: otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']'
{
otherlv_0=(Token)match(input,138,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getSquareBracketedClauseCSAccess().getLeftSquareBracketKeyword_0());
}
// InternalQVTrelation.g:9669:3: ( (lv_ownedTerms_1_0= ruleExpCS ) )
// InternalQVTrelation.g:9670:4: (lv_ownedTerms_1_0= ruleExpCS )
{
// InternalQVTrelation.g:9670:4: (lv_ownedTerms_1_0= ruleExpCS )
// InternalQVTrelation.g:9671:5: lv_ownedTerms_1_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSquareBracketedClauseCSAccess().getOwnedTermsExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_124);
lv_ownedTerms_1_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSquareBracketedClauseCSRule());
}
add(
current,
"ownedTerms",
lv_ownedTerms_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:9688:3: (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )*
loop220:
do {
int alt220=2;
int LA220_0 = input.LA(1);
if ( (LA220_0==23) ) {
alt220=1;
}
switch (alt220) {
case 1 :
// InternalQVTrelation.g:9689:4: otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) )
{
otherlv_2=(Token)match(input,23,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getSquareBracketedClauseCSAccess().getCommaKeyword_2_0());
}
// InternalQVTrelation.g:9693:4: ( (lv_ownedTerms_3_0= ruleExpCS ) )
// InternalQVTrelation.g:9694:5: (lv_ownedTerms_3_0= ruleExpCS )
{
// InternalQVTrelation.g:9694:5: (lv_ownedTerms_3_0= ruleExpCS )
// InternalQVTrelation.g:9695:6: lv_ownedTerms_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSquareBracketedClauseCSAccess().getOwnedTermsExpCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_124);
lv_ownedTerms_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSquareBracketedClauseCSRule());
}
add(
current,
"ownedTerms",
lv_ownedTerms_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop220;
}
} while (true);
otherlv_4=(Token)match(input,139,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getSquareBracketedClauseCSAccess().getRightSquareBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSquareBracketedClauseCS"
// $ANTLR start "entryRuleNavigatingArgCS"
// InternalQVTrelation.g:9721:1: entryRuleNavigatingArgCS returns [EObject current=null] : iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF ;
public final EObject entryRuleNavigatingArgCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNavigatingArgCS = null;
try {
// InternalQVTrelation.g:9721:56: (iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF )
// InternalQVTrelation.g:9722:2: iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNavigatingArgCS=ruleNavigatingArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNavigatingArgCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNavigatingArgCS"
// $ANTLR start "ruleNavigatingArgCS"
// InternalQVTrelation.g:9728:1: ruleNavigatingArgCS returns [EObject current=null] : ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )? ) | ( (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) ) ) )? ) | (otherlv_17= ':' ( (lv_ownedType_18_0= ruleTypeExpCS ) ) ) ) ;
public final EObject ruleNavigatingArgCS() 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;
Token otherlv_11=null;
Token otherlv_13=null;
Token otherlv_15=null;
Token otherlv_17=null;
EObject lv_ownedNameExpression_0_0 = null;
EObject lv_ownedCoIterator_2_0 = null;
EObject lv_ownedInitExpression_4_0 = null;
EObject lv_ownedType_6_0 = null;
EObject lv_ownedCoIterator_8_0 = null;
EObject lv_ownedInitExpression_10_0 = null;
EObject lv_ownedType_12_0 = null;
EObject lv_ownedCoIterator_14_0 = null;
EObject lv_ownedInitExpression_16_0 = null;
EObject lv_ownedType_18_0 = null;
enterRule();
try {
// InternalQVTrelation.g:9734:2: ( ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )? ) | ( (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) ) ) )? ) | (otherlv_17= ':' ( (lv_ownedType_18_0= ruleTypeExpCS ) ) ) ) )
// InternalQVTrelation.g:9735:2: ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )? ) | ( (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) ) ) )? ) | (otherlv_17= ':' ( (lv_ownedType_18_0= ruleTypeExpCS ) ) ) )
{
// InternalQVTrelation.g:9735:2: ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )? ) | ( (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) ) ) )? ) | (otherlv_17= ':' ( (lv_ownedType_18_0= ruleTypeExpCS ) ) ) )
int alt227=2;
int LA227_0 = input.LA(1);
if ( (LA227_0==RULE_SINGLE_QUOTED_STRING||(LA227_0>=RULE_INT && LA227_0<=RULE_ESCAPED_ID)||LA227_0==17||(LA227_0>=25 && LA227_0<=33)||(LA227_0>=35 && LA227_0<=43)||(LA227_0>=45 && LA227_0<=59)||LA227_0==61||LA227_0==63||LA227_0==65||LA227_0==68||LA227_0==70||LA227_0==72||(LA227_0>=74 && LA227_0<=77)||(LA227_0>=79 && LA227_0<=84)||LA227_0==86||LA227_0==88||(LA227_0>=90 && LA227_0<=94)||(LA227_0>=114 && LA227_0<=128)||LA227_0==130||(LA227_0>=132 && LA227_0<=135)||LA227_0==142||(LA227_0>=147 && LA227_0<=148)) ) {
alt227=1;
}
else if ( (LA227_0==18) ) {
alt227=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 227, 0, input);
throw nvae;
}
switch (alt227) {
case 1 :
// InternalQVTrelation.g:9736:3: ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )? ) | ( (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) ) ) )? )
{
// InternalQVTrelation.g:9736:3: ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )? ) | ( (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) ) ) )? )
// InternalQVTrelation.g:9737:4: ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )? ) | ( (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) ) ) )?
{
// InternalQVTrelation.g:9737:4: ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) )
// InternalQVTrelation.g:9738:5: (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS )
{
// InternalQVTrelation.g:9738:5: (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS )
// InternalQVTrelation.g:9739:6: lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_0_0_0());
}
pushFollow(FollowSets000.FOLLOW_125);
lv_ownedNameExpression_0_0=ruleNavigatingArgExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedNameExpression",
lv_ownedNameExpression_0_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingArgExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:9756:4: ( (otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )? ) | ( (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) ) ) )?
int alt226=4;
alt226 = dfa226.predict(input);
switch (alt226) {
case 1 :
// InternalQVTrelation.g:9757:5: (otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? )
{
// InternalQVTrelation.g:9757:5: (otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? )
// InternalQVTrelation.g:9758:6: otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )?
{
otherlv_1=(Token)match(input,131,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getNavigatingArgCSAccess().getLessThanSignHyphenMinusKeyword_0_1_0_0());
}
// InternalQVTrelation.g:9762:6: ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) )
// InternalQVTrelation.g:9763:7: (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS )
{
// InternalQVTrelation.g:9763:7: (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS )
// InternalQVTrelation.g:9764:8: lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_0_1_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_126);
lv_ownedCoIterator_2_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedCoIterator",
lv_ownedCoIterator_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CoIteratorVariableCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:9781:6: (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )?
int alt221=2;
int LA221_0 = input.LA(1);
if ( (LA221_0==19) ) {
alt221=1;
}
switch (alt221) {
case 1 :
// InternalQVTrelation.g:9782:7: otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
{
otherlv_3=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_0_1_0_2_0());
}
// InternalQVTrelation.g:9786:7: ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
// InternalQVTrelation.g:9787:8: (lv_ownedInitExpression_4_0= ruleExpCS )
{
// InternalQVTrelation.g:9787:8: (lv_ownedInitExpression_4_0= ruleExpCS )
// InternalQVTrelation.g:9788:9: lv_ownedInitExpression_4_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_0_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_4_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalQVTrelation.g:9808:5: (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )? )
{
// InternalQVTrelation.g:9808:5: (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )? )
// InternalQVTrelation.g:9809:6: otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )?
{
otherlv_5=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getNavigatingArgCSAccess().getColonKeyword_0_1_1_0());
}
// InternalQVTrelation.g:9813:6: ( (lv_ownedType_6_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:9814:7: (lv_ownedType_6_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:9814:7: (lv_ownedType_6_0= ruleTypeExpCS )
// InternalQVTrelation.g:9815:8: lv_ownedType_6_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_0_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_127);
lv_ownedType_6_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_6_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:9832:6: (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )?
int alt222=2;
int LA222_0 = input.LA(1);
if ( (LA222_0==131) ) {
alt222=1;
}
switch (alt222) {
case 1 :
// InternalQVTrelation.g:9833:7: otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) )
{
otherlv_7=(Token)match(input,131,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getNavigatingArgCSAccess().getLessThanSignHyphenMinusKeyword_0_1_1_2_0());
}
// InternalQVTrelation.g:9837:7: ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) )
// InternalQVTrelation.g:9838:8: (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS )
{
// InternalQVTrelation.g:9838:8: (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS )
// InternalQVTrelation.g:9839:9: lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_0_1_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_126);
lv_ownedCoIterator_8_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedCoIterator",
lv_ownedCoIterator_8_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CoIteratorVariableCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:9857:6: (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )?
int alt223=2;
int LA223_0 = input.LA(1);
if ( (LA223_0==19) ) {
alt223=1;
}
switch (alt223) {
case 1 :
// InternalQVTrelation.g:9858:7: otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) )
{
otherlv_9=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_0_1_1_3_0());
}
// InternalQVTrelation.g:9862:7: ( (lv_ownedInitExpression_10_0= ruleExpCS ) )
// InternalQVTrelation.g:9863:8: (lv_ownedInitExpression_10_0= ruleExpCS )
{
// InternalQVTrelation.g:9863:8: (lv_ownedInitExpression_10_0= ruleExpCS )
// InternalQVTrelation.g:9864:9: lv_ownedInitExpression_10_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_1_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_10_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_10_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 3 :
// InternalQVTrelation.g:9884:5: ( (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) ) )
{
// InternalQVTrelation.g:9884:5: ( (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) ) )
// InternalQVTrelation.g:9885:6: (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) )
{
// InternalQVTrelation.g:9885:6: (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )?
int alt224=2;
int LA224_0 = input.LA(1);
if ( (LA224_0==18) ) {
alt224=1;
}
switch (alt224) {
case 1 :
// InternalQVTrelation.g:9886:7: otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) )
{
otherlv_11=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getNavigatingArgCSAccess().getColonKeyword_0_1_2_0_0());
}
// InternalQVTrelation.g:9890:7: ( (lv_ownedType_12_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:9891:8: (lv_ownedType_12_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:9891:8: (lv_ownedType_12_0= ruleTypeExpCS )
// InternalQVTrelation.g:9892:9: lv_ownedType_12_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_0_1_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_128);
lv_ownedType_12_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_12_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:9910:6: (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )?
int alt225=2;
int LA225_0 = input.LA(1);
if ( (LA225_0==131) ) {
alt225=1;
}
switch (alt225) {
case 1 :
// InternalQVTrelation.g:9911:7: otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) )
{
otherlv_13=(Token)match(input,131,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getNavigatingArgCSAccess().getLessThanSignHyphenMinusKeyword_0_1_2_1_0());
}
// InternalQVTrelation.g:9915:7: ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) )
// InternalQVTrelation.g:9916:8: (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS )
{
// InternalQVTrelation.g:9916:8: (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS )
// InternalQVTrelation.g:9917:9: lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_0_1_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_129);
lv_ownedCoIterator_14_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedCoIterator",
lv_ownedCoIterator_14_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CoIteratorVariableCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_15=(Token)match(input,140,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getNavigatingArgCSAccess().getInKeyword_0_1_2_2());
}
// InternalQVTrelation.g:9939:6: ( (lv_ownedInitExpression_16_0= ruleExpCS ) )
// InternalQVTrelation.g:9940:7: (lv_ownedInitExpression_16_0= ruleExpCS )
{
// InternalQVTrelation.g:9940:7: (lv_ownedInitExpression_16_0= ruleExpCS )
// InternalQVTrelation.g:9941:8: lv_ownedInitExpression_16_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_2_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_16_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_16_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalQVTrelation.g:9962:3: (otherlv_17= ':' ( (lv_ownedType_18_0= ruleTypeExpCS ) ) )
{
// InternalQVTrelation.g:9962:3: (otherlv_17= ':' ( (lv_ownedType_18_0= ruleTypeExpCS ) ) )
// InternalQVTrelation.g:9963:4: otherlv_17= ':' ( (lv_ownedType_18_0= ruleTypeExpCS ) )
{
otherlv_17=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getNavigatingArgCSAccess().getColonKeyword_1_0());
}
// InternalQVTrelation.g:9967:4: ( (lv_ownedType_18_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:9968:5: (lv_ownedType_18_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:9968:5: (lv_ownedType_18_0= ruleTypeExpCS )
// InternalQVTrelation.g:9969:6: lv_ownedType_18_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedType_18_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_18_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNavigatingArgCS"
// $ANTLR start "entryRuleNavigatingBarArgCS"
// InternalQVTrelation.g:9991:1: entryRuleNavigatingBarArgCS returns [EObject current=null] : iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF ;
public final EObject entryRuleNavigatingBarArgCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNavigatingBarArgCS = null;
try {
// InternalQVTrelation.g:9991:59: (iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF )
// InternalQVTrelation.g:9992:2: iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingBarArgCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNavigatingBarArgCS=ruleNavigatingBarArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNavigatingBarArgCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNavigatingBarArgCS"
// $ANTLR start "ruleNavigatingBarArgCS"
// InternalQVTrelation.g:9998:1: ruleNavigatingBarArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_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_ownedNameExpression_1_0 = null;
EObject lv_ownedType_3_0 = null;
EObject lv_ownedInitExpression_5_0 = null;
enterRule();
try {
// InternalQVTrelation.g:10004:2: ( ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) )
// InternalQVTrelation.g:10005:2: ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
{
// InternalQVTrelation.g:10005:2: ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
// InternalQVTrelation.g:10006:3: ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
{
// InternalQVTrelation.g:10006:3: ( (lv_prefix_0_0= '|' ) )
// InternalQVTrelation.g:10007:4: (lv_prefix_0_0= '|' )
{
// InternalQVTrelation.g:10007:4: (lv_prefix_0_0= '|' )
// InternalQVTrelation.g:10008:5: lv_prefix_0_0= '|'
{
lv_prefix_0_0=(Token)match(input,141,FollowSets000.FOLLOW_19); 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, "|");
}
}
}
// InternalQVTrelation.g:10020:3: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) )
// InternalQVTrelation.g:10021:4: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
{
// InternalQVTrelation.g:10021:4: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
// InternalQVTrelation.g:10022:5: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_130);
lv_ownedNameExpression_1_0=ruleNavigatingArgExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingBarArgCSRule());
}
set(
current,
"ownedNameExpression",
lv_ownedNameExpression_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingArgExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:10039:3: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
int alt229=2;
int LA229_0 = input.LA(1);
if ( (LA229_0==18) ) {
alt229=1;
}
switch (alt229) {
case 1 :
// InternalQVTrelation.g:10040:4: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
{
otherlv_2=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getNavigatingBarArgCSAccess().getColonKeyword_2_0());
}
// InternalQVTrelation.g:10044:4: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:10045:5: (lv_ownedType_3_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:10045:5: (lv_ownedType_3_0= ruleTypeExpCS )
// InternalQVTrelation.g:10046:6: lv_ownedType_3_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_126);
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:10063:4: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
int alt228=2;
int LA228_0 = input.LA(1);
if ( (LA228_0==19) ) {
alt228=1;
}
switch (alt228) {
case 1 :
// InternalQVTrelation.g:10064:5: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
{
otherlv_4=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getNavigatingBarArgCSAccess().getEqualsSignKeyword_2_2_0());
}
// InternalQVTrelation.g:10068:5: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
// InternalQVTrelation.g:10069:6: (lv_ownedInitExpression_5_0= ruleExpCS )
{
// InternalQVTrelation.g:10069:6: (lv_ownedInitExpression_5_0= ruleExpCS )
// InternalQVTrelation.g:10070:7: lv_ownedInitExpression_5_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_5_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingBarArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_5_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.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"
// InternalQVTrelation.g:10093:1: entryRuleNavigatingCommaArgCS returns [EObject current=null] : iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF ;
public final EObject entryRuleNavigatingCommaArgCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNavigatingCommaArgCS = null;
try {
// InternalQVTrelation.g:10093:61: (iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF )
// InternalQVTrelation.g:10094:2: iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNavigatingCommaArgCS=ruleNavigatingCommaArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNavigatingCommaArgCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNavigatingCommaArgCS"
// $ANTLR start "ruleNavigatingCommaArgCS"
// InternalQVTrelation.g:10100:1: ruleNavigatingCommaArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= '<-' ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )? (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )? ) | ( (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )? (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )? otherlv_16= 'in' ( (lv_ownedInitExpression_17_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;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_12=null;
Token otherlv_14=null;
Token otherlv_16=null;
EObject lv_ownedNameExpression_1_0 = null;
EObject lv_ownedCoIterator_3_0 = null;
EObject lv_ownedInitExpression_5_0 = null;
EObject lv_ownedType_7_0 = null;
EObject lv_ownedCoIterator_9_0 = null;
EObject lv_ownedInitExpression_11_0 = null;
EObject lv_ownedType_13_0 = null;
EObject lv_ownedCoIterator_15_0 = null;
EObject lv_ownedInitExpression_17_0 = null;
enterRule();
try {
// InternalQVTrelation.g:10106:2: ( ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= '<-' ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )? (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )? ) | ( (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )? (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )? otherlv_16= 'in' ( (lv_ownedInitExpression_17_0= ruleExpCS ) ) ) )? ) )
// InternalQVTrelation.g:10107:2: ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= '<-' ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )? (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )? ) | ( (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )? (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )? otherlv_16= 'in' ( (lv_ownedInitExpression_17_0= ruleExpCS ) ) ) )? )
{
// InternalQVTrelation.g:10107:2: ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= '<-' ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )? (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )? ) | ( (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )? (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )? otherlv_16= 'in' ( (lv_ownedInitExpression_17_0= ruleExpCS ) ) ) )? )
// InternalQVTrelation.g:10108:3: ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= '<-' ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )? (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )? ) | ( (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )? (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )? otherlv_16= 'in' ( (lv_ownedInitExpression_17_0= ruleExpCS ) ) ) )?
{
// InternalQVTrelation.g:10108:3: ( (lv_prefix_0_0= ',' ) )
// InternalQVTrelation.g:10109:4: (lv_prefix_0_0= ',' )
{
// InternalQVTrelation.g:10109:4: (lv_prefix_0_0= ',' )
// InternalQVTrelation.g:10110:5: lv_prefix_0_0= ','
{
lv_prefix_0_0=(Token)match(input,23,FollowSets000.FOLLOW_19); 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, ",");
}
}
}
// InternalQVTrelation.g:10122:3: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) )
// InternalQVTrelation.g:10123:4: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
{
// InternalQVTrelation.g:10123:4: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
// InternalQVTrelation.g:10124:5: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_125);
lv_ownedNameExpression_1_0=ruleNavigatingArgExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedNameExpression",
lv_ownedNameExpression_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingArgExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:10141:3: ( (otherlv_2= '<-' ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )? (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )? ) | ( (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )? (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )? otherlv_16= 'in' ( (lv_ownedInitExpression_17_0= ruleExpCS ) ) ) )?
int alt235=4;
alt235 = dfa235.predict(input);
switch (alt235) {
case 1 :
// InternalQVTrelation.g:10142:4: (otherlv_2= '<-' ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )
{
// InternalQVTrelation.g:10142:4: (otherlv_2= '<-' ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )
// InternalQVTrelation.g:10143:5: otherlv_2= '<-' ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
{
otherlv_2=(Token)match(input,131,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getNavigatingCommaArgCSAccess().getLessThanSignHyphenMinusKeyword_2_0_0());
}
// InternalQVTrelation.g:10147:5: ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) )
// InternalQVTrelation.g:10148:6: (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS )
{
// InternalQVTrelation.g:10148:6: (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS )
// InternalQVTrelation.g:10149:7: lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_126);
lv_ownedCoIterator_3_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedCoIterator",
lv_ownedCoIterator_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CoIteratorVariableCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:10166:5: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
int alt230=2;
int LA230_0 = input.LA(1);
if ( (LA230_0==19) ) {
alt230=1;
}
switch (alt230) {
case 1 :
// InternalQVTrelation.g:10167:6: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
{
otherlv_4=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_0_2_0());
}
// InternalQVTrelation.g:10171:6: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
// InternalQVTrelation.g:10172:7: (lv_ownedInitExpression_5_0= ruleExpCS )
{
// InternalQVTrelation.g:10172:7: (lv_ownedInitExpression_5_0= ruleExpCS )
// InternalQVTrelation.g:10173:8: lv_ownedInitExpression_5_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_0_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_5_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_5_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalQVTrelation.g:10193:4: (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )? (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )? )
{
// InternalQVTrelation.g:10193:4: (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )? (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )? )
// InternalQVTrelation.g:10194:5: otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )? (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )?
{
otherlv_6=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_1_0());
}
// InternalQVTrelation.g:10198:5: ( (lv_ownedType_7_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:10199:6: (lv_ownedType_7_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:10199:6: (lv_ownedType_7_0= ruleTypeExpCS )
// InternalQVTrelation.g:10200:7: lv_ownedType_7_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_127);
lv_ownedType_7_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_7_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:10217:5: (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )?
int alt231=2;
int LA231_0 = input.LA(1);
if ( (LA231_0==131) ) {
alt231=1;
}
switch (alt231) {
case 1 :
// InternalQVTrelation.g:10218:6: otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) )
{
otherlv_8=(Token)match(input,131,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getNavigatingCommaArgCSAccess().getLessThanSignHyphenMinusKeyword_2_1_2_0());
}
// InternalQVTrelation.g:10222:6: ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) )
// InternalQVTrelation.g:10223:7: (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS )
{
// InternalQVTrelation.g:10223:7: (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS )
// InternalQVTrelation.g:10224:8: lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_2_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_126);
lv_ownedCoIterator_9_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedCoIterator",
lv_ownedCoIterator_9_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CoIteratorVariableCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:10242:5: (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )?
int alt232=2;
int LA232_0 = input.LA(1);
if ( (LA232_0==19) ) {
alt232=1;
}
switch (alt232) {
case 1 :
// InternalQVTrelation.g:10243:6: otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) )
{
otherlv_10=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_1_3_0());
}
// InternalQVTrelation.g:10247:6: ( (lv_ownedInitExpression_11_0= ruleExpCS ) )
// InternalQVTrelation.g:10248:7: (lv_ownedInitExpression_11_0= ruleExpCS )
{
// InternalQVTrelation.g:10248:7: (lv_ownedInitExpression_11_0= ruleExpCS )
// InternalQVTrelation.g:10249:8: lv_ownedInitExpression_11_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_1_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_11_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_11_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 3 :
// InternalQVTrelation.g:10269:4: ( (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )? (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )? otherlv_16= 'in' ( (lv_ownedInitExpression_17_0= ruleExpCS ) ) )
{
// InternalQVTrelation.g:10269:4: ( (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )? (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )? otherlv_16= 'in' ( (lv_ownedInitExpression_17_0= ruleExpCS ) ) )
// InternalQVTrelation.g:10270:5: (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )? (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )? otherlv_16= 'in' ( (lv_ownedInitExpression_17_0= ruleExpCS ) )
{
// InternalQVTrelation.g:10270:5: (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )?
int alt233=2;
int LA233_0 = input.LA(1);
if ( (LA233_0==18) ) {
alt233=1;
}
switch (alt233) {
case 1 :
// InternalQVTrelation.g:10271:6: otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) )
{
otherlv_12=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_2_0_0());
}
// InternalQVTrelation.g:10275:6: ( (lv_ownedType_13_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:10276:7: (lv_ownedType_13_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:10276:7: (lv_ownedType_13_0= ruleTypeExpCS )
// InternalQVTrelation.g:10277:8: lv_ownedType_13_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_128);
lv_ownedType_13_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_13_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalQVTrelation.g:10295:5: (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )?
int alt234=2;
int LA234_0 = input.LA(1);
if ( (LA234_0==131) ) {
alt234=1;
}
switch (alt234) {
case 1 :
// InternalQVTrelation.g:10296:6: otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) )
{
otherlv_14=(Token)match(input,131,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getNavigatingCommaArgCSAccess().getLessThanSignHyphenMinusKeyword_2_2_1_0());
}
// InternalQVTrelation.g:10300:6: ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) )
// InternalQVTrelation.g:10301:7: (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS )
{
// InternalQVTrelation.g:10301:7: (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS )
// InternalQVTrelation.g:10302:8: lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_2_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_129);
lv_ownedCoIterator_15_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedCoIterator",
lv_ownedCoIterator_15_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.CoIteratorVariableCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_16=(Token)match(input,140,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getNavigatingCommaArgCSAccess().getInKeyword_2_2_2());
}
// InternalQVTrelation.g:10324:5: ( (lv_ownedInitExpression_17_0= ruleExpCS ) )
// InternalQVTrelation.g:10325:6: (lv_ownedInitExpression_17_0= ruleExpCS )
{
// InternalQVTrelation.g:10325:6: (lv_ownedInitExpression_17_0= ruleExpCS )
// InternalQVTrelation.g:10326:7: lv_ownedInitExpression_17_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_2_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_17_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_17_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNavigatingCommaArgCS"
// $ANTLR start "entryRuleNavigatingSemiArgCS"
// InternalQVTrelation.g:10349:1: entryRuleNavigatingSemiArgCS returns [EObject current=null] : iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF ;
public final EObject entryRuleNavigatingSemiArgCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNavigatingSemiArgCS = null;
try {
// InternalQVTrelation.g:10349:60: (iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF )
// InternalQVTrelation.g:10350:2: iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingSemiArgCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNavigatingSemiArgCS=ruleNavigatingSemiArgCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNavigatingSemiArgCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNavigatingSemiArgCS"
// $ANTLR start "ruleNavigatingSemiArgCS"
// InternalQVTrelation.g:10356:1: ruleNavigatingSemiArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_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_ownedNameExpression_1_0 = null;
EObject lv_ownedType_3_0 = null;
EObject lv_ownedInitExpression_5_0 = null;
enterRule();
try {
// InternalQVTrelation.g:10362:2: ( ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) )
// InternalQVTrelation.g:10363:2: ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
{
// InternalQVTrelation.g:10363:2: ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
// InternalQVTrelation.g:10364:3: ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
{
// InternalQVTrelation.g:10364:3: ( (lv_prefix_0_0= ';' ) )
// InternalQVTrelation.g:10365:4: (lv_prefix_0_0= ';' )
{
// InternalQVTrelation.g:10365:4: (lv_prefix_0_0= ';' )
// InternalQVTrelation.g:10366:5: lv_prefix_0_0= ';'
{
lv_prefix_0_0=(Token)match(input,22,FollowSets000.FOLLOW_19); 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, ";");
}
}
}
// InternalQVTrelation.g:10378:3: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) )
// InternalQVTrelation.g:10379:4: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
{
// InternalQVTrelation.g:10379:4: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
// InternalQVTrelation.g:10380:5: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_130);
lv_ownedNameExpression_1_0=ruleNavigatingArgExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingSemiArgCSRule());
}
set(
current,
"ownedNameExpression",
lv_ownedNameExpression_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.NavigatingArgExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:10397:3: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
int alt237=2;
int LA237_0 = input.LA(1);
if ( (LA237_0==18) ) {
alt237=1;
}
switch (alt237) {
case 1 :
// InternalQVTrelation.g:10398:4: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
{
otherlv_2=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getNavigatingSemiArgCSAccess().getColonKeyword_2_0());
}
// InternalQVTrelation.g:10402:4: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:10403:5: (lv_ownedType_3_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:10403:5: (lv_ownedType_3_0= ruleTypeExpCS )
// InternalQVTrelation.g:10404:6: lv_ownedType_3_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_126);
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,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:10421:4: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
int alt236=2;
int LA236_0 = input.LA(1);
if ( (LA236_0==19) ) {
alt236=1;
}
switch (alt236) {
case 1 :
// InternalQVTrelation.g:10422:5: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
{
otherlv_4=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getNavigatingSemiArgCSAccess().getEqualsSignKeyword_2_2_0());
}
// InternalQVTrelation.g:10426:5: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
// InternalQVTrelation.g:10427:6: (lv_ownedInitExpression_5_0= ruleExpCS )
{
// InternalQVTrelation.g:10427:6: (lv_ownedInitExpression_5_0= ruleExpCS )
// InternalQVTrelation.g:10428:7: lv_ownedInitExpression_5_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_5_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNavigatingSemiArgCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_5_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.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"
// InternalQVTrelation.g:10451:1: entryRuleNavigatingArgExpCS returns [EObject current=null] : iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF ;
public final EObject entryRuleNavigatingArgExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNavigatingArgExpCS = null;
try {
// InternalQVTrelation.g:10451:59: (iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF )
// InternalQVTrelation.g:10452:2: iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNavigatingArgExpCS=ruleNavigatingArgExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNavigatingArgExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNavigatingArgExpCS"
// $ANTLR start "ruleNavigatingArgExpCS"
// InternalQVTrelation.g:10458: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 {
// InternalQVTrelation.g:10464:2: (this_ExpCS_0= ruleExpCS )
// InternalQVTrelation.g:10465:2: this_ExpCS_0= ruleExpCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgExpCSAccess().getExpCSParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
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 "entryRuleCoIteratorVariableCS"
// InternalQVTrelation.g:10479:1: entryRuleCoIteratorVariableCS returns [EObject current=null] : iv_ruleCoIteratorVariableCS= ruleCoIteratorVariableCS EOF ;
public final EObject entryRuleCoIteratorVariableCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleCoIteratorVariableCS = null;
try {
// InternalQVTrelation.g:10479:61: (iv_ruleCoIteratorVariableCS= ruleCoIteratorVariableCS EOF )
// InternalQVTrelation.g:10480:2: iv_ruleCoIteratorVariableCS= ruleCoIteratorVariableCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCoIteratorVariableCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleCoIteratorVariableCS=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCoIteratorVariableCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCoIteratorVariableCS"
// $ANTLR start "ruleCoIteratorVariableCS"
// InternalQVTrelation.g:10486:1: ruleCoIteratorVariableCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? ) ;
public final EObject ruleCoIteratorVariableCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedType_2_0 = null;
enterRule();
try {
// InternalQVTrelation.g:10492:2: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? ) )
// InternalQVTrelation.g:10493:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? )
{
// InternalQVTrelation.g:10493:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? )
// InternalQVTrelation.g:10494:3: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )?
{
// InternalQVTrelation.g:10494:3: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:10495:4: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:10495:4: (lv_name_0_0= ruleUnrestrictedName )
// InternalQVTrelation.g:10496:5: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCoIteratorVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_130);
lv_name_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCoIteratorVariableCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:10513:3: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )?
int alt238=2;
int LA238_0 = input.LA(1);
if ( (LA238_0==18) ) {
alt238=1;
}
switch (alt238) {
case 1 :
// InternalQVTrelation.g:10514:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
{
otherlv_1=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getCoIteratorVariableCSAccess().getColonKeyword_1_0());
}
// InternalQVTrelation.g:10518:4: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:10519:5: (lv_ownedType_2_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:10519:5: (lv_ownedType_2_0= ruleTypeExpCS )
// InternalQVTrelation.g:10520:6: lv_ownedType_2_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCoIteratorVariableCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedType_2_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCoIteratorVariableCSRule());
}
set(
current,
"ownedType",
lv_ownedType_2_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCoIteratorVariableCS"
// $ANTLR start "entryRuleIfExpCS"
// InternalQVTrelation.g:10542:1: entryRuleIfExpCS returns [EObject current=null] : iv_ruleIfExpCS= ruleIfExpCS EOF ;
public final EObject entryRuleIfExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleIfExpCS = null;
try {
// InternalQVTrelation.g:10542:48: (iv_ruleIfExpCS= ruleIfExpCS EOF )
// InternalQVTrelation.g:10543:2: iv_ruleIfExpCS= ruleIfExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIfExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleIfExpCS=ruleIfExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIfExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIfExpCS"
// $ANTLR start "ruleIfExpCS"
// InternalQVTrelation.g:10549:1: ruleIfExpCS returns [EObject current=null] : (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' ) ;
public final EObject ruleIfExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_5=null;
Token otherlv_7=null;
EObject lv_ownedCondition_1_1 = null;
EObject lv_ownedCondition_1_2 = null;
EObject lv_ownedThenExpression_3_0 = null;
EObject lv_ownedIfThenExpressions_4_0 = null;
EObject lv_ownedElseExpression_6_0 = null;
enterRule();
try {
// InternalQVTrelation.g:10555:2: ( (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' ) )
// InternalQVTrelation.g:10556:2: (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' )
{
// InternalQVTrelation.g:10556:2: (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' )
// InternalQVTrelation.g:10557:3: otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif'
{
otherlv_0=(Token)match(input,142,FollowSets000.FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getIfExpCSAccess().getIfKeyword_0());
}
// InternalQVTrelation.g:10561:3: ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) )
// InternalQVTrelation.g:10562:4: ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) )
{
// InternalQVTrelation.g:10562:4: ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) )
// InternalQVTrelation.g:10563:5: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS )
{
// InternalQVTrelation.g:10563:5: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS )
int alt239=2;
alt239 = dfa239.predict(input);
switch (alt239) {
case 1 :
// InternalQVTrelation.g:10564:6: lv_ownedCondition_1_1= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedConditionExpCSParserRuleCall_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_131);
lv_ownedCondition_1_1=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIfExpCSRule());
}
set(
current,
"ownedCondition",
lv_ownedCondition_1_1,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:10580:6: lv_ownedCondition_1_2= rulePatternExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedConditionPatternExpCSParserRuleCall_1_0_1());
}
pushFollow(FollowSets000.FOLLOW_131);
lv_ownedCondition_1_2=rulePatternExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIfExpCSRule());
}
set(
current,
"ownedCondition",
lv_ownedCondition_1_2,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.PatternExpCS");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
otherlv_2=(Token)match(input,143,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getIfExpCSAccess().getThenKeyword_2());
}
// InternalQVTrelation.g:10602:3: ( (lv_ownedThenExpression_3_0= ruleExpCS ) )
// InternalQVTrelation.g:10603:4: (lv_ownedThenExpression_3_0= ruleExpCS )
{
// InternalQVTrelation.g:10603:4: (lv_ownedThenExpression_3_0= ruleExpCS )
// InternalQVTrelation.g:10604:5: lv_ownedThenExpression_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedThenExpressionExpCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_132);
lv_ownedThenExpression_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIfExpCSRule());
}
set(
current,
"ownedThenExpression",
lv_ownedThenExpression_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:10621:3: ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )*
loop240:
do {
int alt240=2;
int LA240_0 = input.LA(1);
if ( (LA240_0==146) ) {
alt240=1;
}
switch (alt240) {
case 1 :
// InternalQVTrelation.g:10622:4: (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS )
{
// InternalQVTrelation.g:10622:4: (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS )
// InternalQVTrelation.g:10623:5: lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedIfThenExpressionsElseIfThenExpCSParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_132);
lv_ownedIfThenExpressions_4_0=ruleElseIfThenExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIfExpCSRule());
}
add(
current,
"ownedIfThenExpressions",
lv_ownedIfThenExpressions_4_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ElseIfThenExpCS");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop240;
}
} while (true);
otherlv_5=(Token)match(input,144,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getIfExpCSAccess().getElseKeyword_5());
}
// InternalQVTrelation.g:10644:3: ( (lv_ownedElseExpression_6_0= ruleExpCS ) )
// InternalQVTrelation.g:10645:4: (lv_ownedElseExpression_6_0= ruleExpCS )
{
// InternalQVTrelation.g:10645:4: (lv_ownedElseExpression_6_0= ruleExpCS )
// InternalQVTrelation.g:10646:5: lv_ownedElseExpression_6_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedElseExpressionExpCSParserRuleCall_6_0());
}
pushFollow(FollowSets000.FOLLOW_133);
lv_ownedElseExpression_6_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIfExpCSRule());
}
set(
current,
"ownedElseExpression",
lv_ownedElseExpression_6_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_7=(Token)match(input,145,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getIfExpCSAccess().getEndifKeyword_7());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIfExpCS"
// $ANTLR start "entryRuleElseIfThenExpCS"
// InternalQVTrelation.g:10671:1: entryRuleElseIfThenExpCS returns [EObject current=null] : iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF ;
public final EObject entryRuleElseIfThenExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleElseIfThenExpCS = null;
try {
// InternalQVTrelation.g:10671:56: (iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF )
// InternalQVTrelation.g:10672:2: iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getElseIfThenExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleElseIfThenExpCS=ruleElseIfThenExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleElseIfThenExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleElseIfThenExpCS"
// $ANTLR start "ruleElseIfThenExpCS"
// InternalQVTrelation.g:10678:1: ruleElseIfThenExpCS returns [EObject current=null] : (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ) ;
public final EObject ruleElseIfThenExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
EObject lv_ownedCondition_1_0 = null;
EObject lv_ownedThenExpression_3_0 = null;
enterRule();
try {
// InternalQVTrelation.g:10684:2: ( (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ) )
// InternalQVTrelation.g:10685:2: (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) )
{
// InternalQVTrelation.g:10685:2: (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) )
// InternalQVTrelation.g:10686:3: otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) )
{
otherlv_0=(Token)match(input,146,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getElseIfThenExpCSAccess().getElseifKeyword_0());
}
// InternalQVTrelation.g:10690:3: ( (lv_ownedCondition_1_0= ruleExpCS ) )
// InternalQVTrelation.g:10691:4: (lv_ownedCondition_1_0= ruleExpCS )
{
// InternalQVTrelation.g:10691:4: (lv_ownedCondition_1_0= ruleExpCS )
// InternalQVTrelation.g:10692:5: lv_ownedCondition_1_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getElseIfThenExpCSAccess().getOwnedConditionExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_131);
lv_ownedCondition_1_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getElseIfThenExpCSRule());
}
set(
current,
"ownedCondition",
lv_ownedCondition_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,143,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getElseIfThenExpCSAccess().getThenKeyword_2());
}
// InternalQVTrelation.g:10713:3: ( (lv_ownedThenExpression_3_0= ruleExpCS ) )
// InternalQVTrelation.g:10714:4: (lv_ownedThenExpression_3_0= ruleExpCS )
{
// InternalQVTrelation.g:10714:4: (lv_ownedThenExpression_3_0= ruleExpCS )
// InternalQVTrelation.g:10715:5: lv_ownedThenExpression_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getElseIfThenExpCSAccess().getOwnedThenExpressionExpCSParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedThenExpression_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getElseIfThenExpCSRule());
}
set(
current,
"ownedThenExpression",
lv_ownedThenExpression_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleElseIfThenExpCS"
// $ANTLR start "entryRuleLetExpCS"
// InternalQVTrelation.g:10736:1: entryRuleLetExpCS returns [EObject current=null] : iv_ruleLetExpCS= ruleLetExpCS EOF ;
public final EObject entryRuleLetExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleLetExpCS = null;
try {
// InternalQVTrelation.g:10736:49: (iv_ruleLetExpCS= ruleLetExpCS EOF )
// InternalQVTrelation.g:10737:2: iv_ruleLetExpCS= ruleLetExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleLetExpCS=ruleLetExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLetExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLetExpCS"
// $ANTLR start "ruleLetExpCS"
// InternalQVTrelation.g:10743:1: ruleLetExpCS returns [EObject current=null] : (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_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_ownedVariables_1_0 = null;
EObject lv_ownedVariables_3_0 = null;
EObject lv_ownedInExpression_5_0 = null;
enterRule();
try {
// InternalQVTrelation.g:10749:2: ( (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) ) )
// InternalQVTrelation.g:10750:2: (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) )
{
// InternalQVTrelation.g:10750:2: (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) )
// InternalQVTrelation.g:10751:3: otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) )
{
otherlv_0=(Token)match(input,147,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getLetExpCSAccess().getLetKeyword_0());
}
// InternalQVTrelation.g:10755:3: ( (lv_ownedVariables_1_0= ruleLetVariableCS ) )
// InternalQVTrelation.g:10756:4: (lv_ownedVariables_1_0= ruleLetVariableCS )
{
// InternalQVTrelation.g:10756:4: (lv_ownedVariables_1_0= ruleLetVariableCS )
// InternalQVTrelation.g:10757:5: lv_ownedVariables_1_0= ruleLetVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetExpCSAccess().getOwnedVariablesLetVariableCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_134);
lv_ownedVariables_1_0=ruleLetVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetExpCSRule());
}
add(
current,
"ownedVariables",
lv_ownedVariables_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.LetVariableCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:10774:3: (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )*
loop241:
do {
int alt241=2;
int LA241_0 = input.LA(1);
if ( (LA241_0==23) ) {
alt241=1;
}
switch (alt241) {
case 1 :
// InternalQVTrelation.g:10775:4: otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) )
{
otherlv_2=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0());
}
// InternalQVTrelation.g:10779:4: ( (lv_ownedVariables_3_0= ruleLetVariableCS ) )
// InternalQVTrelation.g:10780:5: (lv_ownedVariables_3_0= ruleLetVariableCS )
{
// InternalQVTrelation.g:10780:5: (lv_ownedVariables_3_0= ruleLetVariableCS )
// InternalQVTrelation.g:10781:6: lv_ownedVariables_3_0= ruleLetVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetExpCSAccess().getOwnedVariablesLetVariableCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_134);
lv_ownedVariables_3_0=ruleLetVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetExpCSRule());
}
add(
current,
"ownedVariables",
lv_ownedVariables_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.LetVariableCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop241;
}
} while (true);
otherlv_4=(Token)match(input,140,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getLetExpCSAccess().getInKeyword_3());
}
// InternalQVTrelation.g:10803:3: ( (lv_ownedInExpression_5_0= ruleExpCS ) )
// InternalQVTrelation.g:10804:4: (lv_ownedInExpression_5_0= ruleExpCS )
{
// InternalQVTrelation.g:10804:4: (lv_ownedInExpression_5_0= ruleExpCS )
// InternalQVTrelation.g:10805:5: lv_ownedInExpression_5_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetExpCSAccess().getOwnedInExpressionExpCSParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInExpression_5_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetExpCSRule());
}
set(
current,
"ownedInExpression",
lv_ownedInExpression_5_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLetExpCS"
// $ANTLR start "entryRuleLetVariableCS"
// InternalQVTrelation.g:10826:1: entryRuleLetVariableCS returns [EObject current=null] : iv_ruleLetVariableCS= ruleLetVariableCS EOF ;
public final EObject entryRuleLetVariableCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleLetVariableCS = null;
try {
// InternalQVTrelation.g:10826:54: (iv_ruleLetVariableCS= ruleLetVariableCS EOF )
// InternalQVTrelation.g:10827:2: iv_ruleLetVariableCS= ruleLetVariableCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetVariableCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleLetVariableCS=ruleLetVariableCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLetVariableCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLetVariableCS"
// $ANTLR start "ruleLetVariableCS"
// InternalQVTrelation.g:10833:1: ruleLetVariableCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) ) ;
public final EObject ruleLetVariableCS() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_4=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedRoundBracketedClause_1_0 = null;
EObject lv_ownedType_3_0 = null;
EObject lv_ownedInitExpression_5_0 = null;
enterRule();
try {
// InternalQVTrelation.g:10839:2: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) ) )
// InternalQVTrelation.g:10840:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )
{
// InternalQVTrelation.g:10840:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )
// InternalQVTrelation.g:10841:3: ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
{
// InternalQVTrelation.g:10841:3: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:10842:4: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:10842:4: (lv_name_0_0= ruleUnrestrictedName )
// InternalQVTrelation.g:10843:5: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_135);
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,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:10860:3: ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )?
int alt242=2;
int LA242_0 = input.LA(1);
if ( (LA242_0==33) ) {
alt242=1;
}
switch (alt242) {
case 1 :
// InternalQVTrelation.g:10861:4: (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS )
{
// InternalQVTrelation.g:10861:4: (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS )
// InternalQVTrelation.g:10862:5: lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetVariableCSAccess().getOwnedRoundBracketedClauseRoundBracketedClauseCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_114);
lv_ownedRoundBracketedClause_1_0=ruleRoundBracketedClauseCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetVariableCSRule());
}
set(
current,
"ownedRoundBracketedClause",
lv_ownedRoundBracketedClause_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.RoundBracketedClauseCS");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalQVTrelation.g:10879:3: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )?
int alt243=2;
int LA243_0 = input.LA(1);
if ( (LA243_0==18) ) {
alt243=1;
}
switch (alt243) {
case 1 :
// InternalQVTrelation.g:10880:4: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) )
{
otherlv_2=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getLetVariableCSAccess().getColonKeyword_2_0());
}
// InternalQVTrelation.g:10884:4: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:10885:5: (lv_ownedType_3_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:10885:5: (lv_ownedType_3_0= ruleTypeExpCS )
// InternalQVTrelation.g:10886:6: lv_ownedType_3_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetVariableCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_ownedType_3_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_3_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.TypeExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_4=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getLetVariableCSAccess().getEqualsSignKeyword_3());
}
// InternalQVTrelation.g:10908:3: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
// InternalQVTrelation.g:10909:4: (lv_ownedInitExpression_5_0= ruleExpCS )
{
// InternalQVTrelation.g:10909:4: (lv_ownedInitExpression_5_0= ruleExpCS )
// InternalQVTrelation.g:10910:5: lv_ownedInitExpression_5_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLetVariableCSAccess().getOwnedInitExpressionExpCSParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_5_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getLetVariableCSRule());
}
set(
current,
"ownedInitExpression",
lv_ownedInitExpression_5_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLetVariableCS"
// $ANTLR start "entryRuleNestedExpCS"
// InternalQVTrelation.g:10931:1: entryRuleNestedExpCS returns [EObject current=null] : iv_ruleNestedExpCS= ruleNestedExpCS EOF ;
public final EObject entryRuleNestedExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNestedExpCS = null;
try {
// InternalQVTrelation.g:10931:52: (iv_ruleNestedExpCS= ruleNestedExpCS EOF )
// InternalQVTrelation.g:10932:2: iv_ruleNestedExpCS= ruleNestedExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNestedExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNestedExpCS=ruleNestedExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNestedExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNestedExpCS"
// $ANTLR start "ruleNestedExpCS"
// InternalQVTrelation.g:10938:1: ruleNestedExpCS returns [EObject current=null] : (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' ) ;
public final EObject ruleNestedExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
EObject lv_ownedExpression_1_0 = null;
enterRule();
try {
// InternalQVTrelation.g:10944:2: ( (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' ) )
// InternalQVTrelation.g:10945:2: (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' )
{
// InternalQVTrelation.g:10945:2: (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' )
// InternalQVTrelation.g:10946:3: otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')'
{
otherlv_0=(Token)match(input,33,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getNestedExpCSAccess().getLeftParenthesisKeyword_0());
}
// InternalQVTrelation.g:10950:3: ( (lv_ownedExpression_1_0= ruleExpCS ) )
// InternalQVTrelation.g:10951:4: (lv_ownedExpression_1_0= ruleExpCS )
{
// InternalQVTrelation.g:10951:4: (lv_ownedExpression_1_0= ruleExpCS )
// InternalQVTrelation.g:10952:5: lv_ownedExpression_1_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNestedExpCSAccess().getOwnedExpressionExpCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_30);
lv_ownedExpression_1_0=ruleExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getNestedExpCSRule());
}
set(
current,
"ownedExpression",
lv_ownedExpression_1_0,
"org.eclipse.ocl.xtext.essentialocl.EssentialOCL.ExpCS");
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,34,FollowSets000.FOLLOW_2); 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"
// InternalQVTrelation.g:10977:1: entryRuleSelfExpCS returns [EObject current=null] : iv_ruleSelfExpCS= ruleSelfExpCS EOF ;
public final EObject entryRuleSelfExpCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleSelfExpCS = null;
try {
// InternalQVTrelation.g:10977:50: (iv_ruleSelfExpCS= ruleSelfExpCS EOF )
// InternalQVTrelation.g:10978:2: iv_ruleSelfExpCS= ruleSelfExpCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSelfExpCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleSelfExpCS=ruleSelfExpCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSelfExpCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSelfExpCS"
// $ANTLR start "ruleSelfExpCS"
// InternalQVTrelation.g:10984:1: ruleSelfExpCS returns [EObject current=null] : ( () otherlv_1= 'self' ) ;
public final EObject ruleSelfExpCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalQVTrelation.g:10990:2: ( ( () otherlv_1= 'self' ) )
// InternalQVTrelation.g:10991:2: ( () otherlv_1= 'self' )
{
// InternalQVTrelation.g:10991:2: ( () otherlv_1= 'self' )
// InternalQVTrelation.g:10992:3: () otherlv_1= 'self'
{
// InternalQVTrelation.g:10992:3: ()
// InternalQVTrelation.g:10993:4:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,148,FollowSets000.FOLLOW_2); 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 "entryRuleMultiplicityBoundsCS"
// InternalQVTrelation.g:11010:1: entryRuleMultiplicityBoundsCS returns [EObject current=null] : iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF ;
public final EObject entryRuleMultiplicityBoundsCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleMultiplicityBoundsCS = null;
try {
// InternalQVTrelation.g:11010:61: (iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF )
// InternalQVTrelation.g:11011:2: iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityBoundsCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleMultiplicityBoundsCS=ruleMultiplicityBoundsCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMultiplicityBoundsCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMultiplicityBoundsCS"
// $ANTLR start "ruleMultiplicityBoundsCS"
// InternalQVTrelation.g:11017: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 {
// InternalQVTrelation.g:11023:2: ( ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? ) )
// InternalQVTrelation.g:11024:2: ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? )
{
// InternalQVTrelation.g:11024:2: ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? )
// InternalQVTrelation.g:11025:3: ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )?
{
// InternalQVTrelation.g:11025:3: ( (lv_lowerBound_0_0= ruleLOWER ) )
// InternalQVTrelation.g:11026:4: (lv_lowerBound_0_0= ruleLOWER )
{
// InternalQVTrelation.g:11026:4: (lv_lowerBound_0_0= ruleLOWER )
// InternalQVTrelation.g:11027:5: lv_lowerBound_0_0= ruleLOWER
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundLOWERParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_111);
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,
"org.eclipse.ocl.xtext.base.Base.LOWER");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:11044:3: (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )?
int alt244=2;
int LA244_0 = input.LA(1);
if ( (LA244_0==129) ) {
alt244=1;
}
switch (alt244) {
case 1 :
// InternalQVTrelation.g:11045:4: otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) )
{
otherlv_1=(Token)match(input,129,FollowSets000.FOLLOW_136); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getMultiplicityBoundsCSAccess().getFullStopFullStopKeyword_1_0());
}
// InternalQVTrelation.g:11049:4: ( (lv_upperBound_2_0= ruleUPPER ) )
// InternalQVTrelation.g:11050:5: (lv_upperBound_2_0= ruleUPPER )
{
// InternalQVTrelation.g:11050:5: (lv_upperBound_2_0= ruleUPPER )
// InternalQVTrelation.g:11051:6: lv_upperBound_2_0= ruleUPPER
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundUPPERParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
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,
"org.eclipse.ocl.xtext.base.Base.UPPER");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMultiplicityBoundsCS"
// $ANTLR start "entryRuleMultiplicityCS"
// InternalQVTrelation.g:11073:1: entryRuleMultiplicityCS returns [EObject current=null] : iv_ruleMultiplicityCS= ruleMultiplicityCS EOF ;
public final EObject entryRuleMultiplicityCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleMultiplicityCS = null;
try {
// InternalQVTrelation.g:11073:55: (iv_ruleMultiplicityCS= ruleMultiplicityCS EOF )
// InternalQVTrelation.g:11074:2: iv_ruleMultiplicityCS= ruleMultiplicityCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleMultiplicityCS=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMultiplicityCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMultiplicityCS"
// $ANTLR start "ruleMultiplicityCS"
// InternalQVTrelation.g:11080:1: ruleMultiplicityCS returns [EObject current=null] : (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )? otherlv_5= ']' ) ;
public final EObject ruleMultiplicityCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_3=null;
Token lv_isNullFree_4_0=null;
Token otherlv_5=null;
EObject this_MultiplicityBoundsCS_1 = null;
EObject this_MultiplicityStringCS_2 = null;
enterRule();
try {
// InternalQVTrelation.g:11086:2: ( (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )? otherlv_5= ']' ) )
// InternalQVTrelation.g:11087:2: (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )? otherlv_5= ']' )
{
// InternalQVTrelation.g:11087:2: (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )? otherlv_5= ']' )
// InternalQVTrelation.g:11088:3: otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )? otherlv_5= ']'
{
otherlv_0=(Token)match(input,138,FollowSets000.FOLLOW_137); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0());
}
// InternalQVTrelation.g:11092:3: (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS )
int alt245=2;
int LA245_0 = input.LA(1);
if ( (LA245_0==RULE_INT) ) {
alt245=1;
}
else if ( (LA245_0==48||LA245_0==96||LA245_0==151) ) {
alt245=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 245, 0, input);
throw nvae;
}
switch (alt245) {
case 1 :
// InternalQVTrelation.g:11093:4: this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityCSAccess().getMultiplicityBoundsCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_138);
this_MultiplicityBoundsCS_1=ruleMultiplicityBoundsCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_MultiplicityBoundsCS_1;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:11105:4: this_MultiplicityStringCS_2= ruleMultiplicityStringCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityCSAccess().getMultiplicityStringCSParserRuleCall_1_1());
}
pushFollow(FollowSets000.FOLLOW_138);
this_MultiplicityStringCS_2=ruleMultiplicityStringCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_MultiplicityStringCS_2;
afterParserOrEnumRuleCall();
}
}
break;
}
// InternalQVTrelation.g:11117:3: (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )?
int alt246=3;
int LA246_0 = input.LA(1);
if ( (LA246_0==149) ) {
alt246=1;
}
else if ( (LA246_0==150) ) {
alt246=2;
}
switch (alt246) {
case 1 :
// InternalQVTrelation.g:11118:4: otherlv_3= '|?'
{
otherlv_3=(Token)match(input,149,FollowSets000.FOLLOW_139); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getMultiplicityCSAccess().getVerticalLineQuestionMarkKeyword_2_0());
}
}
break;
case 2 :
// InternalQVTrelation.g:11123:4: ( (lv_isNullFree_4_0= '|1' ) )
{
// InternalQVTrelation.g:11123:4: ( (lv_isNullFree_4_0= '|1' ) )
// InternalQVTrelation.g:11124:5: (lv_isNullFree_4_0= '|1' )
{
// InternalQVTrelation.g:11124:5: (lv_isNullFree_4_0= '|1' )
// InternalQVTrelation.g:11125:6: lv_isNullFree_4_0= '|1'
{
lv_isNullFree_4_0=(Token)match(input,150,FollowSets000.FOLLOW_139); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isNullFree_4_0, grammarAccess.getMultiplicityCSAccess().getIsNullFree1Keyword_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMultiplicityCSRule());
}
setWithLastConsumed(current, "isNullFree", lv_isNullFree_4_0 != null, "|1");
}
}
}
}
break;
}
otherlv_5=(Token)match(input,139,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getMultiplicityCSAccess().getRightSquareBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMultiplicityCS"
// $ANTLR start "entryRuleMultiplicityStringCS"
// InternalQVTrelation.g:11146:1: entryRuleMultiplicityStringCS returns [EObject current=null] : iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF ;
public final EObject entryRuleMultiplicityStringCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleMultiplicityStringCS = null;
try {
// InternalQVTrelation.g:11146:61: (iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF )
// InternalQVTrelation.g:11147:2: iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMultiplicityStringCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleMultiplicityStringCS=ruleMultiplicityStringCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMultiplicityStringCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMultiplicityStringCS"
// $ANTLR start "ruleMultiplicityStringCS"
// InternalQVTrelation.g:11153: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 {
// InternalQVTrelation.g:11159:2: ( ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) ) )
// InternalQVTrelation.g:11160:2: ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) )
{
// InternalQVTrelation.g:11160:2: ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) )
// InternalQVTrelation.g:11161:3: ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) )
{
// InternalQVTrelation.g:11161:3: ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) )
// InternalQVTrelation.g:11162:4: (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' )
{
// InternalQVTrelation.g:11162:4: (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' )
int alt247=3;
switch ( input.LA(1) ) {
case 48:
{
alt247=1;
}
break;
case 96:
{
alt247=2;
}
break;
case 151:
{
alt247=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 247, 0, input);
throw nvae;
}
switch (alt247) {
case 1 :
// InternalQVTrelation.g:11163:5: lv_stringBounds_0_1= '*'
{
lv_stringBounds_0_1=(Token)match(input,48,FollowSets000.FOLLOW_2); 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 :
// InternalQVTrelation.g:11174:5: lv_stringBounds_0_2= '+'
{
lv_stringBounds_0_2=(Token)match(input,96,FollowSets000.FOLLOW_2); 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 :
// InternalQVTrelation.g:11185:5: lv_stringBounds_0_3= '?'
{
lv_stringBounds_0_3=(Token)match(input,151,FollowSets000.FOLLOW_2); 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 "entryRulePathNameCS"
// InternalQVTrelation.g:11201:1: entryRulePathNameCS returns [EObject current=null] : iv_rulePathNameCS= rulePathNameCS EOF ;
public final EObject entryRulePathNameCS() throws RecognitionException {
EObject current = null;
EObject iv_rulePathNameCS = null;
try {
// InternalQVTrelation.g:11201:51: (iv_rulePathNameCS= rulePathNameCS EOF )
// InternalQVTrelation.g:11202:2: iv_rulePathNameCS= rulePathNameCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPathNameCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePathNameCS=rulePathNameCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePathNameCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePathNameCS"
// $ANTLR start "rulePathNameCS"
// InternalQVTrelation.g:11208:1: rulePathNameCS returns [EObject current=null] : ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) ;
public final EObject rulePathNameCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_ownedPathElements_0_0 = null;
EObject lv_ownedPathElements_2_0 = null;
enterRule();
try {
// InternalQVTrelation.g:11214:2: ( ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) )
// InternalQVTrelation.g:11215:2: ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
{
// InternalQVTrelation.g:11215:2: ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
// InternalQVTrelation.g:11216:3: ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
{
// InternalQVTrelation.g:11216:3: ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) )
// InternalQVTrelation.g:11217:4: (lv_ownedPathElements_0_0= ruleFirstPathElementCS )
{
// InternalQVTrelation.g:11217:4: (lv_ownedPathElements_0_0= ruleFirstPathElementCS )
// InternalQVTrelation.g:11218:5: lv_ownedPathElements_0_0= ruleFirstPathElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPathNameCSAccess().getOwnedPathElementsFirstPathElementCSParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_105);
lv_ownedPathElements_0_0=ruleFirstPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPathNameCSRule());
}
add(
current,
"ownedPathElements",
lv_ownedPathElements_0_0,
"org.eclipse.ocl.xtext.base.Base.FirstPathElementCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:11235:3: (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
loop248:
do {
int alt248=2;
int LA248_0 = input.LA(1);
if ( (LA248_0==44) ) {
alt248=1;
}
switch (alt248) {
case 1 :
// InternalQVTrelation.g:11236:4: otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
{
otherlv_1=(Token)match(input,44,FollowSets000.FOLLOW_106); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0());
}
// InternalQVTrelation.g:11240:4: ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
// InternalQVTrelation.g:11241:5: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
{
// InternalQVTrelation.g:11241:5: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
// InternalQVTrelation.g:11242:6: lv_ownedPathElements_2_0= ruleNextPathElementCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPathNameCSAccess().getOwnedPathElementsNextPathElementCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_105);
lv_ownedPathElements_2_0=ruleNextPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getPathNameCSRule());
}
add(
current,
"ownedPathElements",
lv_ownedPathElements_2_0,
"org.eclipse.ocl.xtext.base.Base.NextPathElementCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop248;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePathNameCS"
// $ANTLR start "entryRuleFirstPathElementCS"
// InternalQVTrelation.g:11264:1: entryRuleFirstPathElementCS returns [EObject current=null] : iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF ;
public final EObject entryRuleFirstPathElementCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleFirstPathElementCS = null;
try {
// InternalQVTrelation.g:11264:59: (iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF )
// InternalQVTrelation.g:11265:2: iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFirstPathElementCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleFirstPathElementCS=ruleFirstPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleFirstPathElementCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFirstPathElementCS"
// $ANTLR start "ruleFirstPathElementCS"
// InternalQVTrelation.g:11271:1: ruleFirstPathElementCS returns [EObject current=null] : ( ( ruleUnrestrictedName ) ) ;
public final EObject ruleFirstPathElementCS() throws RecognitionException {
EObject current = null;
enterRule();
try {
// InternalQVTrelation.g:11277:2: ( ( ( ruleUnrestrictedName ) ) )
// InternalQVTrelation.g:11278:2: ( ( ruleUnrestrictedName ) )
{
// InternalQVTrelation.g:11278:2: ( ( ruleUnrestrictedName ) )
// InternalQVTrelation.g:11279:3: ( ruleUnrestrictedName )
{
// InternalQVTrelation.g:11279:3: ( ruleUnrestrictedName )
// InternalQVTrelation.g:11280:4: ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getFirstPathElementCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFirstPathElementCSAccess().getReferredElementNamedElementCrossReference_0());
}
pushFollow(FollowSets000.FOLLOW_2);
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"
// InternalQVTrelation.g:11300:1: entryRuleNextPathElementCS returns [EObject current=null] : iv_ruleNextPathElementCS= ruleNextPathElementCS EOF ;
public final EObject entryRuleNextPathElementCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleNextPathElementCS = null;
try {
// InternalQVTrelation.g:11300:58: (iv_ruleNextPathElementCS= ruleNextPathElementCS EOF )
// InternalQVTrelation.g:11301:2: iv_ruleNextPathElementCS= ruleNextPathElementCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNextPathElementCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNextPathElementCS=ruleNextPathElementCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNextPathElementCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNextPathElementCS"
// $ANTLR start "ruleNextPathElementCS"
// InternalQVTrelation.g:11307:1: ruleNextPathElementCS returns [EObject current=null] : ( ( ruleUnreservedName ) ) ;
public final EObject ruleNextPathElementCS() throws RecognitionException {
EObject current = null;
enterRule();
try {
// InternalQVTrelation.g:11313:2: ( ( ( ruleUnreservedName ) ) )
// InternalQVTrelation.g:11314:2: ( ( ruleUnreservedName ) )
{
// InternalQVTrelation.g:11314:2: ( ( ruleUnreservedName ) )
// InternalQVTrelation.g:11315:3: ( ruleUnreservedName )
{
// InternalQVTrelation.g:11315:3: ( ruleUnreservedName )
// InternalQVTrelation.g:11316:4: ruleUnreservedName
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getNextPathElementCSRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNextPathElementCSAccess().getReferredElementNamedElementCrossReference_0());
}
pushFollow(FollowSets000.FOLLOW_2);
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 "entryRuleTemplateParameterSubstitutionCS"
// InternalQVTrelation.g:11336:1: entryRuleTemplateParameterSubstitutionCS returns [EObject current=null] : iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF ;
public final EObject entryRuleTemplateParameterSubstitutionCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTemplateParameterSubstitutionCS = null;
try {
// InternalQVTrelation.g:11336:72: (iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF )
// InternalQVTrelation.g:11337:2: iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateParameterSubstitutionCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTemplateParameterSubstitutionCS=ruleTemplateParameterSubstitutionCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTemplateParameterSubstitutionCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTemplateParameterSubstitutionCS"
// $ANTLR start "ruleTemplateParameterSubstitutionCS"
// InternalQVTrelation.g:11343:1: ruleTemplateParameterSubstitutionCS returns [EObject current=null] : ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) ) ;
public final EObject ruleTemplateParameterSubstitutionCS() throws RecognitionException {
EObject current = null;
EObject lv_ownedActualParameter_0_0 = null;
enterRule();
try {
// InternalQVTrelation.g:11349:2: ( ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) ) )
// InternalQVTrelation.g:11350:2: ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) )
{
// InternalQVTrelation.g:11350:2: ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) )
// InternalQVTrelation.g:11351:3: (lv_ownedActualParameter_0_0= ruleTypeRefCS )
{
// InternalQVTrelation.g:11351:3: (lv_ownedActualParameter_0_0= ruleTypeRefCS )
// InternalQVTrelation.g:11352:4: lv_ownedActualParameter_0_0= ruleTypeRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateParameterSubstitutionCSAccess().getOwnedActualParameterTypeRefCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedActualParameter_0_0=ruleTypeRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTemplateParameterSubstitutionCSRule());
}
set(
current,
"ownedActualParameter",
lv_ownedActualParameter_0_0,
"org.eclipse.ocl.xtext.base.Base.TypeRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTemplateParameterSubstitutionCS"
// $ANTLR start "entryRuleTemplateSignatureCS"
// InternalQVTrelation.g:11372:1: entryRuleTemplateSignatureCS returns [EObject current=null] : iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF ;
public final EObject entryRuleTemplateSignatureCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTemplateSignatureCS = null;
try {
// InternalQVTrelation.g:11372:60: (iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF )
// InternalQVTrelation.g:11373:2: iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateSignatureCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTemplateSignatureCS=ruleTemplateSignatureCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTemplateSignatureCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTemplateSignatureCS"
// $ANTLR start "ruleTemplateSignatureCS"
// InternalQVTrelation.g:11379:1: ruleTemplateSignatureCS returns [EObject current=null] : (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) ;
public final EObject ruleTemplateSignatureCS() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_ownedParameters_1_0 = null;
EObject lv_ownedParameters_3_0 = null;
enterRule();
try {
// InternalQVTrelation.g:11385:2: ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) )
// InternalQVTrelation.g:11386:2: (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' )
{
// InternalQVTrelation.g:11386:2: (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' )
// InternalQVTrelation.g:11387:3: otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')'
{
otherlv_0=(Token)match(input,33,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getTemplateSignatureCSAccess().getLeftParenthesisKeyword_0());
}
// InternalQVTrelation.g:11391:3: ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) )
// InternalQVTrelation.g:11392:4: (lv_ownedParameters_1_0= ruleTypeParameterCS )
{
// InternalQVTrelation.g:11392:4: (lv_ownedParameters_1_0= ruleTypeParameterCS )
// InternalQVTrelation.g:11393:5: lv_ownedParameters_1_0= ruleTypeParameterCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_38);
lv_ownedParameters_1_0=ruleTypeParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTemplateSignatureCSRule());
}
add(
current,
"ownedParameters",
lv_ownedParameters_1_0,
"org.eclipse.ocl.xtext.base.Base.TypeParameterCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:11410:3: (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )*
loop249:
do {
int alt249=2;
int LA249_0 = input.LA(1);
if ( (LA249_0==23) ) {
alt249=1;
}
switch (alt249) {
case 1 :
// InternalQVTrelation.g:11411:4: otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) )
{
otherlv_2=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getTemplateSignatureCSAccess().getCommaKeyword_2_0());
}
// InternalQVTrelation.g:11415:4: ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) )
// InternalQVTrelation.g:11416:5: (lv_ownedParameters_3_0= ruleTypeParameterCS )
{
// InternalQVTrelation.g:11416:5: (lv_ownedParameters_3_0= ruleTypeParameterCS )
// InternalQVTrelation.g:11417:6: lv_ownedParameters_3_0= ruleTypeParameterCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_38);
lv_ownedParameters_3_0=ruleTypeParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTemplateSignatureCSRule());
}
add(
current,
"ownedParameters",
lv_ownedParameters_3_0,
"org.eclipse.ocl.xtext.base.Base.TypeParameterCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop249;
}
} while (true);
otherlv_4=(Token)match(input,34,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getTemplateSignatureCSAccess().getRightParenthesisKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTemplateSignatureCS"
// $ANTLR start "entryRuleTypeParameterCS"
// InternalQVTrelation.g:11443:1: entryRuleTypeParameterCS returns [EObject current=null] : iv_ruleTypeParameterCS= ruleTypeParameterCS EOF ;
public final EObject entryRuleTypeParameterCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeParameterCS = null;
try {
// InternalQVTrelation.g:11443:56: (iv_ruleTypeParameterCS= ruleTypeParameterCS EOF )
// InternalQVTrelation.g:11444:2: iv_ruleTypeParameterCS= ruleTypeParameterCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeParameterCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeParameterCS=ruleTypeParameterCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeParameterCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeParameterCS"
// $ANTLR start "ruleTypeParameterCS"
// InternalQVTrelation.g:11450:1: ruleTypeParameterCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )? ) ;
public final EObject ruleTypeParameterCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_ownedExtends_2_0 = null;
EObject lv_ownedExtends_4_0 = null;
enterRule();
try {
// InternalQVTrelation.g:11456:2: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )? ) )
// InternalQVTrelation.g:11457:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )? )
{
// InternalQVTrelation.g:11457:2: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )? )
// InternalQVTrelation.g:11458:3: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )?
{
// InternalQVTrelation.g:11458:3: ( (lv_name_0_0= ruleUnrestrictedName ) )
// InternalQVTrelation.g:11459:4: (lv_name_0_0= ruleUnrestrictedName )
{
// InternalQVTrelation.g:11459:4: (lv_name_0_0= ruleUnrestrictedName )
// InternalQVTrelation.g:11460:5: lv_name_0_0= ruleUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeParameterCSAccess().getNameUnrestrictedNameParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_140);
lv_name_0_0=ruleUnrestrictedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeParameterCSRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.UnrestrictedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:11477:3: (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )?
int alt251=2;
int LA251_0 = input.LA(1);
if ( (LA251_0==46) ) {
alt251=1;
}
switch (alt251) {
case 1 :
// InternalQVTrelation.g:11478:4: otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )*
{
otherlv_1=(Token)match(input,46,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getTypeParameterCSAccess().getExtendsKeyword_1_0());
}
// InternalQVTrelation.g:11482:4: ( (lv_ownedExtends_2_0= ruleTypedRefCS ) )
// InternalQVTrelation.g:11483:5: (lv_ownedExtends_2_0= ruleTypedRefCS )
{
// InternalQVTrelation.g:11483:5: (lv_ownedExtends_2_0= ruleTypedRefCS )
// InternalQVTrelation.g:11484:6: lv_ownedExtends_2_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeParameterCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_141);
lv_ownedExtends_2_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeParameterCSRule());
}
add(
current,
"ownedExtends",
lv_ownedExtends_2_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
// InternalQVTrelation.g:11501:4: (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )*
loop250:
do {
int alt250=2;
int LA250_0 = input.LA(1);
if ( (LA250_0==152) ) {
alt250=1;
}
switch (alt250) {
case 1 :
// InternalQVTrelation.g:11502:5: otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) )
{
otherlv_3=(Token)match(input,152,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getTypeParameterCSAccess().getAmpersandAmpersandKeyword_1_2_0());
}
// InternalQVTrelation.g:11506:5: ( (lv_ownedExtends_4_0= ruleTypedRefCS ) )
// InternalQVTrelation.g:11507:6: (lv_ownedExtends_4_0= ruleTypedRefCS )
{
// InternalQVTrelation.g:11507:6: (lv_ownedExtends_4_0= ruleTypedRefCS )
// InternalQVTrelation.g:11508:7: lv_ownedExtends_4_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeParameterCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_141);
lv_ownedExtends_4_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeParameterCSRule());
}
add(
current,
"ownedExtends",
lv_ownedExtends_4_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop250;
}
} while (true);
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeParameterCS"
// $ANTLR start "entryRuleTypeRefCS"
// InternalQVTrelation.g:11531:1: entryRuleTypeRefCS returns [EObject current=null] : iv_ruleTypeRefCS= ruleTypeRefCS EOF ;
public final EObject entryRuleTypeRefCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeRefCS = null;
try {
// InternalQVTrelation.g:11531:50: (iv_ruleTypeRefCS= ruleTypeRefCS EOF )
// InternalQVTrelation.g:11532:2: iv_ruleTypeRefCS= ruleTypeRefCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeRefCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeRefCS=ruleTypeRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeRefCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeRefCS"
// $ANTLR start "ruleTypeRefCS"
// InternalQVTrelation.g:11538:1: ruleTypeRefCS returns [EObject current=null] : (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS ) ;
public final EObject ruleTypeRefCS() throws RecognitionException {
EObject current = null;
EObject this_TypedRefCS_0 = null;
EObject this_WildcardTypeRefCS_1 = null;
enterRule();
try {
// InternalQVTrelation.g:11544:2: ( (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS ) )
// InternalQVTrelation.g:11545:2: (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS )
{
// InternalQVTrelation.g:11545:2: (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS )
int alt252=2;
int LA252_0 = input.LA(1);
if ( ((LA252_0>=RULE_SIMPLE_ID && LA252_0<=RULE_ESCAPED_ID)||LA252_0==17||(LA252_0>=25 && LA252_0<=32)||(LA252_0>=35 && LA252_0<=43)||(LA252_0>=45 && LA252_0<=47)||(LA252_0>=49 && LA252_0<=59)||LA252_0==61||LA252_0==63||LA252_0==65||LA252_0==68||LA252_0==70||LA252_0==72||(LA252_0>=74 && LA252_0<=77)||(LA252_0>=79 && LA252_0<=84)||LA252_0==86||LA252_0==88||(LA252_0>=90 && LA252_0<=91)||(LA252_0>=116 && LA252_0<=128)) ) {
alt252=1;
}
else if ( (LA252_0==151) ) {
alt252=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 252, 0, input);
throw nvae;
}
switch (alt252) {
case 1 :
// InternalQVTrelation.g:11546:3: this_TypedRefCS_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeRefCSAccess().getTypedRefCSParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_TypedRefCS_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypedRefCS_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalQVTrelation.g:11558:3: this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeRefCSAccess().getWildcardTypeRefCSParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_WildcardTypeRefCS_1=ruleWildcardTypeRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_WildcardTypeRefCS_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeRefCS"
// $ANTLR start "entryRuleWildcardTypeRefCS"
// InternalQVTrelation.g:11573:1: entryRuleWildcardTypeRefCS returns [EObject current=null] : iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF ;
public final EObject entryRuleWildcardTypeRefCS() throws RecognitionException {
EObject current = null;
EObject iv_ruleWildcardTypeRefCS = null;
try {
// InternalQVTrelation.g:11573:58: (iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF )
// InternalQVTrelation.g:11574:2: iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getWildcardTypeRefCSRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleWildcardTypeRefCS=ruleWildcardTypeRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleWildcardTypeRefCS;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleWildcardTypeRefCS"
// $ANTLR start "ruleWildcardTypeRefCS"
// InternalQVTrelation.g:11580:1: ruleWildcardTypeRefCS returns [EObject current=null] : ( () otherlv_1= '?' (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )? ) ;
public final EObject ruleWildcardTypeRefCS() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
EObject lv_ownedExtends_3_0 = null;
enterRule();
try {
// InternalQVTrelation.g:11586:2: ( ( () otherlv_1= '?' (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )? ) )
// InternalQVTrelation.g:11587:2: ( () otherlv_1= '?' (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )? )
{
// InternalQVTrelation.g:11587:2: ( () otherlv_1= '?' (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )? )
// InternalQVTrelation.g:11588:3: () otherlv_1= '?' (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )?
{
// InternalQVTrelation.g:11588:3: ()
// InternalQVTrelation.g:11589:4:
{
if ( state.backtracking==0 ) {
/* */
}
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getWildcardTypeRefCSAccess().getWildcardTypeRefCSAction_0(),
current);
}
}
otherlv_1=(Token)match(input,151,FollowSets000.FOLLOW_140); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getWildcardTypeRefCSAccess().getQuestionMarkKeyword_1());
}
// InternalQVTrelation.g:11602:3: (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )?
int alt253=2;
int LA253_0 = input.LA(1);
if ( (LA253_0==46) ) {
alt253=1;
}
switch (alt253) {
case 1 :
// InternalQVTrelation.g:11603:4: otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) )
{
otherlv_2=(Token)match(input,46,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getWildcardTypeRefCSAccess().getExtendsKeyword_2_0());
}
// InternalQVTrelation.g:11607:4: ( (lv_ownedExtends_3_0= ruleTypedRefCS ) )
// InternalQVTrelation.g:11608:5: (lv_ownedExtends_3_0= ruleTypedRefCS )
{
// InternalQVTrelation.g:11608:5: (lv_ownedExtends_3_0= ruleTypedRefCS )
// InternalQVTrelation.g:11609:6: lv_ownedExtends_3_0= ruleTypedRefCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getWildcardTypeRefCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedExtends_3_0=ruleTypedRefCS();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getWildcardTypeRefCSRule());
}
set(
current,
"ownedExtends",
lv_ownedExtends_3_0,
"org.eclipse.qvtd.xtext.qvtrelation.QVTrelation.TypedRefCS");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleWildcardTypeRefCS"
// $ANTLR start "entryRuleID"
// InternalQVTrelation.g:11631:1: entryRuleID returns [String current=null] : iv_ruleID= ruleID EOF ;
public final String entryRuleID() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleID = null;
try {
// InternalQVTrelation.g:11631:42: (iv_ruleID= ruleID EOF )
// InternalQVTrelation.g:11632:2: iv_ruleID= ruleID EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIDRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleID=ruleID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleID.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleID"
// $ANTLR start "ruleID"
// InternalQVTrelation.g:11638: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 {
// InternalQVTrelation.g:11644:2: ( (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID ) )
// InternalQVTrelation.g:11645:2: (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID )
{
// InternalQVTrelation.g:11645:2: (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID )
int alt254=2;
int LA254_0 = input.LA(1);
if ( (LA254_0==RULE_SIMPLE_ID) ) {
alt254=1;
}
else if ( (LA254_0==RULE_ESCAPED_ID) ) {
alt254=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 254, 0, input);
throw nvae;
}
switch (alt254) {
case 1 :
// InternalQVTrelation.g:11646:3: this_SIMPLE_ID_0= RULE_SIMPLE_ID
{
this_SIMPLE_ID_0=(Token)match(input,RULE_SIMPLE_ID,FollowSets000.FOLLOW_2); 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 :
// InternalQVTrelation.g:11654:3: this_ESCAPED_ID_1= RULE_ESCAPED_ID
{
this_ESCAPED_ID_1=(Token)match(input,RULE_ESCAPED_ID,FollowSets000.FOLLOW_2); 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 "entryRuleIdentifier"
// InternalQVTrelation.g:11665:1: entryRuleIdentifier returns [String current=null] : iv_ruleIdentifier= ruleIdentifier EOF ;
public final String entryRuleIdentifier() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleIdentifier = null;
try {
// InternalQVTrelation.g:11665:50: (iv_ruleIdentifier= ruleIdentifier EOF )
// InternalQVTrelation.g:11666:2: iv_ruleIdentifier= ruleIdentifier EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIdentifierRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleIdentifier=ruleIdentifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIdentifier.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIdentifier"
// $ANTLR start "ruleIdentifier"
// InternalQVTrelation.g:11672:1: ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= ruleID ;
public final AntlrDatatypeRuleToken ruleIdentifier() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_ID_0 = null;
enterRule();
try {
// InternalQVTrelation.g:11678:2: (this_ID_0= ruleID )
// InternalQVTrelation.g:11679:2: this_ID_0= ruleID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIdentifierAccess().getIDParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
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();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIdentifier"
// $ANTLR start "entryRuleLOWER"
// InternalQVTrelation.g:11692:1: entryRuleLOWER returns [String current=null] : iv_ruleLOWER= ruleLOWER EOF ;
public final String entryRuleLOWER() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleLOWER = null;
try {
// InternalQVTrelation.g:11692:45: (iv_ruleLOWER= ruleLOWER EOF )
// InternalQVTrelation.g:11693:2: iv_ruleLOWER= ruleLOWER EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLOWERRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleLOWER=ruleLOWER();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLOWER.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLOWER"
// $ANTLR start "ruleLOWER"
// InternalQVTrelation.g:11699: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 {
// InternalQVTrelation.g:11705:2: (this_INT_0= RULE_INT )
// InternalQVTrelation.g:11706:2: this_INT_0= RULE_INT
{
this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); 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 "entryRuleNUMBER_LITERAL"
// InternalQVTrelation.g:11716: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 {
// InternalQVTrelation.g:11716:54: (iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF )
// InternalQVTrelation.g:11717:2: iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNUMBER_LITERALRule());
}
pushFollow(FollowSets000.FOLLOW_1);
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_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNUMBER_LITERAL"
// $ANTLR start "ruleNUMBER_LITERAL"
// InternalQVTrelation.g:11723:1: ruleNUMBER_LITERAL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_INT_0= RULE_INT ;
public final AntlrDatatypeRuleToken ruleNUMBER_LITERAL() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_INT_0=null;
enterRule();
try {
// InternalQVTrelation.g:11729:2: (this_INT_0= RULE_INT )
// InternalQVTrelation.g:11730:2: this_INT_0= RULE_INT
{
this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); 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());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNUMBER_LITERAL"
// $ANTLR start "entryRuleStringLiteral"
// InternalQVTrelation.g:11740:1: entryRuleStringLiteral returns [String current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ;
public final String entryRuleStringLiteral() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleStringLiteral = null;
try {
// InternalQVTrelation.g:11740:53: (iv_ruleStringLiteral= ruleStringLiteral EOF )
// InternalQVTrelation.g:11741:2: iv_ruleStringLiteral= ruleStringLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStringLiteralRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleStringLiteral=ruleStringLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleStringLiteral.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleStringLiteral"
// $ANTLR start "ruleStringLiteral"
// InternalQVTrelation.g:11747: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 {
// InternalQVTrelation.g:11753:2: (this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING )
// InternalQVTrelation.g:11754:2: this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING
{
this_SINGLE_QUOTED_STRING_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_2); 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 "entryRuleUPPER"
// InternalQVTrelation.g:11764:1: entryRuleUPPER returns [String current=null] : iv_ruleUPPER= ruleUPPER EOF ;
public final String entryRuleUPPER() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleUPPER = null;
try {
// InternalQVTrelation.g:11764:45: (iv_ruleUPPER= ruleUPPER EOF )
// InternalQVTrelation.g:11765:2: iv_ruleUPPER= ruleUPPER EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUPPERRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleUPPER=ruleUPPER();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleUPPER.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleUPPER"
// $ANTLR start "ruleUPPER"
// InternalQVTrelation.g:11771: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 {
// InternalQVTrelation.g:11777:2: ( (this_INT_0= RULE_INT | kw= '*' ) )
// InternalQVTrelation.g:11778:2: (this_INT_0= RULE_INT | kw= '*' )
{
// InternalQVTrelation.g:11778:2: (this_INT_0= RULE_INT | kw= '*' )
int alt255=2;
int LA255_0 = input.LA(1);
if ( (LA255_0==RULE_INT) ) {
alt255=1;
}
else if ( (LA255_0==48) ) {
alt255=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 255, 0, input);
throw nvae;
}
switch (alt255) {
case 1 :
// InternalQVTrelation.g:11779:3: this_INT_0= RULE_INT
{
this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); 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 :
// InternalQVTrelation.g:11787:3: kw= '*'
{
kw=(Token)match(input,48,FollowSets000.FOLLOW_2); 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 "entryRuleURI"
// InternalQVTrelation.g:11796:1: entryRuleURI returns [String current=null] : iv_ruleURI= ruleURI EOF ;
public final String entryRuleURI() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleURI = null;
try {
// InternalQVTrelation.g:11796:43: (iv_ruleURI= ruleURI EOF )
// InternalQVTrelation.g:11797:2: iv_ruleURI= ruleURI EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getURIRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleURI=ruleURI();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleURI.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleURI"
// $ANTLR start "ruleURI"
// InternalQVTrelation.g:11803:1: ruleURI returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING ;
public final AntlrDatatypeRuleToken ruleURI() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_SINGLE_QUOTED_STRING_0=null;
enterRule();
try {
// InternalQVTrelation.g:11809:2: (this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING )
// InternalQVTrelation.g:11810:2: this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING
{
this_SINGLE_QUOTED_STRING_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_2); 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.getURIAccess().getSINGLE_QUOTED_STRINGTerminalRuleCall());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleURI"
// $ANTLR start synpred41_InternalQVTrelation
public final void synpred41_InternalQVTrelation_fragment() throws RecognitionException {
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
EObject lv_ownedPropertyTemplates_4_0 = null;
EObject lv_ownedPropertyTemplates_6_0 = null;
// InternalQVTrelation.g:1358:4: (otherlv_3= '{' ( ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )* )? otherlv_7= '}' )
// InternalQVTrelation.g:1358:4: otherlv_3= '{' ( ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )* )? otherlv_7= '}'
{
otherlv_3=(Token)match(input,20,FollowSets000.FOLLOW_26); if (state.failed) return ;
// InternalQVTrelation.g:1362:4: ( ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )* )?
int alt280=2;
int LA280_0 = input.LA(1);
if ( ((LA280_0>=RULE_SIMPLE_ID && LA280_0<=RULE_ESCAPED_ID)||LA280_0==17||(LA280_0>=25 && LA280_0<=32)||(LA280_0>=35 && LA280_0<=43)||(LA280_0>=45 && LA280_0<=47)||(LA280_0>=49 && LA280_0<=59)||LA280_0==61||LA280_0==63||LA280_0==65||LA280_0==68||LA280_0==70||LA280_0==72||(LA280_0>=74 && LA280_0<=77)||(LA280_0>=79 && LA280_0<=84)||LA280_0==86||LA280_0==88||(LA280_0>=90 && LA280_0<=91)) ) {
alt280=1;
}
switch (alt280) {
case 1 :
// InternalQVTrelation.g:1363:5: ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )*
{
// InternalQVTrelation.g:1363:5: ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) )
// InternalQVTrelation.g:1364:6: (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS )
{
// InternalQVTrelation.g:1364:6: (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS )
// InternalQVTrelation.g:1365:7: lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getObjectTemplateCSAccess().getOwnedPropertyTemplatesPropertyTemplateCSParserRuleCall_3_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_28);
lv_ownedPropertyTemplates_4_0=rulePropertyTemplateCS();
state._fsp--;
if (state.failed) return ;
}
}
// InternalQVTrelation.g:1382:5: (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )*
loop279:
do {
int alt279=2;
int LA279_0 = input.LA(1);
if ( (LA279_0==23) ) {
alt279=1;
}
switch (alt279) {
case 1 :
// InternalQVTrelation.g:1383:6: otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) )
{
otherlv_5=(Token)match(input,23,FollowSets000.FOLLOW_5); if (state.failed) return ;
// InternalQVTrelation.g:1387:6: ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) )
// InternalQVTrelation.g:1388:7: (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS )
{
// InternalQVTrelation.g:1388:7: (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS )
// InternalQVTrelation.g:1389:8: lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getObjectTemplateCSAccess().getOwnedPropertyTemplatesPropertyTemplateCSParserRuleCall_3_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_28);
lv_ownedPropertyTemplates_6_0=rulePropertyTemplateCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
default :
break loop279;
}
} while (true);
}
break;
}
otherlv_7=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred41_InternalQVTrelation
// $ANTLR start synpred58_InternalQVTrelation
public final void synpred58_InternalQVTrelation_fragment() throws RecognitionException {
EObject this_CollectionTemplateCS_0 = null;
// InternalQVTrelation.g:2233:4: (this_CollectionTemplateCS_0= ruleCollectionTemplateCS )
// InternalQVTrelation.g:2233:4: this_CollectionTemplateCS_0= ruleCollectionTemplateCS
{
if ( state.backtracking==0 ) {
/* */
}
pushFollow(FollowSets000.FOLLOW_2);
this_CollectionTemplateCS_0=ruleCollectionTemplateCS();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred58_InternalQVTrelation
// $ANTLR start synpred77_InternalQVTrelation
public final void synpred77_InternalQVTrelation_fragment() throws RecognitionException {
EObject lv_ownedMultiplicity_1_0 = null;
// InternalQVTrelation.g:3030:5: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )
// InternalQVTrelation.g:3030:5: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
{
// InternalQVTrelation.g:3030:5: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
// InternalQVTrelation.g:3031:6: lv_ownedMultiplicity_1_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedRefCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedMultiplicity_1_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return ;
}
}
}
// $ANTLR end synpred77_InternalQVTrelation
// $ANTLR start synpred79_InternalQVTrelation
public final void synpred79_InternalQVTrelation_fragment() throws RecognitionException {
EObject lv_ownedMultiplicity_3_0 = null;
// InternalQVTrelation.g:3063:5: ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )
// InternalQVTrelation.g:3063:5: (lv_ownedMultiplicity_3_0= ruleMultiplicityCS )
{
// InternalQVTrelation.g:3063:5: (lv_ownedMultiplicity_3_0= ruleMultiplicityCS )
// InternalQVTrelation.g:3064:6: lv_ownedMultiplicity_3_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedRefCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedMultiplicity_3_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return ;
}
}
}
// $ANTLR end synpred79_InternalQVTrelation
// $ANTLR start synpred81_InternalQVTrelation
public final void synpred81_InternalQVTrelation_fragment() throws RecognitionException {
EObject lv_ownedMultiplicity_5_0 = null;
// InternalQVTrelation.g:3096:5: ( (lv_ownedMultiplicity_5_0= ruleMultiplicityCS ) )
// InternalQVTrelation.g:3096:5: (lv_ownedMultiplicity_5_0= ruleMultiplicityCS )
{
// InternalQVTrelation.g:3096:5: (lv_ownedMultiplicity_5_0= ruleMultiplicityCS )
// InternalQVTrelation.g:3097:6: lv_ownedMultiplicity_5_0= ruleMultiplicityCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypedRefCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedMultiplicity_5_0=ruleMultiplicityCS();
state._fsp--;
if (state.failed) return ;
}
}
}
// $ANTLR end synpred81_InternalQVTrelation
// $ANTLR start synpred109_InternalQVTrelation
public final void synpred109_InternalQVTrelation_fragment() throws RecognitionException {
AntlrDatatypeRuleToken this_QVTbaseUnrestrictedName_1 = null;
// InternalQVTrelation.g:3325:3: (this_QVTbaseUnrestrictedName_1= ruleQVTbaseUnrestrictedName )
// InternalQVTrelation.g:3325:3: this_QVTbaseUnrestrictedName_1= ruleQVTbaseUnrestrictedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUnrestrictedNameAccess().getQVTbaseUnrestrictedNameParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_QVTbaseUnrestrictedName_1=ruleQVTbaseUnrestrictedName();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred109_InternalQVTrelation
// $ANTLR start synpred346_InternalQVTrelation
public final void synpred346_InternalQVTrelation_fragment() throws RecognitionException {
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_ownedPatternGuard_3_0 = null;
// InternalQVTrelation.g:8811:5: (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )
// InternalQVTrelation.g:8811:5: otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}'
{
otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_19); if (state.failed) return ;
// InternalQVTrelation.g:8815:5: ( (lv_ownedPatternGuard_3_0= ruleExpCS ) )
// InternalQVTrelation.g:8816:6: (lv_ownedPatternGuard_3_0= ruleExpCS )
{
// InternalQVTrelation.g:8816:6: (lv_ownedPatternGuard_3_0= ruleExpCS )
// InternalQVTrelation.g:8817:7: lv_ownedPatternGuard_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedPatternGuardExpCSParserRuleCall_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_ownedPatternGuard_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
otherlv_4=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred346_InternalQVTrelation
// $ANTLR start synpred347_InternalQVTrelation
public final void synpred347_InternalQVTrelation_fragment() throws RecognitionException {
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_ownedCurlyBracketedClause_1_0 = null;
EObject lv_ownedPatternGuard_3_0 = null;
// InternalQVTrelation.g:8791:4: ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )
// InternalQVTrelation.g:8791:4: ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )?
{
// InternalQVTrelation.g:8791:4: ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) )
// InternalQVTrelation.g:8792:5: (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS )
{
// InternalQVTrelation.g:8792:5: (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS )
// InternalQVTrelation.g:8793:6: lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedCurlyBracketedClauseCurlyBracketedClauseCSParserRuleCall_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_13);
lv_ownedCurlyBracketedClause_1_0=ruleCurlyBracketedClauseCS();
state._fsp--;
if (state.failed) return ;
}
}
// InternalQVTrelation.g:8810:4: (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )?
int alt356=2;
int LA356_0 = input.LA(1);
if ( (LA356_0==20) ) {
alt356=1;
}
switch (alt356) {
case 1 :
// InternalQVTrelation.g:8811:5: otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}'
{
otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_19); if (state.failed) return ;
// InternalQVTrelation.g:8815:5: ( (lv_ownedPatternGuard_3_0= ruleExpCS ) )
// InternalQVTrelation.g:8816:6: (lv_ownedPatternGuard_3_0= ruleExpCS )
{
// InternalQVTrelation.g:8816:6: (lv_ownedPatternGuard_3_0= ruleExpCS )
// InternalQVTrelation.g:8817:7: lv_ownedPatternGuard_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedPatternGuardExpCSParserRuleCall_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_17);
lv_ownedPatternGuard_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
otherlv_4=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
break;
}
}
}
// $ANTLR end synpred347_InternalQVTrelation
// $ANTLR start synpred349_InternalQVTrelation
public final void synpred349_InternalQVTrelation_fragment() throws RecognitionException {
EObject this_TypeLiteralCS_1 = null;
// InternalQVTrelation.g:8871:3: (this_TypeLiteralCS_1= ruleTypeLiteralCS )
// InternalQVTrelation.g:8871:3: this_TypeLiteralCS_1= ruleTypeLiteralCS
{
if ( state.backtracking==0 ) {
/* */
}
pushFollow(FollowSets000.FOLLOW_2);
this_TypeLiteralCS_1=ruleTypeLiteralCS();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred349_InternalQVTrelation
// $ANTLR start synpred352_InternalQVTrelation
public final void synpred352_InternalQVTrelation_fragment() throws RecognitionException {
EObject this_PrefixedPrimaryExpCS_0 = null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_ownedRight_3_0 = null;
// InternalQVTrelation.g:8962:3: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) )
// InternalQVTrelation.g:8962:3: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
{
// InternalQVTrelation.g:8962:3: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
// InternalQVTrelation.g:8963:4: this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
{
if ( state.backtracking==0 ) {
/* */
}
pushFollow(FollowSets000.FOLLOW_116);
this_PrefixedPrimaryExpCS_0=rulePrefixedPrimaryExpCS();
state._fsp--;
if (state.failed) return ;
// InternalQVTrelation.g:8974:4: ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
int alt357=2;
int LA357_0 = input.LA(1);
if ( (LA357_0==19||LA357_0==48||LA357_0==92||(LA357_0>=95 && LA357_0<=113)) ) {
alt357=1;
}
switch (alt357) {
case 1 :
// InternalQVTrelation.g:8975:5: () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) )
{
// InternalQVTrelation.g:8975:5: ()
// InternalQVTrelation.g:8976:6:
{
if ( state.backtracking==0 ) {
/* */
}
}
// InternalQVTrelation.g:8985:5: ( (lv_name_2_0= ruleBinaryOperatorName ) )
// InternalQVTrelation.g:8986:6: (lv_name_2_0= ruleBinaryOperatorName )
{
// InternalQVTrelation.g:8986:6: (lv_name_2_0= ruleBinaryOperatorName )
// InternalQVTrelation.g:8987:7: lv_name_2_0= ruleBinaryOperatorName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSAccess().getNameBinaryOperatorNameParserRuleCall_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_19);
lv_name_2_0=ruleBinaryOperatorName();
state._fsp--;
if (state.failed) return ;
}
}
// InternalQVTrelation.g:9004:5: ( (lv_ownedRight_3_0= ruleExpCS ) )
// InternalQVTrelation.g:9005:6: (lv_ownedRight_3_0= ruleExpCS )
{
// InternalQVTrelation.g:9005:6: (lv_ownedRight_3_0= ruleExpCS )
// InternalQVTrelation.g:9006:7: lv_ownedRight_3_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpCSAccess().getOwnedRightExpCSParserRuleCall_0_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedRight_3_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
}
}
}
// $ANTLR end synpred352_InternalQVTrelation
// $ANTLR start synpred359_InternalQVTrelation
public final void synpred359_InternalQVTrelation_fragment() throws RecognitionException {
EObject this_TupleLiteralExpCS_4 = null;
// InternalQVTrelation.g:9266:3: (this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS )
// InternalQVTrelation.g:9266:3: this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
pushFollow(FollowSets000.FOLLOW_2);
this_TupleLiteralExpCS_4=ruleTupleLiteralExpCS();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred359_InternalQVTrelation
// $ANTLR start synpred360_InternalQVTrelation
public final void synpred360_InternalQVTrelation_fragment() throws RecognitionException {
EObject this_MapLiteralExpCS_5 = null;
// InternalQVTrelation.g:9278:3: (this_MapLiteralExpCS_5= ruleMapLiteralExpCS )
// InternalQVTrelation.g:9278:3: this_MapLiteralExpCS_5= ruleMapLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
pushFollow(FollowSets000.FOLLOW_2);
this_MapLiteralExpCS_5=ruleMapLiteralExpCS();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred360_InternalQVTrelation
// $ANTLR start synpred361_InternalQVTrelation
public final void synpred361_InternalQVTrelation_fragment() throws RecognitionException {
EObject this_CollectionLiteralExpCS_6 = null;
// InternalQVTrelation.g:9290:3: (this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS )
// InternalQVTrelation.g:9290:3: this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
pushFollow(FollowSets000.FOLLOW_2);
this_CollectionLiteralExpCS_6=ruleCollectionLiteralExpCS();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred361_InternalQVTrelation
// $ANTLR start synpred363_InternalQVTrelation
public final void synpred363_InternalQVTrelation_fragment() throws RecognitionException {
EObject this_TypeLiteralExpCS_8 = null;
// InternalQVTrelation.g:9314:3: (this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS )
// InternalQVTrelation.g:9314:3: this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS
{
if ( state.backtracking==0 ) {
/* */
}
pushFollow(FollowSets000.FOLLOW_2);
this_TypeLiteralExpCS_8=ruleTypeLiteralExpCS();
state._fsp--;
if (state.failed) return ;
}
}
// $ANTLR end synpred363_InternalQVTrelation
// $ANTLR start synpred376_InternalQVTrelation
public final void synpred376_InternalQVTrelation_fragment() throws RecognitionException {
Token otherlv_1=null;
Token otherlv_3=null;
EObject lv_ownedCoIterator_2_0 = null;
EObject lv_ownedInitExpression_4_0 = null;
// InternalQVTrelation.g:9757:5: ( (otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) )
// InternalQVTrelation.g:9757:5: (otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? )
{
// InternalQVTrelation.g:9757:5: (otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? )
// InternalQVTrelation.g:9758:6: otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )?
{
otherlv_1=(Token)match(input,131,FollowSets000.FOLLOW_5); if (state.failed) return ;
// InternalQVTrelation.g:9762:6: ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) )
// InternalQVTrelation.g:9763:7: (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS )
{
// InternalQVTrelation.g:9763:7: (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS )
// InternalQVTrelation.g:9764:8: lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_0_1_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_126);
lv_ownedCoIterator_2_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return ;
}
}
// InternalQVTrelation.g:9781:6: (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )?
int alt362=2;
int LA362_0 = input.LA(1);
if ( (LA362_0==19) ) {
alt362=1;
}
switch (alt362) {
case 1 :
// InternalQVTrelation.g:9782:7: otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
{
otherlv_3=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return ;
// InternalQVTrelation.g:9786:7: ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
// InternalQVTrelation.g:9787:8: (lv_ownedInitExpression_4_0= ruleExpCS )
{
// InternalQVTrelation.g:9787:8: (lv_ownedInitExpression_4_0= ruleExpCS )
// InternalQVTrelation.g:9788:9: lv_ownedInitExpression_4_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_0_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_4_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
}
}
}
// $ANTLR end synpred376_InternalQVTrelation
// $ANTLR start synpred379_InternalQVTrelation
public final void synpred379_InternalQVTrelation_fragment() throws RecognitionException {
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_9=null;
EObject lv_ownedType_6_0 = null;
EObject lv_ownedCoIterator_8_0 = null;
EObject lv_ownedInitExpression_10_0 = null;
// InternalQVTrelation.g:9808:5: ( (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )? ) )
// InternalQVTrelation.g:9808:5: (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )? )
{
// InternalQVTrelation.g:9808:5: (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )? )
// InternalQVTrelation.g:9809:6: otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )?
{
otherlv_5=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return ;
// InternalQVTrelation.g:9813:6: ( (lv_ownedType_6_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:9814:7: (lv_ownedType_6_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:9814:7: (lv_ownedType_6_0= ruleTypeExpCS )
// InternalQVTrelation.g:9815:8: lv_ownedType_6_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_0_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_127);
lv_ownedType_6_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return ;
}
}
// InternalQVTrelation.g:9832:6: (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )?
int alt363=2;
int LA363_0 = input.LA(1);
if ( (LA363_0==131) ) {
alt363=1;
}
switch (alt363) {
case 1 :
// InternalQVTrelation.g:9833:7: otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) )
{
otherlv_7=(Token)match(input,131,FollowSets000.FOLLOW_5); if (state.failed) return ;
// InternalQVTrelation.g:9837:7: ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) )
// InternalQVTrelation.g:9838:8: (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS )
{
// InternalQVTrelation.g:9838:8: (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS )
// InternalQVTrelation.g:9839:9: lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_0_1_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_126);
lv_ownedCoIterator_8_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
// InternalQVTrelation.g:9857:6: (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )?
int alt364=2;
int LA364_0 = input.LA(1);
if ( (LA364_0==19) ) {
alt364=1;
}
switch (alt364) {
case 1 :
// InternalQVTrelation.g:9858:7: otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) )
{
otherlv_9=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return ;
// InternalQVTrelation.g:9862:7: ( (lv_ownedInitExpression_10_0= ruleExpCS ) )
// InternalQVTrelation.g:9863:8: (lv_ownedInitExpression_10_0= ruleExpCS )
{
// InternalQVTrelation.g:9863:8: (lv_ownedInitExpression_10_0= ruleExpCS )
// InternalQVTrelation.g:9864:9: lv_ownedInitExpression_10_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_1_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_10_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
}
}
}
// $ANTLR end synpred379_InternalQVTrelation
// $ANTLR start synpred382_InternalQVTrelation
public final void synpred382_InternalQVTrelation_fragment() throws RecognitionException {
Token otherlv_11=null;
Token otherlv_13=null;
Token otherlv_15=null;
EObject lv_ownedType_12_0 = null;
EObject lv_ownedCoIterator_14_0 = null;
EObject lv_ownedInitExpression_16_0 = null;
// InternalQVTrelation.g:9884:5: ( ( (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) ) ) )
// InternalQVTrelation.g:9884:5: ( (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) ) )
{
// InternalQVTrelation.g:9884:5: ( (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) ) )
// InternalQVTrelation.g:9885:6: (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) )
{
// InternalQVTrelation.g:9885:6: (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )?
int alt365=2;
int LA365_0 = input.LA(1);
if ( (LA365_0==18) ) {
alt365=1;
}
switch (alt365) {
case 1 :
// InternalQVTrelation.g:9886:7: otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) )
{
otherlv_11=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return ;
// InternalQVTrelation.g:9890:7: ( (lv_ownedType_12_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:9891:8: (lv_ownedType_12_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:9891:8: (lv_ownedType_12_0= ruleTypeExpCS )
// InternalQVTrelation.g:9892:9: lv_ownedType_12_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_0_1_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_128);
lv_ownedType_12_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
// InternalQVTrelation.g:9910:6: (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )?
int alt366=2;
int LA366_0 = input.LA(1);
if ( (LA366_0==131) ) {
alt366=1;
}
switch (alt366) {
case 1 :
// InternalQVTrelation.g:9911:7: otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) )
{
otherlv_13=(Token)match(input,131,FollowSets000.FOLLOW_5); if (state.failed) return ;
// InternalQVTrelation.g:9915:7: ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) )
// InternalQVTrelation.g:9916:8: (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS )
{
// InternalQVTrelation.g:9916:8: (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS )
// InternalQVTrelation.g:9917:9: lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_0_1_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_129);
lv_ownedCoIterator_14_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
otherlv_15=(Token)match(input,140,FollowSets000.FOLLOW_19); if (state.failed) return ;
// InternalQVTrelation.g:9939:6: ( (lv_ownedInitExpression_16_0= ruleExpCS ) )
// InternalQVTrelation.g:9940:7: (lv_ownedInitExpression_16_0= ruleExpCS )
{
// InternalQVTrelation.g:9940:7: (lv_ownedInitExpression_16_0= ruleExpCS )
// InternalQVTrelation.g:9941:8: lv_ownedInitExpression_16_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_2_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_16_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred382_InternalQVTrelation
// $ANTLR start synpred387_InternalQVTrelation
public final void synpred387_InternalQVTrelation_fragment() throws RecognitionException {
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_ownedCoIterator_3_0 = null;
EObject lv_ownedInitExpression_5_0 = null;
// InternalQVTrelation.g:10142:4: ( (otherlv_2= '<-' ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) )
// InternalQVTrelation.g:10142:4: (otherlv_2= '<-' ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )
{
// InternalQVTrelation.g:10142:4: (otherlv_2= '<-' ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )
// InternalQVTrelation.g:10143:5: otherlv_2= '<-' ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
{
otherlv_2=(Token)match(input,131,FollowSets000.FOLLOW_5); if (state.failed) return ;
// InternalQVTrelation.g:10147:5: ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) )
// InternalQVTrelation.g:10148:6: (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS )
{
// InternalQVTrelation.g:10148:6: (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS )
// InternalQVTrelation.g:10149:7: lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_126);
lv_ownedCoIterator_3_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return ;
}
}
// InternalQVTrelation.g:10166:5: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
int alt374=2;
int LA374_0 = input.LA(1);
if ( (LA374_0==19) ) {
alt374=1;
}
switch (alt374) {
case 1 :
// InternalQVTrelation.g:10167:6: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
{
otherlv_4=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return ;
// InternalQVTrelation.g:10171:6: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
// InternalQVTrelation.g:10172:7: (lv_ownedInitExpression_5_0= ruleExpCS )
{
// InternalQVTrelation.g:10172:7: (lv_ownedInitExpression_5_0= ruleExpCS )
// InternalQVTrelation.g:10173:8: lv_ownedInitExpression_5_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_0_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_5_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
}
}
}
// $ANTLR end synpred387_InternalQVTrelation
// $ANTLR start synpred390_InternalQVTrelation
public final void synpred390_InternalQVTrelation_fragment() throws RecognitionException {
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
EObject lv_ownedType_7_0 = null;
EObject lv_ownedCoIterator_9_0 = null;
EObject lv_ownedInitExpression_11_0 = null;
// InternalQVTrelation.g:10193:4: ( (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )? (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )? ) )
// InternalQVTrelation.g:10193:4: (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )? (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )? )
{
// InternalQVTrelation.g:10193:4: (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )? (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )? )
// InternalQVTrelation.g:10194:5: otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )? (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )?
{
otherlv_6=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return ;
// InternalQVTrelation.g:10198:5: ( (lv_ownedType_7_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:10199:6: (lv_ownedType_7_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:10199:6: (lv_ownedType_7_0= ruleTypeExpCS )
// InternalQVTrelation.g:10200:7: lv_ownedType_7_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_127);
lv_ownedType_7_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return ;
}
}
// InternalQVTrelation.g:10217:5: (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )?
int alt375=2;
int LA375_0 = input.LA(1);
if ( (LA375_0==131) ) {
alt375=1;
}
switch (alt375) {
case 1 :
// InternalQVTrelation.g:10218:6: otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) )
{
otherlv_8=(Token)match(input,131,FollowSets000.FOLLOW_5); if (state.failed) return ;
// InternalQVTrelation.g:10222:6: ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) )
// InternalQVTrelation.g:10223:7: (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS )
{
// InternalQVTrelation.g:10223:7: (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS )
// InternalQVTrelation.g:10224:8: lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_2_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_126);
lv_ownedCoIterator_9_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
// InternalQVTrelation.g:10242:5: (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )?
int alt376=2;
int LA376_0 = input.LA(1);
if ( (LA376_0==19) ) {
alt376=1;
}
switch (alt376) {
case 1 :
// InternalQVTrelation.g:10243:6: otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) )
{
otherlv_10=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return ;
// InternalQVTrelation.g:10247:6: ( (lv_ownedInitExpression_11_0= ruleExpCS ) )
// InternalQVTrelation.g:10248:7: (lv_ownedInitExpression_11_0= ruleExpCS )
{
// InternalQVTrelation.g:10248:7: (lv_ownedInitExpression_11_0= ruleExpCS )
// InternalQVTrelation.g:10249:8: lv_ownedInitExpression_11_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_1_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_11_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
}
}
}
// $ANTLR end synpred390_InternalQVTrelation
// $ANTLR start synpred393_InternalQVTrelation
public final void synpred393_InternalQVTrelation_fragment() throws RecognitionException {
Token otherlv_12=null;
Token otherlv_14=null;
Token otherlv_16=null;
EObject lv_ownedType_13_0 = null;
EObject lv_ownedCoIterator_15_0 = null;
EObject lv_ownedInitExpression_17_0 = null;
// InternalQVTrelation.g:10269:4: ( ( (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )? (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )? otherlv_16= 'in' ( (lv_ownedInitExpression_17_0= ruleExpCS ) ) ) )
// InternalQVTrelation.g:10269:4: ( (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )? (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )? otherlv_16= 'in' ( (lv_ownedInitExpression_17_0= ruleExpCS ) ) )
{
// InternalQVTrelation.g:10269:4: ( (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )? (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )? otherlv_16= 'in' ( (lv_ownedInitExpression_17_0= ruleExpCS ) ) )
// InternalQVTrelation.g:10270:5: (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )? (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )? otherlv_16= 'in' ( (lv_ownedInitExpression_17_0= ruleExpCS ) )
{
// InternalQVTrelation.g:10270:5: (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )?
int alt377=2;
int LA377_0 = input.LA(1);
if ( (LA377_0==18) ) {
alt377=1;
}
switch (alt377) {
case 1 :
// InternalQVTrelation.g:10271:6: otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) )
{
otherlv_12=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return ;
// InternalQVTrelation.g:10275:6: ( (lv_ownedType_13_0= ruleTypeExpCS ) )
// InternalQVTrelation.g:10276:7: (lv_ownedType_13_0= ruleTypeExpCS )
{
// InternalQVTrelation.g:10276:7: (lv_ownedType_13_0= ruleTypeExpCS )
// InternalQVTrelation.g:10277:8: lv_ownedType_13_0= ruleTypeExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_2_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_128);
lv_ownedType_13_0=ruleTypeExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
// InternalQVTrelation.g:10295:5: (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )?
int alt378=2;
int LA378_0 = input.LA(1);
if ( (LA378_0==131) ) {
alt378=1;
}
switch (alt378) {
case 1 :
// InternalQVTrelation.g:10296:6: otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) )
{
otherlv_14=(Token)match(input,131,FollowSets000.FOLLOW_5); if (state.failed) return ;
// InternalQVTrelation.g:10300:6: ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) )
// InternalQVTrelation.g:10301:7: (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS )
{
// InternalQVTrelation.g:10301:7: (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS )
// InternalQVTrelation.g:10302:8: lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedCoIteratorCoIteratorVariableCSParserRuleCall_2_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_129);
lv_ownedCoIterator_15_0=ruleCoIteratorVariableCS();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
}
otherlv_16=(Token)match(input,140,FollowSets000.FOLLOW_19); if (state.failed) return ;
// InternalQVTrelation.g:10324:5: ( (lv_ownedInitExpression_17_0= ruleExpCS ) )
// InternalQVTrelation.g:10325:6: (lv_ownedInitExpression_17_0= ruleExpCS )
{
// InternalQVTrelation.g:10325:6: (lv_ownedInitExpression_17_0= ruleExpCS )
// InternalQVTrelation.g:10326:7: lv_ownedInitExpression_17_0= ruleExpCS
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_2_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_ownedInitExpression_17_0=ruleExpCS();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred393_InternalQVTrelation
// Delegated rules
public final boolean synpred379_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred379_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 synpred382_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred382_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 synpred393_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred393_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 synpred346_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred346_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 synpred347_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred347_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 synpred360_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred360_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 synpred376_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred376_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 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 synpred359_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred359_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 synpred109_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred109_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 synpred81_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred81_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 synpred349_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred349_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 synpred363_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred363_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 synpred390_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred390_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 synpred352_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred352_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 synpred387_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred387_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 synpred41_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred41_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 synpred58_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred58_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 synpred361_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred361_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 synpred79_InternalQVTrelation() {
state.backtracking++;
int start = input.mark();
try {
synpred79_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 DFA3 dfa3 = new DFA3(this);
protected DFA14 dfa14 = new DFA14(this);
protected DFA10 dfa10 = new DFA10(this);
protected DFA11 dfa11 = new DFA11(this);
protected DFA37 dfa37 = new DFA37(this);
protected DFA51 dfa51 = new DFA51(this);
protected DFA52 dfa52 = new DFA52(this);
protected DFA54 dfa54 = new DFA54(this);
protected DFA61 dfa61 = new DFA61(this);
protected DFA68 dfa68 = new DFA68(this);
protected DFA69 dfa69 = new DFA69(this);
protected DFA70 dfa70 = new DFA70(this);
protected DFA71 dfa71 = new DFA71(this);
protected DFA187 dfa187 = new DFA187(this);
protected DFA190 dfa190 = new DFA190(this);
protected DFA203 dfa203 = new DFA203(this);
protected DFA202 dfa202 = new DFA202(this);
protected DFA204 dfa204 = new DFA204(this);
protected DFA207 dfa207 = new DFA207(this);
protected DFA210 dfa210 = new DFA210(this);
protected DFA226 dfa226 = new DFA226(this);
protected DFA235 dfa235 = new DFA235(this);
protected DFA239 dfa239 = new DFA239(this);
static final String dfa_1s = "\71\uffff";
static final String dfa_2s = "\1\7\66\22\2\uffff";
static final String dfa_3s = "\1\133\66\54\2\uffff";
static final String dfa_4s = "\67\uffff\1\2\1\1";
static final String dfa_5s = "\71\uffff}>";
static final String[] dfa_6s = {
"\1\1\1\2\10\uffff\1\55\7\uffff\1\37\1\43\1\60\1\42\1\44\1\40\1\51\1\52\2\uffff\1\41\1\47\1\24\1\33\1\56\1\62\1\3\1\57\1\54\1\uffff\1\63\1\15\1\45\1\uffff\1\65\1\66\1\46\1\50\1\53\1\61\1\64\1\31\1\11\1\4\1\12\1\uffff\1\16\1\uffff\1\23\1\uffff\1\26\2\uffff\1\34\1\uffff\1\35\1\uffff\1\36\1\uffff\1\17\1\13\1\10\1\30\1\uffff\1\14\1\21\1\22\1\32\1\5\1\25\1\uffff\1\7\1\uffff\1\27\1\uffff\1\6\1\20",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"\3\67\1\uffff\1\67\25\uffff\1\70",
"",
""
};
static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s);
static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s);
static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
class DFA3 extends DFA {
public DFA3(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 3;
this.eot = dfa_1;
this.eof = dfa_1;
this.min = dfa_2;
this.max = dfa_3;
this.accept = dfa_4;
this.special = dfa_5;
this.transition = dfa_6;
}
public String getDescription() {
return "177:3: ( (lv_ownedPathName_1_0= ruleScopeNameCS ) )?";
}
}
static final String dfa_7s = "\72\uffff";
static final String dfa_8s = "\1\2\71\uffff";
static final String dfa_9s = "\1\24\1\4\1\uffff\66\22\1\uffff";
static final String dfa_10s = "\1\36\1\u0094\1\uffff\66\u008a\1\uffff";
static final String dfa_11s = "\2\uffff\1\2\66\uffff\1\1";
static final String dfa_12s = "\72\uffff}>";
static final String[] dfa_13s = {
"\1\1\4\2\4\uffff\2\2",
"\1\2\1\uffff\1\2\1\3\1\4\10\uffff\1\57\1\71\2\uffff\1\71\3\uffff\1\41\1\45\1\62\1\44\1\46\1\42\1\53\1\54\1\2\1\uffff\1\43\1\51\1\26\1\35\1\60\1\64\1\5\1\61\1\56\1\uffff\1\65\1\17\1\47\1\2\1\67\1\70\1\50\1\52\1\55\1\63\1\66\1\33\1\13\1\6\1\14\1\uffff\1\20\1\uffff\1\25\1\uffff\1\30\2\uffff\1\36\1\uffff\1\37\1\uffff\1\40\1\uffff\1\21\1\15\1\12\1\32\1\uffff\1\16\1\23\1\24\1\34\1\7\1\27\1\uffff\1\11\1\uffff\1\31\1\uffff\1\10\1\22\3\2\23\uffff\17\2\1\uffff\1\2\1\uffff\4\2\6\uffff\1\2\4\uffff\2\2",
"",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
"\1\71\3\2\1\uffff\2\71\10\uffff\1\2\12\uffff\1\2\3\uffff\1\2\53\uffff\1\2\2\uffff\23\2\26\uffff\1\2\1\uffff\1\2",
""
};
static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s);
static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s);
static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s);
static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s);
static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s);
static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s);
static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s);
class DFA14 extends DFA {
public DFA14(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 14;
this.eot = dfa_7;
this.eof = dfa_8;
this.min = dfa_9;
this.max = dfa_10;
this.accept = dfa_11;
this.special = dfa_12;
this.transition = dfa_13;
}
public String getDescription() {
return "402:3: (otherlv_3= '{' ( ( ( (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS ) ) ) (otherlv_5= ',' ( ( (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS ) ) ) )* otherlv_7= '++' ( (lv_ownedRestIdentifier_8_0= ruleElementTemplateCS ) ) )? otherlv_9= '}' )?";
}
}
static final String dfa_14s = "\1\133\66\30\2\uffff";
static final String dfa_15s = "\67\uffff\1\1\1\2";
static final String[] dfa_16s = {
"\1\1\1\2\10\uffff\1\55\1\67\6\uffff\1\37\1\43\1\60\1\42\1\44\1\40\1\51\1\52\2\uffff\1\41\1\47\1\24\1\33\1\56\1\62\1\3\1\57\1\54\1\uffff\1\63\1\15\1\45\1\uffff\1\65\1\66\1\46\1\50\1\53\1\61\1\64\1\31\1\11\1\4\1\12\1\uffff\1\16\1\uffff\1\23\1\uffff\1\26\2\uffff\1\34\1\uffff\1\35\1\uffff\1\36\1\uffff\1\17\1\13\1\10\1\30\1\uffff\1\14\1\21\1\22\1\32\1\5\1\25\1\uffff\1\7\1\uffff\1\27\1\uffff\1\6\1\20",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"\1\67\4\uffff\2\70",
"",
""
};
static final char[] dfa_14 = DFA.unpackEncodedStringToUnsignedChars(dfa_14s);
static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s);
static final short[][] dfa_16 = unpackEncodedStringArray(dfa_16s);
class DFA10 extends DFA {
public DFA10(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 10;
this.eot = dfa_1;
this.eof = dfa_1;
this.min = dfa_2;
this.max = dfa_14;
this.accept = dfa_15;
this.special = dfa_5;
this.transition = dfa_16;
}
public String getDescription() {
return "410:7: (lv_ownedMemberIdentifiers_4_1= ruleTemplateCS | lv_ownedMemberIdentifiers_4_2= ruleElementTemplateCS )";
}
}
class DFA11 extends DFA {
public DFA11(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 11;
this.eot = dfa_1;
this.eof = dfa_1;
this.min = dfa_2;
this.max = dfa_14;
this.accept = dfa_15;
this.special = dfa_5;
this.transition = dfa_16;
}
public String getDescription() {
return "452:8: (lv_ownedMemberIdentifiers_6_1= ruleTemplateCS | lv_ownedMemberIdentifiers_6_2= ruleElementTemplateCS )";
}
}
static final String dfa_17s = "\12\uffff";
static final String dfa_18s = "\1\2\11\uffff";
static final String dfa_19s = "\1\24\1\0\10\uffff";
static final String dfa_20s = "\1\36\1\0\10\uffff";
static final String dfa_21s = "\2\uffff\1\2\6\uffff\1\1";
static final String dfa_22s = "\1\uffff\1\0\10\uffff}>";
static final String[] dfa_23s = {
"\1\1\4\2\4\uffff\2\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s);
static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s);
static final char[] dfa_19 = DFA.unpackEncodedStringToUnsignedChars(dfa_19s);
static final char[] dfa_20 = DFA.unpackEncodedStringToUnsignedChars(dfa_20s);
static final short[] dfa_21 = DFA.unpackEncodedString(dfa_21s);
static final short[] dfa_22 = DFA.unpackEncodedString(dfa_22s);
static final short[][] dfa_23 = unpackEncodedStringArray(dfa_23s);
class DFA37 extends DFA {
public DFA37(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 37;
this.eot = dfa_17;
this.eof = dfa_18;
this.min = dfa_19;
this.max = dfa_20;
this.accept = dfa_21;
this.special = dfa_22;
this.transition = dfa_23;
}
public String getDescription() {
return "1357:3: (otherlv_3= '{' ( ( (lv_ownedPropertyTemplates_4_0= rulePropertyTemplateCS ) ) (otherlv_5= ',' ( (lv_ownedPropertyTemplates_6_0= rulePropertyTemplateCS ) ) )* )? otherlv_7= '}' )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA37_1 = input.LA(1);
int index37_1 = input.index();
input.rewind();
s = -1;
if ( (synpred41_InternalQVTrelation()) ) {s = 9;}
else if ( (true) ) {s = 2;}
input.seek(index37_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 37, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_24s = "\1\67\70\uffff";
static final String dfa_25s = "\1\u0080\66\54\2\uffff";
static final String[] dfa_26s = {
"\1\1\1\2\10\uffff\1\55\7\uffff\1\37\1\43\1\60\1\42\1\44\1\40\1\51\1\52\2\uffff\1\41\1\47\1\24\1\33\1\56\1\62\1\3\1\57\1\54\1\uffff\1\63\1\15\1\45\1\uffff\1\65\1\66\1\46\1\50\1\53\1\61\1\64\1\31\1\11\1\4\1\12\1\uffff\1\16\1\uffff\1\23\1\uffff\1\26\2\uffff\1\34\1\uffff\1\35\1\uffff\1\36\1\uffff\1\17\1\13\1\10\1\30\1\uffff\1\14\1\21\1\22\1\32\1\5\1\25\1\uffff\1\7\1\uffff\1\27\1\uffff\1\6\1\20\26\uffff\17\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"\3\67\1\uffff\1\67\12\uffff\1\67\12\uffff\1\70",
"",
""
};
static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s);
static final char[] dfa_25 = DFA.unpackEncodedStringToUnsignedChars(dfa_25s);
static final short[][] dfa_26 = unpackEncodedStringArray(dfa_26s);
class DFA51 extends DFA {
public DFA51(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 51;
this.eot = dfa_1;
this.eof = dfa_24;
this.min = dfa_2;
this.max = dfa_25;
this.accept = dfa_4;
this.special = dfa_5;
this.transition = dfa_26;
}
public String getDescription() {
return "()* loopback of 2188:3: ( ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) otherlv_3= '::' )*";
}
}
static final String dfa_27s = "\77\uffff";
static final String dfa_28s = "\1\7\66\22\1\7\5\0\2\uffff";
static final String dfa_29s = "\1\133\66\22\1\u0080\5\0\2\uffff";
static final String dfa_30s = "\75\uffff\1\2\1\1";
static final String dfa_31s = "\70\uffff\1\4\1\3\1\0\1\2\1\1\2\uffff}>";
static final String[] dfa_32s = {
"\1\1\1\2\10\uffff\1\55\1\67\6\uffff\1\37\1\43\1\60\1\42\1\44\1\40\1\51\1\52\2\uffff\1\41\1\47\1\24\1\33\1\56\1\62\1\3\1\57\1\54\1\uffff\1\63\1\15\1\45\1\uffff\1\65\1\66\1\46\1\50\1\53\1\61\1\64\1\31\1\11\1\4\1\12\1\uffff\1\16\1\uffff\1\23\1\uffff\1\26\2\uffff\1\34\1\uffff\1\35\1\uffff\1\36\1\uffff\1\17\1\13\1\10\1\30\1\uffff\1\14\1\21\1\22\1\32\1\5\1\25\1\uffff\1\7\1\uffff\1\27\1\uffff\1\6\1\20",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\1\67",
"\2\75\10\uffff\1\75\7\uffff\10\75\2\uffff\11\75\1\uffff\3\75\1\uffff\13\75\1\uffff\1\75\1\uffff\1\75\1\uffff\1\75\2\uffff\1\75\1\uffff\1\75\1\uffff\1\75\1\uffff\4\75\1\uffff\6\75\1\uffff\1\75\1\uffff\1\75\1\uffff\2\75\30\uffff\10\75\1\70\1\71\1\72\1\73\1\74",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
""
};
static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s);
static final char[] dfa_28 = DFA.unpackEncodedStringToUnsignedChars(dfa_28s);
static final char[] dfa_29 = DFA.unpackEncodedStringToUnsignedChars(dfa_29s);
static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s);
static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s);
static final short[][] dfa_32 = unpackEncodedStringArray(dfa_32s);
class DFA52 extends DFA {
public DFA52(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 52;
this.eot = dfa_27;
this.eof = dfa_27;
this.min = dfa_28;
this.max = dfa_29;
this.accept = dfa_30;
this.special = dfa_31;
this.transition = dfa_32;
}
public String getDescription() {
return "2232:3: (this_CollectionTemplateCS_0= ruleCollectionTemplateCS | this_ObjectTemplateCS_1= ruleObjectTemplateCS )";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA52_58 = input.LA(1);
int index52_58 = input.index();
input.rewind();
s = -1;
if ( (synpred58_InternalQVTrelation()) ) {s = 62;}
else if ( (true) ) {s = 61;}
input.seek(index52_58);
if ( s>=0 ) return s;
break;
case 1 :
int LA52_60 = input.LA(1);
int index52_60 = input.index();
input.rewind();
s = -1;
if ( (synpred58_InternalQVTrelation()) ) {s = 62;}
else if ( (true) ) {s = 61;}
input.seek(index52_60);
if ( s>=0 ) return s;
break;
case 2 :
int LA52_59 = input.LA(1);
int index52_59 = input.index();
input.rewind();
s = -1;
if ( (synpred58_InternalQVTrelation()) ) {s = 62;}
else if ( (true) ) {s = 61;}
input.seek(index52_59);
if ( s>=0 ) return s;
break;
case 3 :
int LA52_57 = input.LA(1);
int index52_57 = input.index();
input.rewind();
s = -1;
if ( (synpred58_InternalQVTrelation()) ) {s = 62;}
else if ( (true) ) {s = 61;}
input.seek(index52_57);
if ( s>=0 ) return s;
break;
case 4 :
int LA52_56 = input.LA(1);
int index52_56 = input.index();
input.rewind();
s = -1;
if ( (synpred58_InternalQVTrelation()) ) {s = 62;}
else if ( (true) ) {s = 61;}
input.seek(index52_56);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 52, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_33s = "\1\7\66\41\2\uffff";
static final String[] dfa_34s = {
"\1\1\1\2\10\uffff\1\55\7\uffff\1\37\1\43\1\60\1\42\1\44\1\40\1\51\1\52\2\uffff\1\41\1\47\1\24\1\33\1\56\1\62\1\3\1\57\1\54\1\uffff\1\63\1\15\1\45\1\uffff\1\65\1\66\1\46\1\50\1\53\1\61\1\64\1\31\1\11\1\4\1\12\1\uffff\1\16\1\uffff\1\23\1\uffff\1\26\2\uffff\1\34\1\uffff\1\35\1\uffff\1\36\1\uffff\1\17\1\13\1\10\1\30\1\uffff\1\14\1\21\1\22\1\32\1\5\1\25\1\uffff\1\7\1\uffff\1\27\1\uffff\1\6\1\20",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"\1\67\12\uffff\1\70",
"",
""
};
static final char[] dfa_33 = DFA.unpackEncodedStringToUnsignedChars(dfa_33s);
static final short[][] dfa_34 = unpackEncodedStringArray(dfa_34s);
class DFA54 extends DFA {
public DFA54(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 54;
this.eot = dfa_1;
this.eof = dfa_1;
this.min = dfa_33;
this.max = dfa_3;
this.accept = dfa_4;
this.special = dfa_5;
this.transition = dfa_34;
}
public String getDescription() {
return "2309:3: ( (lv_ownedPathName_1_0= ruleScopeNameCS ) )?";
}
}
static final String dfa_35s = "\1\4\66\22\2\uffff";
static final String[] dfa_36s = {
"\1\67\2\uffff\1\1\1\2\10\uffff\1\55\7\uffff\1\37\1\43\1\60\1\42\1\44\1\40\1\51\1\52\2\uffff\1\41\1\47\1\24\1\33\1\56\1\62\1\3\1\57\1\54\1\uffff\1\63\1\15\1\45\1\uffff\1\65\1\66\1\46\1\50\1\53\1\61\1\64\1\31\1\11\1\4\1\12\1\uffff\1\16\1\uffff\1\23\1\uffff\1\26\2\uffff\1\34\1\uffff\1\35\1\uffff\1\36\1\uffff\1\17\1\13\1\10\1\30\1\uffff\1\14\1\21\1\22\1\32\1\5\1\25\1\uffff\1\7\1\uffff\1\27\1\uffff\1\6\1\20",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"\1\70\3\uffff\1\67\25\uffff\1\67",
"",
""
};
static final char[] dfa_35 = DFA.unpackEncodedStringToUnsignedChars(dfa_35s);
static final short[][] dfa_36 = unpackEncodedStringArray(dfa_36s);
class DFA61 extends DFA {
public DFA61(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 61;
this.eot = dfa_1;
this.eof = dfa_1;
this.min = dfa_35;
this.max = dfa_3;
this.accept = dfa_4;
this.special = dfa_5;
this.transition = dfa_36;
}
public String getDescription() {
return "2579:3: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )?";
}
}
static final String dfa_37s = "\2\uffff\66\1\1\uffff";
static final String dfa_38s = "\1\4\1\uffff\66\22\1\uffff";
static final String dfa_39s = "\1\u0094\1\uffff\66\u008a\1\uffff";
static final String dfa_40s = "\1\uffff\1\1\66\uffff\1\2";
static final String[] dfa_41s = {
"\1\1\1\uffff\1\1\1\2\1\3\10\uffff\1\56\1\70\6\uffff\1\40\1\44\1\61\1\43\1\45\1\41\1\52\1\53\1\1\1\uffff\1\42\1\50\1\25\1\34\1\57\1\63\1\4\1\60\1\55\1\uffff\1\64\1\16\1\46\1\1\1\66\1\67\1\47\1\51\1\54\1\62\1\65\1\32\1\12\1\5\1\13\1\uffff\1\17\1\uffff\1\24\1\uffff\1\27\2\uffff\1\35\1\uffff\1\36\1\uffff\1\37\1\uffff\1\20\1\14\1\11\1\31\1\uffff\1\15\1\22\1\23\1\33\1\6\1\26\1\uffff\1\10\1\uffff\1\30\1\uffff\1\7\1\21\3\1\23\uffff\17\1\1\uffff\1\1\1\uffff\4\1\6\uffff\1\1\4\uffff\2\1",
"",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1",
""
};
static final short[] dfa_37 = DFA.unpackEncodedString(dfa_37s);
static final char[] dfa_38 = DFA.unpackEncodedStringToUnsignedChars(dfa_38s);
static final char[] dfa_39 = DFA.unpackEncodedStringToUnsignedChars(dfa_39s);
static final short[] dfa_40 = DFA.unpackEncodedString(dfa_40s);
static final short[][] dfa_41 = unpackEncodedStringArray(dfa_41s);
class DFA68 extends DFA {
public DFA68(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 68;
this.eot = dfa_1;
this.eof = dfa_37;
this.min = dfa_38;
this.max = dfa_39;
this.accept = dfa_40;
this.special = dfa_5;
this.transition = dfa_41;
}
public String getDescription() {
return "2938:2: (this_ExpCS_0= ruleExpCS | this_TemplateCS_1= ruleTemplateCS )";
}
}
static final String dfa_42s = "\16\uffff";
static final String dfa_43s = "\1\2\15\uffff";
static final String dfa_44s = "\1\22\1\6\1\uffff\1\u0081\3\u008b\1\6\2\u008b\1\0\2\u008b\1\uffff";
static final String dfa_45s = "\1\u0098\1\u0097\1\uffff\4\u0096\1\60\2\u008b\1\0\2\u0096\1\uffff";
static final String dfa_46s = "\2\uffff\1\2\12\uffff\1\1";
static final String dfa_47s = "\12\uffff\1\0\3\uffff}>";
static final String[] dfa_48s = {
"\7\2\4\uffff\2\2\3\uffff\1\2\57\uffff\1\2\67\uffff\1\1\15\uffff\1\2",
"\1\3\51\uffff\1\4\57\uffff\1\5\66\uffff\1\6",
"",
"\1\7\11\uffff\1\12\11\uffff\1\10\1\11",
"\1\12\11\uffff\1\10\1\11",
"\1\12\11\uffff\1\10\1\11",
"\1\12\11\uffff\1\10\1\11",
"\1\13\51\uffff\1\14",
"\1\12",
"\1\12",
"\1\uffff",
"\1\12\11\uffff\1\10\1\11",
"\1\12\11\uffff\1\10\1\11",
""
};
static final short[] dfa_42 = DFA.unpackEncodedString(dfa_42s);
static final short[] dfa_43 = DFA.unpackEncodedString(dfa_43s);
static final char[] dfa_44 = DFA.unpackEncodedStringToUnsignedChars(dfa_44s);
static final char[] dfa_45 = DFA.unpackEncodedStringToUnsignedChars(dfa_45s);
static final short[] dfa_46 = DFA.unpackEncodedString(dfa_46s);
static final short[] dfa_47 = DFA.unpackEncodedString(dfa_47s);
static final short[][] dfa_48 = unpackEncodedStringArray(dfa_48s);
class DFA69 extends DFA {
public DFA69(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 69;
this.eot = dfa_42;
this.eof = dfa_43;
this.min = dfa_44;
this.max = dfa_45;
this.accept = dfa_46;
this.special = dfa_47;
this.transition = dfa_48;
}
public String getDescription() {
return "3029:4: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA69_10 = input.LA(1);
int index69_10 = input.index();
input.rewind();
s = -1;
if ( (synpred77_InternalQVTrelation()) ) {s = 13;}
else if ( (true) ) {s = 2;}
input.seek(index69_10);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 69, _s, input);
error(nvae);
throw nvae;
}
}
class DFA70 extends DFA {
public DFA70(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 70;
this.eot = dfa_42;
this.eof = dfa_43;
this.min = dfa_44;
this.max = dfa_45;
this.accept = dfa_46;
this.special = dfa_47;
this.transition = dfa_48;
}
public String getDescription() {
return "3062:4: ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA70_10 = input.LA(1);
int index70_10 = input.index();
input.rewind();
s = -1;
if ( (synpred79_InternalQVTrelation()) ) {s = 13;}
else if ( (true) ) {s = 2;}
input.seek(index70_10);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 70, _s, input);
error(nvae);
throw nvae;
}
}
class DFA71 extends DFA {
public DFA71(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 71;
this.eot = dfa_42;
this.eof = dfa_43;
this.min = dfa_44;
this.max = dfa_45;
this.accept = dfa_46;
this.special = dfa_47;
this.transition = dfa_48;
}
public String getDescription() {
return "3095:4: ( (lv_ownedMultiplicity_5_0= ruleMultiplicityCS ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA71_10 = input.LA(1);
int index71_10 = input.index();
input.rewind();
s = -1;
if ( (synpred81_InternalQVTrelation()) ) {s = 13;}
else if ( (true) ) {s = 2;}
input.seek(index71_10);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 71, _s, input);
error(nvae);
throw nvae;
}
}
static final String[] dfa_49s = {
"\1\1\1\uffff\1\1\1\2\1\3\10\uffff\1\56\1\70\6\uffff\1\40\1\44\1\61\1\43\1\45\1\41\1\52\1\53\1\1\1\uffff\1\42\1\50\1\25\1\34\1\57\1\63\1\4\1\60\1\55\1\uffff\1\64\1\16\1\46\1\1\1\66\1\67\1\47\1\51\1\54\1\62\1\65\1\32\1\12\1\5\1\13\1\uffff\1\17\1\uffff\1\24\1\uffff\1\27\2\uffff\1\35\1\uffff\1\36\1\uffff\1\37\1\uffff\1\20\1\14\1\11\1\31\1\uffff\1\15\1\22\1\23\1\33\1\6\1\26\1\uffff\1\10\1\uffff\1\30\1\uffff\1\7\1\21\3\1\23\uffff\17\1\1\uffff\1\1\1\uffff\4\1\6\uffff\1\1\4\uffff\2\1",
"",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
"\1\70\3\1\1\uffff\1\1\11\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\17\uffff\1\1\6\uffff\1\1\1\uffff\1\1",
""
};
static final short[][] dfa_49 = unpackEncodedStringArray(dfa_49s);
class DFA187 extends DFA {
public DFA187(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 187;
this.eot = dfa_1;
this.eof = dfa_37;
this.min = dfa_38;
this.max = dfa_39;
this.accept = dfa_40;
this.special = dfa_5;
this.transition = dfa_49;
}
public String getDescription() {
return "7582:2: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) )";
}
}
class DFA190 extends DFA {
public DFA190(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 190;
this.eot = dfa_1;
this.eof = dfa_37;
this.min = dfa_38;
this.max = dfa_39;
this.accept = dfa_40;
this.special = dfa_5;
this.transition = dfa_41;
}
public String getDescription() {
return "7811:6: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS )";
}
}
static final String dfa_50s = "\20\uffff";
static final String dfa_51s = "\1\2\17\uffff";
static final String dfa_52s = "\1\23\1\0\16\uffff";
static final String dfa_53s = "\1\u008f\1\0\16\uffff";
static final String dfa_54s = "\2\uffff\1\2\14\uffff\1\1";
static final String dfa_55s = "\1\uffff\1\0\16\uffff}>";
static final String[] dfa_56s = {
"\1\2\1\1\4\2\4\uffff\1\2\4\uffff\1\2\140\uffff\1\2\6\uffff\1\2\1\uffff\2\2\1\uffff\1\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_50 = DFA.unpackEncodedString(dfa_50s);
static final short[] dfa_51 = DFA.unpackEncodedString(dfa_51s);
static final char[] dfa_52 = DFA.unpackEncodedStringToUnsignedChars(dfa_52s);
static final char[] dfa_53 = DFA.unpackEncodedStringToUnsignedChars(dfa_53s);
static final short[] dfa_54 = DFA.unpackEncodedString(dfa_54s);
static final short[] dfa_55 = DFA.unpackEncodedString(dfa_55s);
static final short[][] dfa_56 = unpackEncodedStringArray(dfa_56s);
class DFA203 extends DFA {
public DFA203(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 203;
this.eot = dfa_50;
this.eof = dfa_51;
this.min = dfa_52;
this.max = dfa_53;
this.accept = dfa_54;
this.special = dfa_55;
this.transition = dfa_56;
}
public String getDescription() {
return "8790:3: ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA203_1 = input.LA(1);
int index203_1 = input.index();
input.rewind();
s = -1;
if ( (synpred347_InternalQVTrelation()) ) {s = 15;}
else if ( (true) ) {s = 2;}
input.seek(index203_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 203, _s, input);
error(nvae);
throw nvae;
}
}
class DFA202 extends DFA {
public DFA202(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 202;
this.eot = dfa_50;
this.eof = dfa_51;
this.min = dfa_52;
this.max = dfa_53;
this.accept = dfa_54;
this.special = dfa_55;
this.transition = dfa_56;
}
public String getDescription() {
return "8810:4: (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA202_1 = input.LA(1);
int index202_1 = input.index();
input.rewind();
s = -1;
if ( (synpred346_InternalQVTrelation()) ) {s = 15;}
else if ( (true) ) {s = 2;}
input.seek(index202_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 202, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_57s = "\107\uffff";
static final String dfa_58s = "\1\7\76\uffff\5\0\3\uffff";
static final String dfa_59s = "\1\u0080\76\uffff\5\0\3\uffff";
static final String dfa_60s = "\1\uffff\1\1\65\uffff\1\2\16\uffff\1\3";
static final String dfa_61s = "\77\uffff\1\0\1\1\1\2\1\3\1\4\3\uffff}>";
static final String[] dfa_62s = {
"\2\1\10\uffff\1\1\7\uffff\10\1\2\uffff\11\1\1\uffff\3\1\1\uffff\13\1\1\uffff\1\1\1\uffff\1\1\1\uffff\1\1\2\uffff\1\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\2\1\26\uffff\12\67\1\77\1\100\1\101\1\102\1\103",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
""
};
static final short[] dfa_57 = DFA.unpackEncodedString(dfa_57s);
static final char[] dfa_58 = DFA.unpackEncodedStringToUnsignedChars(dfa_58s);
static final char[] dfa_59 = DFA.unpackEncodedStringToUnsignedChars(dfa_59s);
static final short[] dfa_60 = DFA.unpackEncodedString(dfa_60s);
static final short[] dfa_61 = DFA.unpackEncodedString(dfa_61s);
static final short[][] dfa_62 = unpackEncodedStringArray(dfa_62s);
class DFA204 extends DFA {
public DFA204(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 204;
this.eot = dfa_57;
this.eof = dfa_57;
this.min = dfa_58;
this.max = dfa_59;
this.accept = dfa_60;
this.special = dfa_61;
this.transition = dfa_62;
}
public String getDescription() {
return "8858:2: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS )";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA204_63 = input.LA(1);
int index204_63 = input.index();
input.rewind();
s = -1;
if ( (synpred349_InternalQVTrelation()) ) {s = 55;}
else if ( (true) ) {s = 70;}
input.seek(index204_63);
if ( s>=0 ) return s;
break;
case 1 :
int LA204_64 = input.LA(1);
int index204_64 = input.index();
input.rewind();
s = -1;
if ( (synpred349_InternalQVTrelation()) ) {s = 55;}
else if ( (true) ) {s = 70;}
input.seek(index204_64);
if ( s>=0 ) return s;
break;
case 2 :
int LA204_65 = input.LA(1);
int index204_65 = input.index();
input.rewind();
s = -1;
if ( (synpred349_InternalQVTrelation()) ) {s = 55;}
else if ( (true) ) {s = 70;}
input.seek(index204_65);
if ( s>=0 ) return s;
break;
case 3 :
int LA204_66 = input.LA(1);
int index204_66 = input.index();
input.rewind();
s = -1;
if ( (synpred349_InternalQVTrelation()) ) {s = 55;}
else if ( (true) ) {s = 70;}
input.seek(index204_66);
if ( s>=0 ) return s;
break;
case 4 :
int LA204_67 = input.LA(1);
int index204_67 = input.index();
input.rewind();
s = -1;
if ( (synpred349_InternalQVTrelation()) ) {s = 55;}
else if ( (true) ) {s = 70;}
input.seek(index204_67);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 204, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_63s = "\125\uffff";
static final String dfa_64s = "\1\4\3\0\121\uffff";
static final String dfa_65s = "\1\u0094\3\0\121\uffff";
static final String dfa_66s = "\4\uffff\1\1\117\uffff\1\2";
static final String dfa_67s = "\1\uffff\1\0\1\1\1\2\121\uffff}>";
static final String[] dfa_68s = {
"\1\4\1\uffff\3\4\10\uffff\1\4\7\uffff\11\4\1\uffff\11\4\1\uffff\17\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\2\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\4\4\1\uffff\6\4\1\uffff\1\4\1\uffff\1\4\1\uffff\2\4\1\1\1\2\1\3\23\uffff\17\4\1\uffff\1\4\1\uffff\4\4\6\uffff\1\4\4\uffff\1\124\1\4",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_63 = DFA.unpackEncodedString(dfa_63s);
static final char[] dfa_64 = DFA.unpackEncodedStringToUnsignedChars(dfa_64s);
static final char[] dfa_65 = DFA.unpackEncodedStringToUnsignedChars(dfa_65s);
static final short[] dfa_66 = DFA.unpackEncodedString(dfa_66s);
static final short[] dfa_67 = DFA.unpackEncodedString(dfa_67s);
static final short[][] dfa_68 = unpackEncodedStringArray(dfa_68s);
class DFA207 extends DFA {
public DFA207(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 207;
this.eot = dfa_63;
this.eof = dfa_63;
this.min = dfa_64;
this.max = dfa_65;
this.accept = dfa_66;
this.special = dfa_67;
this.transition = dfa_68;
}
public String getDescription() {
return "8961:2: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS )";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA207_1 = input.LA(1);
int index207_1 = input.index();
input.rewind();
s = -1;
if ( (synpred352_InternalQVTrelation()) ) {s = 4;}
else if ( (true) ) {s = 84;}
input.seek(index207_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA207_2 = input.LA(1);
int index207_2 = input.index();
input.rewind();
s = -1;
if ( (synpred352_InternalQVTrelation()) ) {s = 4;}
else if ( (true) ) {s = 84;}
input.seek(index207_2);
if ( s>=0 ) return s;
break;
case 2 :
int LA207_3 = input.LA(1);
int index207_3 = input.index();
input.rewind();
s = -1;
if ( (synpred352_InternalQVTrelation()) ) {s = 4;}
else if ( (true) ) {s = 84;}
input.seek(index207_3);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 207, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_69s = "\124\uffff";
static final String dfa_70s = "\1\4\12\uffff\7\0\102\uffff";
static final String dfa_71s = "\1\u0094\12\uffff\7\0\102\uffff";
static final String dfa_72s = "\1\uffff\1\1\1\2\1\3\1\4\15\uffff\1\10\1\11\7\uffff\1\12\65\uffff\1\5\1\6\1\7";
static final String dfa_73s = "\13\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\102\uffff}>";
static final String[] dfa_74s = {
"\1\4\1\uffff\1\4\2\33\10\uffff\1\33\7\uffff\10\33\1\1\1\uffff\11\33\1\uffff\3\33\1\4\13\33\1\uffff\1\33\1\uffff\1\33\1\uffff\1\33\2\uffff\1\33\1\uffff\1\33\1\uffff\1\33\1\uffff\4\33\1\uffff\6\33\1\uffff\1\33\1\uffff\1\33\1\uffff\2\33\26\uffff\1\14\1\13\10\23\1\15\1\16\1\17\1\20\1\21\1\uffff\1\22\1\uffff\4\4\6\uffff\1\2\5\uffff\1\3",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_69 = DFA.unpackEncodedString(dfa_69s);
static final char[] dfa_70 = DFA.unpackEncodedStringToUnsignedChars(dfa_70s);
static final char[] dfa_71 = DFA.unpackEncodedStringToUnsignedChars(dfa_71s);
static final short[] dfa_72 = DFA.unpackEncodedString(dfa_72s);
static final short[] dfa_73 = DFA.unpackEncodedString(dfa_73s);
static final short[][] dfa_74 = unpackEncodedStringArray(dfa_74s);
class DFA210 extends DFA {
public DFA210(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 210;
this.eot = dfa_69;
this.eof = dfa_69;
this.min = dfa_70;
this.max = dfa_71;
this.accept = dfa_72;
this.special = dfa_73;
this.transition = dfa_74;
}
public String getDescription() {
return "9217:2: (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_MapLiteralExpCS_5= ruleMapLiteralExpCS | this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_7= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS | this_NameExpCS_9= ruleNameExpCS )";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA210_11 = input.LA(1);
int index210_11 = input.index();
input.rewind();
s = -1;
if ( (synpred359_InternalQVTrelation()) ) {s = 81;}
else if ( (synpred363_InternalQVTrelation()) ) {s = 19;}
input.seek(index210_11);
if ( s>=0 ) return s;
break;
case 1 :
int LA210_12 = input.LA(1);
int index210_12 = input.index();
input.rewind();
s = -1;
if ( (synpred360_InternalQVTrelation()) ) {s = 82;}
else if ( (synpred363_InternalQVTrelation()) ) {s = 19;}
input.seek(index210_12);
if ( s>=0 ) return s;
break;
case 2 :
int LA210_13 = input.LA(1);
int index210_13 = input.index();
input.rewind();
s = -1;
if ( (synpred361_InternalQVTrelation()) ) {s = 83;}
else if ( (synpred363_InternalQVTrelation()) ) {s = 19;}
input.seek(index210_13);
if ( s>=0 ) return s;
break;
case 3 :
int LA210_14 = input.LA(1);
int index210_14 = input.index();
input.rewind();
s = -1;
if ( (synpred361_InternalQVTrelation()) ) {s = 83;}
else if ( (synpred363_InternalQVTrelation()) ) {s = 19;}
input.seek(index210_14);
if ( s>=0 ) return s;
break;
case 4 :
int LA210_15 = input.LA(1);
int index210_15 = input.index();
input.rewind();
s = -1;
if ( (synpred361_InternalQVTrelation()) ) {s = 83;}
else if ( (synpred363_InternalQVTrelation()) ) {s = 19;}
input.seek(index210_15);
if ( s>=0 ) return s;
break;
case 5 :
int LA210_16 = input.LA(1);
int index210_16 = input.index();
input.rewind();
s = -1;
if ( (synpred361_InternalQVTrelation()) ) {s = 83;}
else if ( (synpred363_InternalQVTrelation()) ) {s = 19;}
input.seek(index210_16);
if ( s>=0 ) return s;
break;
case 6 :
int LA210_17 = input.LA(1);
int index210_17 = input.index();
input.rewind();
s = -1;
if ( (synpred361_InternalQVTrelation()) ) {s = 83;}
else if ( (synpred363_InternalQVTrelation()) ) {s = 19;}
input.seek(index210_17);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 210, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_75s = "\13\uffff";
static final String dfa_76s = "\1\4\12\uffff";
static final String dfa_77s = "\1\22\2\0\10\uffff";
static final String dfa_78s = "\1\u008d\2\0\10\uffff";
static final String dfa_79s = "\3\uffff\1\3\1\4\4\uffff\1\1\1\2";
static final String dfa_80s = "\1\uffff\1\0\1\1\10\uffff}>";
static final String[] dfa_81s = {
"\1\2\3\uffff\2\4\12\uffff\1\4\140\uffff\1\1\10\uffff\1\3\1\4",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_75 = DFA.unpackEncodedString(dfa_75s);
static final short[] dfa_76 = DFA.unpackEncodedString(dfa_76s);
static final char[] dfa_77 = DFA.unpackEncodedStringToUnsignedChars(dfa_77s);
static final char[] dfa_78 = DFA.unpackEncodedStringToUnsignedChars(dfa_78s);
static final short[] dfa_79 = DFA.unpackEncodedString(dfa_79s);
static final short[] dfa_80 = DFA.unpackEncodedString(dfa_80s);
static final short[][] dfa_81 = unpackEncodedStringArray(dfa_81s);
class DFA226 extends DFA {
public DFA226(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 226;
this.eot = dfa_75;
this.eof = dfa_76;
this.min = dfa_77;
this.max = dfa_78;
this.accept = dfa_79;
this.special = dfa_80;
this.transition = dfa_81;
}
public String getDescription() {
return "9756:4: ( (otherlv_1= '<-' ( (lv_ownedCoIterator_2_0= ruleCoIteratorVariableCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypeExpCS ) ) (otherlv_7= '<-' ( (lv_ownedCoIterator_8_0= ruleCoIteratorVariableCS ) ) )? (otherlv_9= '=' ( (lv_ownedInitExpression_10_0= ruleExpCS ) ) )? ) | ( (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypeExpCS ) ) )? (otherlv_13= '<-' ( (lv_ownedCoIterator_14_0= ruleCoIteratorVariableCS ) ) )? otherlv_15= 'in' ( (lv_ownedInitExpression_16_0= ruleExpCS ) ) ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA226_1 = input.LA(1);
int index226_1 = input.index();
input.rewind();
s = -1;
if ( (synpred376_InternalQVTrelation()) ) {s = 9;}
else if ( (synpred382_InternalQVTrelation()) ) {s = 3;}
input.seek(index226_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA226_2 = input.LA(1);
int index226_2 = input.index();
input.rewind();
s = -1;
if ( (synpred379_InternalQVTrelation()) ) {s = 10;}
else if ( (synpred382_InternalQVTrelation()) ) {s = 3;}
input.seek(index226_2);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 226, _s, input);
error(nvae);
throw nvae;
}
}
class DFA235 extends DFA {
public DFA235(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 235;
this.eot = dfa_75;
this.eof = dfa_76;
this.min = dfa_77;
this.max = dfa_78;
this.accept = dfa_79;
this.special = dfa_80;
this.transition = dfa_81;
}
public String getDescription() {
return "10141:3: ( (otherlv_2= '<-' ( (lv_ownedCoIterator_3_0= ruleCoIteratorVariableCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypeExpCS ) ) (otherlv_8= '<-' ( (lv_ownedCoIterator_9_0= ruleCoIteratorVariableCS ) ) )? (otherlv_10= '=' ( (lv_ownedInitExpression_11_0= ruleExpCS ) ) )? ) | ( (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypeExpCS ) ) )? (otherlv_14= '<-' ( (lv_ownedCoIterator_15_0= ruleCoIteratorVariableCS ) ) )? otherlv_16= 'in' ( (lv_ownedInitExpression_17_0= ruleExpCS ) ) ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA235_1 = input.LA(1);
int index235_1 = input.index();
input.rewind();
s = -1;
if ( (synpred387_InternalQVTrelation()) ) {s = 9;}
else if ( (synpred393_InternalQVTrelation()) ) {s = 3;}
input.seek(index235_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA235_2 = input.LA(1);
int index235_2 = input.index();
input.rewind();
s = -1;
if ( (synpred390_InternalQVTrelation()) ) {s = 10;}
else if ( (synpred393_InternalQVTrelation()) ) {s = 3;}
input.seek(index235_2);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 235, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_82s = "\1\u0094\1\uffff\66\u008f\1\uffff";
static final String[] dfa_83s = {
"\1\1\1\uffff\1\1\1\2\1\3\10\uffff\1\56\1\70\6\uffff\1\40\1\44\1\61\1\43\1\45\1\41\1\52\1\53\1\1\1\uffff\1\42\1\50\1\25\1\34\1\57\1\63\1\4\1\60\1\55\1\uffff\1\64\1\16\1\46\1\1\1\66\1\67\1\47\1\51\1\54\1\62\1\65\1\32\1\12\1\5\1\13\1\uffff\1\17\1\uffff\1\24\1\uffff\1\27\2\uffff\1\35\1\uffff\1\36\1\uffff\1\37\1\uffff\1\20\1\14\1\11\1\31\1\uffff\1\15\1\22\1\23\1\33\1\6\1\26\1\uffff\1\10\1\uffff\1\30\1\uffff\1\7\1\21\3\1\23\uffff\17\1\1\uffff\1\1\1\uffff\4\1\6\uffff\1\1\4\uffff\2\1",
"",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
"\1\70\2\1\14\uffff\1\1\12\uffff\1\1\3\uffff\1\1\53\uffff\1\1\2\uffff\23\1\26\uffff\1\1\1\uffff\1\1\4\uffff\1\1",
""
};
static final char[] dfa_82 = DFA.unpackEncodedStringToUnsignedChars(dfa_82s);
static final short[][] dfa_83 = unpackEncodedStringArray(dfa_83s);
class DFA239 extends DFA {
public DFA239(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 239;
this.eot = dfa_1;
this.eof = dfa_1;
this.min = dfa_38;
this.max = dfa_82;
this.accept = dfa_40;
this.special = dfa_5;
this.transition = dfa_83;
}
public String getDescription() {
return "10563:5: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS )";
}
}
private static class FollowSets000 {
public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000A00000020002L});
public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000200000020002L});
public static final BitSet FOLLOW_5 = new BitSet(new long[]{0xAFFEEFF9FE020180L,0x000000000D5FBD52L});
public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x00000000005C0000L});
public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000580000L});
public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000500000L});
public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000222000220000L,0x0000000004009000L});
public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000040000L});
public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0xF000000000000000L,0x0000000000000001L});
public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000100002L});
public static final BitSet FOLLOW_14 = new BitSet(new long[]{0xAFFEEFF9FE260180L,0x000000000D5FBD52L});
public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000001800000L});
public static final BitSet FOLLOW_16 = new BitSet(new long[]{0xAFFEEFF9FE060180L,0x000000000D5FBD52L});
public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000200000L});
public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000080000L});
public static final BitSet FOLLOW_19 = new BitSet(new long[]{0xAFFFEFFBFE0201D0L,0xFFFC00007D5FBD52L,0x00000000001840F5L});
public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000400000L});
public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000010000000L});
public static final BitSet FOLLOW_22 = new BitSet(new long[]{0xAFFEEFF9FE460180L,0x000000000D5FBD52L});
public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000060C00000L});
public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000040400000L});
public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000100000L});
public static final BitSet FOLLOW_26 = new BitSet(new long[]{0xAFFEEFF9FE220180L,0x000000000D5FBD52L});
public static final BitSet FOLLOW_27 = new BitSet(new long[]{0xAFFFEFFBFE0201D0L,0xFFFC00007D5FBD52L,0x00000000001040F5L});
public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000A00000L});
public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000200000000L});
public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_31 = new BitSet(new long[]{0xAFFEEFF9FE120180L,0x000000000D5FBD52L});
public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000001800000002L});
public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000001000000002L});
public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000C00000L});
public static final BitSet FOLLOW_35 = new BitSet(new long[]{0xAFFFEFFBFE0601D0L,0xFFFC00007D5FBD52L,0x00000000001840F5L});
public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000008000000000L});
public static final BitSet FOLLOW_37 = new BitSet(new long[]{0xAFFEEFFDFE020180L,0x000000000D5FBD52L});
public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000400800000L});
public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000020500000L});
public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000060000000000L});
public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000040000000000L});
public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000080000100000L});
public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0004000000200000L});
public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000100000000000L});
public static final BitSet FOLLOW_45 = new BitSet(new long[]{0xAFFEEFF9FE020182L,0xFFFC00000D5FBD52L,0x0000000000000001L});
public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000400000100000L});
public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000900000L});
public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x074007C080200000L,0x0000000000100000L});
public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x070007C080200000L,0x0000000000100000L});
public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x070007C000200000L,0x0000000000100000L});
public static final BitSet FOLLOW_51 = new BitSet(new long[]{0xAFFEEFF9FE020190L,0x000000000D5FBD52L});
public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000100000400000L});
public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0001000000000000L});
public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000CC0000L});
public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000480000L});
public static final BitSet FOLLOW_56 = new BitSet(new long[]{0xAFFFEFFBFE2201D0L,0xFFFC00007D5FBD52L,0x00000000001840F5L});
public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0600000000000000L});
public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0400000000000000L});
public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0500000000000000L});
public static final BitSet FOLLOW_61 = new BitSet(new long[]{0xF800004000000000L,0x00000000000003FFL});
public static final BitSet FOLLOW_62 = new BitSet(new long[]{0xF800004000A00000L,0x00000000000003FFL});
public static final BitSet FOLLOW_63 = new BitSet(new long[]{0xF800004000200000L,0x00000000000003FFL});
public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000000200000L,0x0000000000000C00L});
public static final BitSet FOLLOW_65 = new BitSet(new long[]{0xAFFFEFFBFE4201F0L,0xFFFC00007D5FBD52L,0x00000000001840F5L});
public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x00A8000000200000L});
public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000000400002L});
public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000200540000L});
public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000000000540000L});
public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000200000L,0x0000000000006000L});
public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000200180L,0x0000000000010000L});
public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000000000040L,0x0000000010000000L});
public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0200000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0100000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_77 = new BitSet(new long[]{0xAFFEEFFBFE020180L,0x000000000D5FBD52L});
public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000000540000L,0x0000000000040000L});
public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000500000L,0x0000000000040000L});
public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000D00000L});
public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x9800000000000000L,0x0000000000000031L});
public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x9800000000A00000L,0x0000000000000031L});
public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x9800000000200000L,0x0000000000000031L});
public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000000000200000L,0x0000000000080000L});
public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000000000140002L});
public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x8000000000000000L,0x0000000000000031L});
public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x8000000000A00000L,0x0000000000000031L});
public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x8000000000200000L,0x0000000000000031L});
public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0200000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0100000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x00000000005C0000L,0x0000000000200000L});
public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x9800004000000000L,0x0000000003C003FFL});
public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x9800004000A00000L,0x0000000003C003FFL});
public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x9800004000200000L,0x0000000003C003FFL});
public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000001000400000L});
public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000400200540000L});
public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000400000540000L});
public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000D40000L});
public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0000000000200000L,0x0000000008000000L});
public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x070007C000200000L,0x0000000000120000L});
public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x00A8000000300000L});
public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0000000000000040L});
public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000100000000002L});
public static final BitSet FOLLOW_106 = new BitSet(new long[]{0xAFFEEFF9FE020180L,0xFFFC00000D5FBD52L,0x0000000000000001L});
public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000000200000002L});
public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000400000000L,0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_110 = new BitSet(new long[]{0xAFFFEFFBFE2601D0L,0xFFFC00007D5FBD52L,0x00000000001840F5L});
public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000002L});
public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000000000180L});
public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x00000000000C0000L});
public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0000000000000012L});
public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0001000000080002L,0x0003FFFF90000000L});
public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000200100002L,0x0000000000000000L,0x0000000000000500L});
public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000000000100002L,0x0000000000000000L,0x0000000000000100L});
public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000100L});
public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
public static final BitSet FOLLOW_121 = new BitSet(new long[]{0xAFFEEFF9FE220190L,0x000000000D5FBD52L});
public static final BitSet FOLLOW_122 = new BitSet(new long[]{0xAFFFEFFFFE0601D0L,0xFFFC00007D5FBD52L,0x00000000001840F5L});
public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x0000000400C00000L,0x0000000000000000L,0x0000000000002000L});
public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0000000000800000L,0x0000000000000000L,0x0000000000000800L});
public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x0000000000040002L,0x0000000000000000L,0x0000000000001008L});
public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x0000000000080002L});
public static final BitSet FOLLOW_127 = new BitSet(new long[]{0x0000000000080002L,0x0000000000000000L,0x0000000000000008L});
public static final BitSet FOLLOW_128 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000001008L});
public static final BitSet FOLLOW_129 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000001000L});
public static final BitSet FOLLOW_130 = new BitSet(new long[]{0x0000000000040002L});
public static final BitSet FOLLOW_131 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000008000L});
public static final BitSet FOLLOW_132 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000050000L});
public static final BitSet FOLLOW_133 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
public static final BitSet FOLLOW_134 = new BitSet(new long[]{0x0000000000800000L,0x0000000000000000L,0x0000000000001000L});
public static final BitSet FOLLOW_135 = new BitSet(new long[]{0x00000002000C0000L});
public static final BitSet FOLLOW_136 = new BitSet(new long[]{0x0001000000000040L});
public static final BitSet FOLLOW_137 = new BitSet(new long[]{0x0001000000000040L,0x0000000100000000L,0x0000000000800000L});
public static final BitSet FOLLOW_138 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000600800L});
public static final BitSet FOLLOW_139 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000800L});
public static final BitSet FOLLOW_140 = new BitSet(new long[]{0x0000400000000002L});
public static final BitSet FOLLOW_141 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000001000000L});
}
}